Reference documentation for deal.II version Git 2d4709995d 2021-02-24 20:25:03 -0700
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
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_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 void reserve_space (::DoFHandler< 2, spacedim > &dof_handler)
 
template<int spacedim>
static void reserve_space (::DoFHandler< 3, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static void communicate_active_fe_indices (DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static void collect_fe_indices_on_cells_to_be_refined (DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static void distribute_fe_indices_on_refined_cells (DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
static unsigned int determine_fe_from_children (const typename Triangulation< dim, spacedim >::cell_iterator &, 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 1010 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 1019 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 1039 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 1172 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 1231 of file dof_handler.cc.

◆ reserve_space() [1/3]

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 1504 of file dof_handler.cc.

◆ reserve_space() [2/3]

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

Definition at line 1528 of file dof_handler.cc.

◆ reserve_space() [3/3]

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

Definition at line 1554 of file dof_handler.cc.

◆ communicate_active_fe_indices()

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

Given a DoFHandler object in hp-mode, 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 1712 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 ( 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 1829 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 ( 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 1898 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 typename Triangulation< dim, spacedim >::cell_iterator &  ,
const std::vector< unsigned int > &  children_fe_indices,
::hp::FECollection< dim, spacedim > &  fe_collection 
)
inlinestatic

Coarsening strategy for the CellDataTransfer object responsible for transferring 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 1953 of file dof_handler.cc.


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