Reference documentation for deal.II version 9.4.1
|
#include <deal.II/matrix_free/hanging_nodes_internal.h>
Public Member Functions | |
HangingNodes (const Triangulation< dim > &triangualtion) | |
template<typename CellIterator > | |
bool | setup_constraints (const CellIterator &cell, const std::shared_ptr< const Utilities::MPI::Partitioner > &partitioner, const std::vector< std::vector< unsigned int > > &lexicographic_mapping, std::vector< types::global_dof_index > &dof_indices, const ArrayView< ConstraintKinds > &mask) const |
template<typename CellIterator > | |
ConstraintKinds | compute_refinement_configuration (const CellIterator &cell) const |
template<typename CellIterator > | |
void | update_dof_indices (const CellIterator &cell, const std::shared_ptr< const Utilities::MPI::Partitioner > &partitioner, const std::vector< std::vector< unsigned int > > &lexicographic_mapping, const std::vector< std::vector< bool > > &component_mask, const ConstraintKinds &refinement_configuration, std::vector< types::global_dof_index > &dof_indices) const |
Static Public Member Functions | |
static std::vector< std::vector< bool > > | compute_supported_components (const ::hp::FECollection< dim > &fe) |
Private Member Functions | |
void | setup_line_to_cell (const Triangulation< dim > &triangulation) |
void | rotate_subface_index (int times, unsigned int &subface_index) const |
void | rotate_face (int times, unsigned int n_dofs_1d, std::vector< types::global_dof_index > &dofs) const |
unsigned int | line_dof_idx (int local_line, unsigned int dof, unsigned int n_dofs_1d) const |
void | transpose_face (const unsigned int fe_degree, std::vector< types::global_dof_index > &dofs) const |
void | transpose_subface_index (unsigned int &subface) const |
void | setup_line_to_cell (const Triangulation< 3 > &triangulation) |
Private Attributes | |
std::vector< std::vector< std::pair< typename Triangulation< dim >::cell_iterator, unsigned int > > > | line_to_cells |
const ::ndarray< unsigned int, 3, 2, 2 > | local_lines |
This class creates the mask used in the treatment of hanging nodes in CUDAWrappers::MatrixFree. The implementation of this class is explained in Section 3 of [104] and in Section 3.4 of [99].
Definition at line 266 of file hanging_nodes_internal.h.
|
inline |
Constructor.
Definition at line 354 of file hanging_nodes_internal.h.
|
inline |
Compute the value of the constraint mask for a given cell.
Definition at line 827 of file hanging_nodes_internal.h.
|
inlinestatic |
Compute the supported components of all entries of the given hp::FECollection object.
Definition at line 465 of file hanging_nodes_internal.h.
|
inline |
Determine the refinement configuration of the given cell.
Definition at line 496 of file hanging_nodes_internal.h.
|
inline |
Update the DoF indices of a given cell for the given refinement configuration and for the given components.
Definition at line 581 of file hanging_nodes_internal.h.
|
inlineprivate |
Set up line-to-cell mapping for edge constraints in 3D.
Definition at line 367 of file hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 874 of file hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 889 of file hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 938 of file hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 970 of file hanging_nodes_internal.h.
|
private |
Definition at line 1006 of file hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 377 of file hanging_nodes_internal.h.
|
private |
Definition at line 343 of file hanging_nodes_internal.h.
|
private |
Definition at line 345 of file hanging_nodes_internal.h.