16 #include <deal.II/dofs/dof_accessor.h> 17 #include <deal.II/dofs/dof_handler.h> 18 #include <deal.II/dofs/dof_levels.h> 20 #include <deal.II/fe/fe.h> 22 #include <deal.II/grid/tria_iterator.h> 23 #include <deal.II/grid/tria_iterator.templates.h> 25 #include <deal.II/hp/dof_handler.h> 29 DEAL_II_NAMESPACE_OPEN
33 template <
int structdim,
typename DoFHandlerType,
bool level_dof_access>
37 template <
int structdim,
typename DoFHandlerType,
bool level_dof_access>
45 template <
int structdim,
int dim,
int spacedim>
53 ExcMessage(
"You are attempting an illegal conversion between " 54 "iterator/accessor types. The constructor you call " 55 "only exists to make certain template constructs " 56 "easier to write as dimension independent code but " 57 "the conversion is not valid in the current context."));
62 template <
int structdim,
int dim,
int spacedim>
69 ExcMessage(
"You are attempting an illegal conversion between " 70 "iterator/accessor types. The constructor you call " 71 "only exists to make certain template constructs " 72 "easier to write as dimension independent code but " 73 "the conversion is not valid in the current context."));
78 template <
int structdim,
int dim,
int spacedim>
83 const unsigned int)
const 94 template <
typename DoFHandlerType,
bool lda>
98 Assert(static_cast<unsigned int>(this->present_level) <
99 this->dof_handler->levels.size(),
102 Assert(this->dof_handler !=
nullptr,
typename BaseClass::ExcInvalidObject());
104 internal::DoFCellAccessorImplementation::Implementation::
105 update_cell_dof_indices_cache(*
this);
110 template <
typename DoFHandlerType,
bool lda>
113 const std::vector<types::global_dof_index> &local_dof_indices)
115 Assert(static_cast<unsigned int>(this->present_level) <
116 this->dof_handler->levels.size(),
119 Assert(this->dof_handler !=
nullptr,
typename BaseClass::ExcInvalidObject());
121 internal::DoFCellAccessorImplementation::Implementation::set_dof_indices(
122 *
this, local_dof_indices);
127 template <
typename DoFHandlerType,
bool lda>
130 const unsigned int face,
131 const unsigned int subface)
const 141 template <
typename DoFHandlerType,
bool lda>
144 const unsigned int face,
145 const unsigned int subface)
const 156 template <
typename DoFHandlerType,
bool lda>
159 const unsigned int face)
const 169 template <
typename DoFHandlerType,
bool lda>
172 const unsigned int face)
const 184 #include "dof_accessor.inst" 186 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
typename InvalidAccessor< structdim, dim, spacedim >::AccessorData AccessorData
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)
#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
unsigned int global_dof_index
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()