![]() |
Reference documentation for deal.II version 9.6.0
|
#include <deal.II/matrix_free/hanging_nodes_internal.h>
Public Member Functions | |
HangingNodes (const Triangulation< dim > &triangualtion) | |
std::size_t | memory_consumption () const |
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< boost::container::small_vector< std::array< unsigned int, 3 >, 6 > > | 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 detail in [159].
Definition at line 265 of file hanging_nodes_internal.h.
|
inline |
Constructor.
Definition at line 359 of file hanging_nodes_internal.h.
|
inline |
Return the memory consumption of the allocated memory in this class.
Definition at line 372 of file hanging_nodes_internal.h.
|
inline |
Compute the value of the constraint mask for a given cell.
Definition at line 865 of file hanging_nodes_internal.h.
|
inlinestatic |
Compute the supported components of all entries of the given hp::FECollection object.
Definition at line 490 of file hanging_nodes_internal.h.
|
inline |
Determine the refinement configuration of the given cell.
Definition at line 525 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 618 of file hanging_nodes_internal.h.
|
inlineprivate |
Set up line-to-cell mapping for edge constraints in 3d.
Definition at line 385 of file hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 910 of file hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 925 of file hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 974 of file hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 1006 of file hanging_nodes_internal.h.
|
private |
Definition at line 1042 of file hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 395 of file hanging_nodes_internal.h.
|
private |
Definition at line 348 of file hanging_nodes_internal.h.
|
private |
Definition at line 350 of file hanging_nodes_internal.h.