unsigned int
DoFAccessor<dim,DH>::n_active_fe_indices () const
{
- if (dim == DH::dimension)
- Assert (this->has_children() == false,
- ExcMessage ("You can't query information about active FE indices on "
- "cells that have children and are therefore not active."));
-
// access the respective DoF
return
dealii::internal::DoFAccessor::Implementation::
unsigned int
DoFAccessor<dim,DH>::nth_active_fe_index (const unsigned int n) const
{
- if (dim == DH::dimension)
- Assert (this->has_children() == false,
- ExcMessage ("You can't query information about active FE indices on "
- "cells that have children and are therefore not active."));
-
// access the respective DoF
return
dealii::internal::DoFAccessor::Implementation::
bool
DoFAccessor<dim,DH>::fe_index_is_active (const unsigned int fe_index) const
{
- if (dim == DH::dimension)
- Assert (this->has_children() == false,
- ExcMessage ("You can't query information about active FE indices on "
- "cells that have children and are therefore not active."));
-
// access the respective DoF
return
dealii::internal::DoFAccessor::Implementation::
unsigned int
DoFCellAccessor<DH>::active_fe_index () const
{
- Assert (this->active(),
- ExcMessage ("You can't query information about active FE indices on "
- "cells that have children and are therefore not active."));
-
return dealii::internal::DoFCellAccessor::Implementation::active_fe_index (*this);
}
void
DoFCellAccessor<DH>::set_active_fe_index (const unsigned int i)
{
- Assert (this->active(),
- ExcMessage ("You can't query information about active FE indices on "
- "cells that have children and are therefore not active."));
-
dealii::internal::DoFCellAccessor::Implementation::set_active_fe_index (*this, i);
}
if (cell->has_children () &&
!(*has_children [cell->level ()])[cell->index ()])
{
- // Set active_fe_index in
- // children to the same value
- // as in the parent
- // cell. note that we can't
- // access the active fe index
- // of an inactive cell any
- // more via
- // cell->active_fe_index, so
- // we have to do it through a
- // more indirect way
+ // Set active_fe_index in children to the
+ // same value as in the parent cell.
for (unsigned int i = 0; i < cell->n_children(); ++i)
- cell->child (i)->set_active_fe_index (levels[cell->level()]
- ->active_fe_indices[cell->index()]);
+ cell->child (i)->set_active_fe_index (cell->active_fe_index ());
}
}
}