template <int dim>
+inline
const DoFHandler<dim> &
DoFAccessor<dim>::get_dof_handler () const
{
+template <int dim>
+inline
+const FiniteElement<dim> &
+DoFAccessor<dim>::get_fe () const
+{
+ return *dof_handler->selected_fe;
+}
+
+
+
template <int dim>
inline
DoFAccessor<dim> &
Assert (this->dof_handler != 0, typename BaseClass::ExcInvalidObject());
// make sure a FE has been selected
// and enough room was reserved
- Assert (this->dof_handler->selected_fe != 0, typename BaseClass::ExcInvalidObject());
- Assert (i<this->dof_handler->selected_fe->dofs_per_line,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_line));
+ Assert (&this->get_fe() != 0, typename BaseClass::ExcInvalidObject());
+ Assert (i<this->get_fe().dofs_per_line,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_line));
return this->dof_handler->levels[this->present_level]
- ->line_dofs[this->present_index*this->dof_handler->selected_fe->dofs_per_line+i];
+ ->line_dofs[this->present_index*this->get_fe().dofs_per_line+i];
}
typedef DoFAccessor<dim> BaseClass;
Assert (this->dof_handler != 0, typename BaseClass::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0, typename BaseClass::ExcInvalidObject());
+ Assert (&this->get_fe() != 0, typename BaseClass::ExcInvalidObject());
Assert (vertex<2, ExcIndexRange (i,0,2));
- Assert (i<this->dof_handler->selected_fe->dofs_per_vertex,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_vertex));
+ Assert (i<this->get_fe().dofs_per_vertex,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_vertex));
const unsigned int dof_number = (this->vertex_index(vertex) *
- this->dof_handler->selected_fe->dofs_per_vertex +
+ this->get_fe().dofs_per_vertex +
i);
return this->dof_handler->vertex_dofs[dof_number];
}
typedef DoFAccessor<dim> BaseClass;
Assert (this->dof_handler != 0, typename BaseClass::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0, typename BaseClass::ExcInvalidObject());
+ Assert (&this->get_fe() != 0, typename BaseClass::ExcInvalidObject());
Assert (dof_indices.size() == (2*this->dof_handler->get_fe().dofs_per_vertex +
this->dof_handler->get_fe().dofs_per_line),
typename BaseClass::ExcVectorDoesNotMatch());
typename DoFAccessor<dim>::ExcInvalidObject());
// make sure a FE has been selected
// and enough room was reserved
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (i<this->dof_handler->selected_fe->dofs_per_quad,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_quad));
+ Assert (i<this->get_fe().dofs_per_quad,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_quad));
return this->dof_handler->levels[this->present_level]
- ->quad_dofs[this->present_index*this->dof_handler->selected_fe->dofs_per_quad+i];
+ ->quad_dofs[this->present_index*this->get_fe().dofs_per_quad+i];
}
{
Assert (this->dof_handler != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
Assert (vertex<4, ExcIndexRange (i,0,4));
- Assert (i<this->dof_handler->selected_fe->dofs_per_vertex,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_vertex));
+ Assert (i<this->get_fe().dofs_per_vertex,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_vertex));
const unsigned int dof_number = (this->vertex_index(vertex) *
- this->dof_handler->selected_fe->dofs_per_vertex +
+ this->get_fe().dofs_per_vertex +
i);
return this->dof_handler->vertex_dofs[dof_number];
}
{
Assert (this->dof_handler != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
Assert (dof_indices.size() == (4*this->dof_handler->get_fe().dofs_per_vertex +
4*this->dof_handler->get_fe().dofs_per_line +
typename DoFAccessor<dim>::ExcInvalidObject());
// make sure a FE has been selected
// and enough room was reserved
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (i<this->dof_handler->selected_fe->dofs_per_hex,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_hex));
+ Assert (i<this->get_fe().dofs_per_hex,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_hex));
return this->dof_handler->levels[this->present_level]
- ->hex_dofs[this->present_index*this->dof_handler->selected_fe->dofs_per_hex+i];
+ ->hex_dofs[this->present_index*this->get_fe().dofs_per_hex+i];
}
{
Assert (this->dof_handler != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
Assert (vertex<8, ExcIndexRange (i,0,8));
- Assert (i<this->dof_handler->selected_fe->dofs_per_vertex,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_vertex));
+ Assert (i<this->get_fe().dofs_per_vertex,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_vertex));
const unsigned int dof_number = (this->vertex_index(vertex) *
- this->dof_handler->selected_fe->dofs_per_vertex +
+ this->get_fe().dofs_per_vertex +
i);
return this->dof_handler->vertex_dofs[dof_number];
}
{
Assert (this->dof_handler != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
Assert (dof_indices.size() == (8*this->dof_handler->get_fe().dofs_per_vertex +
12*this->dof_handler->get_fe().dofs_per_line +
typename DoFAccessor<dim>::ExcInvalidObject());
// make sure a FE has been selected
// and enough room was reserved
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (i<this->dof_handler->selected_fe->dofs_per_line,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_line));
+ Assert (i<this->get_fe().dofs_per_line,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_line));
this->dof_handler->levels[this->present_level]
- ->line_dofs[this->present_index*this->dof_handler->selected_fe->dofs_per_line+i] = index;
+ ->line_dofs[this->present_index*this->get_fe().dofs_per_line+i] = index;
}
Assert (this->dof_handler != 0,
typename BaseClass::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename BaseClass::ExcInvalidObject());
Assert (vertex<2, ExcIndexRange (i,0,2));
- Assert (i<this->dof_handler->selected_fe->dofs_per_vertex,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_vertex));
+ Assert (i<this->get_fe().dofs_per_vertex,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_vertex));
const unsigned int dof_number = (this->vertex_index(vertex) *
- this->dof_handler->selected_fe->dofs_per_vertex +
+ this->get_fe().dofs_per_vertex +
i);
this->dof_handler->vertex_dofs[dof_number] = index;
}
Assert (this->dof_handler != 0,
typename BaseClass::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename BaseClass::ExcInvalidObject());
Assert (local_source.size() == (2*this->dof_handler->get_fe().dofs_per_vertex +
this->dof_handler->get_fe().dofs_per_line),
Assert (this->dof_handler != 0,
typename BaseClass::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename BaseClass::ExcInvalidObject());
Assert (local_source.m() == (2*this->dof_handler->get_fe().dofs_per_vertex +
this->dof_handler->get_fe().dofs_per_line),
typename DoFAccessor<dim>::ExcInvalidObject());
// make sure a FE has been selected
// and enough room was reserved
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (i<this->dof_handler->selected_fe->dofs_per_quad,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_quad));
+ Assert (i<this->get_fe().dofs_per_quad,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_quad));
this->dof_handler->levels[this->present_level]
- ->quad_dofs[this->present_index*this->dof_handler->selected_fe->dofs_per_quad+i] = index;
+ ->quad_dofs[this->present_index*this->get_fe().dofs_per_quad+i] = index;
}
{
Assert (this->dof_handler != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
Assert (vertex<4, ExcIndexRange (i,0,4));
- Assert (i<this->dof_handler->selected_fe->dofs_per_vertex,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_vertex));
+ Assert (i<this->get_fe().dofs_per_vertex,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_vertex));
const unsigned int dof_number = (this->vertex_index(vertex) *
- this->dof_handler->selected_fe->dofs_per_vertex +
+ this->get_fe().dofs_per_vertex +
i);
this->dof_handler->vertex_dofs[dof_number] = index;
}
Vector<double> &global_destination) const {
Assert (this->dof_handler != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
Assert (local_source.size() == (4*this->dof_handler->get_fe().dofs_per_vertex +
4*this->dof_handler->get_fe().dofs_per_line +
SparseMatrix<double> &global_destination) const {
Assert (this->dof_handler != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
Assert (local_source.m() == (4*this->dof_handler->get_fe().dofs_per_vertex +
4*this->dof_handler->get_fe().dofs_per_line +
typename DoFAccessor<dim>::ExcInvalidObject());
// make sure a FE has been selected
// and enough room was reserved
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (i<this->dof_handler->selected_fe->dofs_per_hex,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_hex));
+ Assert (i<this->get_fe().dofs_per_hex,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_hex));
this->dof_handler->levels[this->present_level]
- ->hex_dofs[this->present_index*this->dof_handler->selected_fe->dofs_per_hex+i] = index;
+ ->hex_dofs[this->present_index*this->get_fe().dofs_per_hex+i] = index;
}
{
Assert (this->dof_handler != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
Assert (vertex<8,
ExcIndexRange (i,0,8));
- Assert (i<this->dof_handler->selected_fe->dofs_per_vertex,
- ExcIndexRange (i, 0, this->dof_handler->selected_fe->dofs_per_vertex));
+ Assert (i<this->get_fe().dofs_per_vertex,
+ ExcIndexRange (i, 0, this->get_fe().dofs_per_vertex));
const unsigned int dof_number = (this->vertex_index(vertex) *
- this->dof_handler->selected_fe->dofs_per_vertex +
+ this->get_fe().dofs_per_vertex +
i);
this->dof_handler->vertex_dofs[dof_number] = index;
}
{
Assert (this->dof_handler != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
Assert (local_source.size() == (8*this->dof_handler->get_fe().dofs_per_vertex +
12*this->dof_handler->get_fe().dofs_per_line +
{
Assert (this->dof_handler != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
- Assert (this->dof_handler->selected_fe != 0,
+ Assert (&this->get_fe() != 0,
typename DoFAccessor<dim>::ExcInvalidObject());
Assert (local_source.m() == (8*this->dof_handler->get_fe().dofs_per_vertex +
12*this->dof_handler->get_fe().dofs_per_line +