17 #ifndef __deal2__dof_objects_h
18 #define __deal2__dof_objects_h
21 #include <deal.II/base/config.h>
33 template <
int>
class DoFLevel;
34 template <
int>
class DoFFaces;
71 std::vector<types::global_dof_index>
dofs;
101 template <
int dh_dim,
int spacedim>
103 set_dof_index (const ::DoFHandler<dh_dim,spacedim> &dof_handler,
104 const unsigned int obj_index,
105 const unsigned int fe_index,
106 const unsigned int local_index,
134 template <
int dh_dim,
int spacedim>
136 get_dof_index (const ::DoFHandler<dh_dim,spacedim> &dof_handler,
137 const unsigned int obj_index,
138 const unsigned int fe_index,
139 const unsigned int local_index)
const;
149 template <
int dh_dim,
int spacedim>
160 template <
int dh_dim,
int spacedim>
164 const unsigned int fe_index)
const;
177 template <
class Archive>
179 const unsigned int version);
189 template <
int>
friend class DoFFaces;
196 template <
int dh_dim,
int spacedim>
208 template <
int dh_dim,
int spacedim>
213 const unsigned int fe_index)
const
216 ExcMessage (
"Only zero fe_index values are allowed for "
217 "non-hp DoFHandlers."));
224 template <
int dh_dim,
int spacedim>
229 const unsigned int obj_index,
230 const unsigned int fe_index,
231 const unsigned int local_index)
const
234 ExcMessage (
"Only the default FE index is allowed for non-hp DoFHandler objects"));
235 Assert (local_index<dof_handler.get_fe().template n_dofs_per_object<dim>(),
236 ExcIndexRange (local_index, 0, dof_handler.get_fe().template n_dofs_per_object<dim>()));
237 Assert (obj_index * dof_handler.get_fe().template n_dofs_per_object<dim>()+local_index
242 return dofs[obj_index * dof_handler.get_fe()
243 .template n_dofs_per_object<dim>() + local_index];
248 template <
class Archive>
258 DEAL_II_NAMESPACE_CLOSE
std::vector< types::global_dof_index > dofs
::ExceptionBase & ExcMessage(std::string arg1)
void serialize(Archive &ar, const unsigned int version)
unsigned int global_dof_index
unsigned int n_active_fe_indices(const ::DoFHandler< dh_dim, spacedim > &dof_handler, const types::global_dof_index index) const
#define Assert(cond, exc)
void set_dof_index(const ::DoFHandler< dh_dim, spacedim > &dof_handler, const unsigned int obj_index, const unsigned int fe_index, const unsigned int local_index, const types::global_dof_index global_index)
types::global_dof_index get_dof_index(const ::DoFHandler< dh_dim, spacedim > &dof_handler, const unsigned int obj_index, const unsigned int fe_index, const unsigned int local_index) const
::ExceptionBase & ExcIndexRange(int arg1, int arg2, int arg3)
bool fe_index_is_active(const ::DoFHandler< dh_dim, spacedim > &dof_handler, const types::global_dof_index index, const unsigned int fe_index) const
::ExceptionBase & ExcInternalError()
std::size_t memory_consumption() const