 |
Reference documentation for deal.II version 9.1.1
|
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
16 #ifndef dealii_hp_dof_level_h
17 #define dealii_hp_dof_level_h
20 #include <deal.II/base/config.h>
22 #include <deal.II/base/exceptions.h>
27 DEAL_II_NAMESPACE_OPEN
42 namespace DoFHandlerImplementation
44 struct Implementation;
47 namespace DoFCellAccessorImplementation
49 struct Implementation;
222 const unsigned int fe_index,
223 const unsigned int local_index,
239 const unsigned int fe_index,
240 const unsigned int local_index)
const;
254 const unsigned int fe_index)
const;
261 const unsigned int fe_index);
275 const unsigned int fe_index);
302 const unsigned int dofs_per_cell)
const;
315 template <
class Archive>
317 serialize(Archive &ar,
const unsigned int version);
328 template <
int dim,
int spacedim>
331 const ::hp::FECollection<dim, spacedim> &fe_collection);
341 template <
int dim,
int spacedim>
344 const ::hp::FECollection<dim, spacedim> &fe_collection);
373 friend class ::hp::DoFHandler;
374 friend struct ::internal::hp::DoFHandlerImplementation::
376 friend struct ::internal::DoFCellAccessorImplementation::
387 return (static_cast<signed_active_fe_index_type>(
active_fe_index) < 0);
398 return static_cast<active_fe_index_type>(
406 const unsigned int fe_index,
407 const unsigned int local_index)
const
416 ExcMessage(
"You are trying to access degree of freedom "
417 "information for an object on which no such "
418 "information is available"));
424 ExcMessage(
"FE index does not match that of the present cell"));
438 const unsigned int fe_index,
439 const unsigned int local_index,
450 ExcMessage(
"You are trying to access degree of freedom "
451 "information for an object on which no such "
452 "information is available"));
456 "This function can no longer be called after compressing the dof_indices array"));
458 ExcMessage(
"FE index does not match that of the present cell"));
480 const unsigned int fe_index)
const
489 const unsigned int fe_index)
501 "You are using an active_fe_index that is larger than an "
502 "internal limitation for these objects. Try to work with "
503 "hp::FECollection objects that have a more modest size."));
506 "You are using an active_fe_index that is reserved for "
507 "internal purposes for these objects. Try to work with "
508 "hp::FECollection objects that have a more modest size."));
531 const unsigned int fe_index)
543 "You are using a future_fe_index that is larger than an "
544 "internal limitation for these objects. Try to work with "
545 "hp::FECollection objects that have a more modest size."));
548 "You are using a future_fe_index that is reserved for "
549 "internal purposes for these objects. Try to work with "
550 "hp::FECollection objects that have a more modest size."));
581 const unsigned int dofs_per_cell)
const
589 "You are trying to access an element of the cache that stores "
590 "the indices of all degrees of freedom that live on one cell. "
591 "However, this element does not exist. Did you forget to call "
592 "DoFHandler::distribute_dofs(), or did you forget to call it "
593 "again after changing the active_fe_index of one of the cells?"));
600 template <
class Archive>
615 DEAL_II_NAMESPACE_CLOSE
std::vector< types::global_dof_index > dof_indices
unsigned int future_fe_index(const unsigned int obj_index) const
std::vector< offset_type > dof_offsets
void set_dof_index(const unsigned int obj_index, const unsigned int fe_index, const unsigned int local_index, const types::global_dof_index global_index)
void normalize_active_fe_indices()
signed short int signed_active_fe_index_type
types::global_dof_index get_dof_index(const unsigned int obj_index, const unsigned int fe_index, const unsigned int local_index) const
bool fe_index_is_active(const unsigned int obj_index, const unsigned int fe_index) const
std::vector< offset_type > cell_cache_offsets
void set_future_fe_index(const unsigned int obj_index, const unsigned int fe_index)
static const active_fe_index_type invalid_active_fe_index
static bool is_compressed_entry(const active_fe_index_type active_fe_index)
const types::global_dof_index * get_cell_cache_start(const unsigned int obj_index, const unsigned int dofs_per_cell) const
static ::ExceptionBase & ExcIndexRange(int arg1, int arg2, int arg3)
static ::ExceptionBase & ExcMessage(std::string arg1)
unsigned int global_dof_index
unsigned int active_fe_index(const unsigned int obj_index) const
void serialize(Archive &ar, const unsigned int version)
std::vector< active_fe_index_type > future_fe_indices
static active_fe_index_type get_toggled_compression_state(const active_fe_index_type active_fe_index)
void set_active_fe_index(const unsigned int obj_index, const unsigned int fe_index)
std::size_t memory_consumption() const
std::vector< active_fe_index_type > active_fe_indices
std::vector< types::global_dof_index > cell_dof_indices_cache
bool future_fe_index_set(const unsigned int obj_index) const
#define Assert(cond, exc)
void uncompress_data(const ::hp::FECollection< dim, spacedim > &fe_collection)
unsigned short int active_fe_index_type
void clear_future_fe_index(const unsigned int obj_index)
void compress_data(const ::hp::FECollection< dim, spacedim > &fe_collection)