16 #include <deal.II/dofs/dof_accessor.h> 17 #include <deal.II/dofs/dof_handler.h> 18 #include <deal.II/dofs/dof_levels.h> 19 #include <deal.II/hp/dof_handler.h> 20 #include <deal.II/grid/tria_boundary.h> 21 #include <deal.II/grid/tria_iterator.h> 22 #include <deal.II/grid/tria_iterator.templates.h> 23 #include <deal.II/fe/fe.h> 27 DEAL_II_NAMESPACE_OPEN
31 template <
int structdim,
typename DoFHandlerType,
bool level_dof_access>
34 template <
int structdim,
typename DoFHandlerType,
bool level_dof_access>
41 template <
int structdim,
int dim,
int spacedim>
49 ExcMessage (
"You are attempting an illegal conversion between " 50 "iterator/accessor types. The constructor you call " 51 "only exists to make certain template constructs " 52 "easier to write as dimension independent code but " 53 "the conversion is not valid in the current context."));
58 template <
int structdim,
int dim,
int spacedim>
65 ExcMessage (
"You are attempting an illegal conversion between " 66 "iterator/accessor types. The constructor you call " 67 "only exists to make certain template constructs " 68 "easier to write as dimension independent code but " 69 "the conversion is not valid in the current context."));
74 template <
int structdim,
int dim,
int spacedim>
79 const unsigned int)
const 91 template <
typename DoFHandlerType,
bool lda>
95 Assert (static_cast<unsigned int>(this->present_level) < this->dof_handler->levels.size(),
98 Assert (this->dof_handler !=
nullptr,
typename BaseClass::ExcInvalidObject());
100 internal::DoFCellAccessorImplementation::Implementation::
101 update_cell_dof_indices_cache (*
this);
106 template <
typename DoFHandlerType,
bool lda>
110 Assert (static_cast<unsigned int>(this->present_level) < this->dof_handler->levels.size(),
113 Assert (this->dof_handler !=
nullptr,
typename BaseClass::ExcInvalidObject());
115 internal::DoFCellAccessorImplementation::Implementation::
116 set_dof_indices (*
this, local_dof_indices);
122 template <
typename DoFHandlerType,
bool lda>
125 const unsigned int subface)
const 134 template <
typename DoFHandlerType,
bool lda>
137 const unsigned int subface)
const 146 template <
typename DoFHandlerType,
bool lda>
158 template <
typename DoFHandlerType,
bool lda>
173 #include "dof_accessor.inst" 175 DEAL_II_NAMESPACE_CLOSE
void set_dof_index(const unsigned int i, const types::global_dof_index index, const unsigned int fe_index=DoFHandler< dim, spacedim >::default_fe_index) const
TriaIterator< CellAccessor< dim, spacedim > > neighbor_or_periodic_neighbor(const unsigned int i) const
TriaIterator< DoFCellAccessor< DoFHandlerType, level_dof_access > > periodic_neighbor(const unsigned int i) const
TriaIterator< CellAccessor< dim, spacedim > > neighbor_child_on_subface(const unsigned int face_no, const unsigned int subface_no) const
void update_cell_dof_indices_cache() const
static ::ExceptionBase & ExcMessage(std::string arg1)
unsigned int global_dof_index
#define Assert(cond, exc)
TriaIterator< DoFCellAccessor< DoFHandlerType, level_dof_access > > neighbor_child_on_subface(const unsigned int face_no, const unsigned int subface_no) const
void set_dof_indices(const std::vector< types::global_dof_index > &dof_indices)
TriaIterator< DoFCellAccessor< DoFHandlerType, level_dof_access > > neighbor_or_periodic_neighbor(const unsigned int i) const
TriaIterator< CellAccessor< dim, spacedim > > periodic_neighbor_child_on_subface(const unsigned int face_no, const unsigned int subface_no) const
InvalidAccessor< structdim, dim, spacedim >::AccessorData AccessorData
DoFInvalidAccessor(const Triangulation< dim, spacedim > *parent=0, const int level=-1, const int index=-1, const AccessorData *local_data=0)
TriaIterator< CellAccessor< dim, spacedim > > periodic_neighbor(const unsigned int i) const
TriaIterator< DoFCellAccessor< DoFHandlerType, level_dof_access > > periodic_neighbor_child_on_subface(const unsigned int face_no, const unsigned int subface_no) const
static ::ExceptionBase & ExcInternalError()