Reference documentation for deal.II version Git a3b517947a 2019-09-22 22:52:08 -0400
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
Static Public Member Functions | List of all members
internal::hp::DoFHandlerImplementation::Implementation Struct Reference

Static Public Member Functions

template<int dim, int spacedim>
static void ensure_absence_of_future_fe_indices (DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static void reserve_space_release_space (DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static void reserve_space_vertices (DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static void reserve_space_cells (DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static void reserve_space_faces (DoFHandler< dim, spacedim > &dof_handler)
 
template<int spacedim>
static void reserve_space (DoFHandler< 1, spacedim > &dof_handler)
 
template<int spacedim>
static unsigned int max_couplings_between_dofs (const DoFHandler< 1, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static void communicate_active_fe_indices (::hp::DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static void collect_fe_indices_on_cells_to_be_refined (::hp::DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static void distribute_fe_indices_on_refined_cells (::hp::DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static unsigned int determine_fe_from_children (const std::vector< unsigned int > &children_fe_indices, ::hp::FECollection< dim, spacedim > &fe_collection)
 

Detailed Description

A class with the same purpose as the similarly named class of the Triangulation class. See there for more information.

Definition at line 84 of file dof_handler.cc.

Member Function Documentation

◆ ensure_absence_of_future_fe_indices()

template<int dim, int spacedim>
static void internal::hp::DoFHandlerImplementation::Implementation::ensure_absence_of_future_fe_indices ( DoFHandler< dim, spacedim > &  dof_handler)
inlinestatic

No future_fe_indices should have been assigned when partitioning a triangulation, since they are only available locally and will not be communicated.

Definition at line 93 of file dof_handler.cc.

◆ reserve_space_release_space()

template<int dim, int spacedim>
static void internal::hp::DoFHandlerImplementation::Implementation::reserve_space_release_space ( DoFHandler< dim, spacedim > &  dof_handler)
inlinestatic

Do that part of reserving space that pertains to releasing the previously used memory.

Definition at line 113 of file dof_handler.cc.

◆ reserve_space_vertices()

template<int dim, int spacedim>
static void internal::hp::DoFHandlerImplementation::Implementation::reserve_space_vertices ( DoFHandler< dim, spacedim > &  dof_handler)
inlinestatic

Do that part of reserving space that pertains to vertices, since this is the same in all space dimensions.

Definition at line 159 of file dof_handler.cc.

◆ reserve_space_cells()

template<int dim, int spacedim>
static void internal::hp::DoFHandlerImplementation::Implementation::reserve_space_cells ( DoFHandler< dim, spacedim > &  dof_handler)
inlinestatic

Do that part of reserving space that pertains to cells, since this is the same in all space dimensions.

Definition at line 278 of file dof_handler.cc.

◆ reserve_space_faces()

template<int dim, int spacedim>
static void internal::hp::DoFHandlerImplementation::Implementation::reserve_space_faces ( DoFHandler< dim, spacedim > &  dof_handler)
inlinestatic

Do that part of reserving space that pertains to faces, since this is the same in all space dimensions.

Definition at line 373 of file dof_handler.cc.

◆ reserve_space()

template<int spacedim>
static void internal::hp::DoFHandlerImplementation::Implementation::reserve_space ( DoFHandler< 1, spacedim > &  dof_handler)
inlinestatic

Reserve enough space in the levels[] objects to store the numbers of the degrees of freedom needed for the given element. The given element is that one which was selected when calling distribute_dofs the last time.

Definition at line 694 of file dof_handler.cc.

◆ max_couplings_between_dofs()

template<int spacedim>
static unsigned int internal::hp::DoFHandlerImplementation::Implementation::max_couplings_between_dofs ( const DoFHandler< 1, spacedim > &  dof_handler)
inlinestatic

Implement the function of same name in the mother class.

Definition at line 866 of file dof_handler.cc.

◆ communicate_active_fe_indices()

template<int dim, int spacedim>
static void internal::hp::DoFHandlerImplementation::Implementation::communicate_active_fe_indices ( ::hp::DoFHandler< dim, spacedim > &  dof_handler)
inlinestatic

Given a hp::DoFHandler object, make sure that the active_fe_indices that a user has set for locally owned cells are communicated to all other relevant cells as well.

For parallel::shared::Triangulation objects, this information is distributed on both ghost and artificial cells.

In case a parallel::distributed::Triangulation is used, indices are communicated only to ghost cells.

Definition at line 989 of file dof_handler.cc.

◆ collect_fe_indices_on_cells_to_be_refined()

template<int dim, int spacedim>
static void internal::hp::DoFHandlerImplementation::Implementation::collect_fe_indices_on_cells_to_be_refined ( ::hp::DoFHandler< dim, spacedim > &  dof_handler)
inlinestatic

Collect all finite element indices on cells that will be affected by future refinement and coarsening. Further, prepare those indices to be distributed on on the updated triangulation later.

On cells to be refined, the active_fe_index will be inherited to their children and thus will be stored as such.

On cells to be coarsened, we choose the finite element on the parent cell from those assigned to their children to be the one that is dominated by all children. If none was found, we pick the most dominant element in the whole collection that is dominated by all children. See documentation of hp::FECollection::find_dominated_fe_extended() for further information.

On cells intended for p-refinement or p-coarsening, those active_fe_indices will be determined by the corresponding flags that have been set on the relevant cells.

Definition at line 1102 of file dof_handler.cc.

◆ distribute_fe_indices_on_refined_cells()

template<int dim, int spacedim>
static void internal::hp::DoFHandlerImplementation::Implementation::distribute_fe_indices_on_refined_cells ( ::hp::DoFHandler< dim, spacedim > &  dof_handler)
inlinestatic

Distribute active finite element indices that have been previously prepared in collect_fe_indices_on_cells_to_be_refined().

Definition at line 1185 of file dof_handler.cc.

◆ determine_fe_from_children()

template<int dim, int spacedim>
static unsigned int internal::hp::DoFHandlerImplementation::Implementation::determine_fe_from_children ( const std::vector< unsigned int > &  children_fe_indices,
::hp::FECollection< dim, spacedim > &  fe_collection 
)
inlinestatic

Coarsening strategy for the CellDataTransfer object responsible for tranferring the active_fe_index of each cell on parallel::distributed::Triangulation objects that have been refined.

A finite element index needs to be determined for the (not yet active) parent cell from its (still active) children. Out of the set of elements previously assigned to the former children, we choose the one dominated by all children for the parent cell.

Definition at line 1243 of file dof_handler.cc.


The documentation for this struct was generated from the following file: