Reference documentation for deal.II version 9.2.0
|
#include <deal.II/matrix_free/cuda_hanging_nodes_internal.h>
Public Member Functions | |
HangingNodes (unsigned int fe_degree, const DoFHandler< dim > &dof_handler, const std::vector< unsigned int > &lexicographic_mapping) | |
template<typename CellIterator > | |
void | setup_constraints (std::vector< types::global_dof_index > &dof_indices, const CellIterator &cell, const std::shared_ptr< const Utilities::MPI::Partitioner > &partitioner, unsigned int &mask) const |
Private Types | |
using | cell_iterator = typename DoFHandler< dim >::cell_iterator |
using | active_cell_iterator = typename DoFHandler< dim >::active_cell_iterator |
Private Member Functions | |
void | setup_line_to_cell () |
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 (std::vector< types::global_dof_index > &dofs) const |
void | transpose_subface_index (unsigned int &subface) const |
void | setup_line_to_cell () |
Private Attributes | |
const unsigned int | n_raw_lines |
std::vector< std::vector< std::pair< cell_iterator, unsigned int > > > | line_to_cells |
const std::vector< unsigned int > & | lexicographic_mapping |
const unsigned int | fe_degree |
const DoFHandler< dim > & | dof_handler |
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 Matrix-Free Finite-Element Computations On Graphics Processors With Adaptively Refined Unstructured Meshes by Karl Ljungkvist, SpringSim-HPC, 2017 April 23-26.
Definition at line 46 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 93 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 95 of file cuda_hanging_nodes_internal.h.
|
inline |
Constructor.
Definition at line 170 of file cuda_hanging_nodes_internal.h.
|
inline |
Compute the value of the constraint mask for a given cell.
Definition at line 271 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Set up line-to-cell mapping for edge constraints in 3D.
Definition at line 190 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 589 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 604 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 653 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 681 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 716 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 197 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 96 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 98 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 99 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 100 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 101 of file cuda_hanging_nodes_internal.h.