deal.II version GIT relicensing-2167-g9622207b8f 2024-11-21 12:40:00+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
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 communicate_future_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 types::fe_index determine_fe_from_children (const typename Triangulation< dim, spacedim >::cell_iterator &, const std::vector< types::fe_index > &children_fe_indices, const ::hp::FECollection< dim, spacedim > &fe_collection)
 
template<int dim, int spacedim>
static types::fe_index dominated_future_fe_on_children (const typename DoFHandler< dim, spacedim >::cell_iterator &parent)
 

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 651 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 660 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 680 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 813 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 858 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 1056 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 1081 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 1108 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 1266 of file dof_handler.cc.

◆ communicate_future_fe_indices()

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

Same as above, but for future FE indices.

Given a DoFHandler object in hp-mode, make sure that the future 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 1376 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 1468 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 1539 of file dof_handler.cc.

◆ determine_fe_from_children()

template<int dim, int spacedim>
static types::fe_index internal::hp::DoFHandlerImplementation::Implementation::determine_fe_from_children ( const typename Triangulation< dim, spacedim >::cell_iterator &  ,
const std::vector< types::fe_index > &  children_fe_indices,
const ::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 1597 of file dof_handler.cc.

◆ dominated_future_fe_on_children()

template<int dim, int spacedim>
static types::fe_index internal::hp::DoFHandlerImplementation::Implementation::dominated_future_fe_on_children ( const typename DoFHandler< dim, spacedim >::cell_iterator &  parent)
inlinestatic

Return the index of the finite element from the entire hp::FECollection that is dominated by those assigned as future finite elements to the children of parent.

See documentation in the header file for more information.

Definition at line 1629 of file dof_handler.cc.


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