![]() |
Reference documentation for deal.II version 9.3.3
|
#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 47 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 94 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 95 of file cuda_hanging_nodes_internal.h.
|
inline |
Constructor.
Definition at line 175 of file cuda_hanging_nodes_internal.h.
|
inline |
Compute the value of the constraint mask for a given cell.
Definition at line 276 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Set up line-to-cell mapping for edge constraints in 3D.
Definition at line 195 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 594 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 609 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 658 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 686 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 721 of file cuda_hanging_nodes_internal.h.
|
inlineprivate |
Definition at line 202 of file cuda_hanging_nodes_internal.h.
|
private |
Definition at line 97 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.
|
private |
Definition at line 102 of file cuda_hanging_nodes_internal.h.