Reference documentation for deal.II version GIT dad323def1 2022-06-25 19:00:02+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\}}\)
Public Attributes | List of all members
MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme Struct Reference

Public Attributes

unsigned int n_coarse_cells
 
unsigned int n_dofs_per_cell_coarse
 
unsigned int n_dofs_per_cell_fine
 
unsigned int degree_coarse
 
unsigned int degree_fine
 
AlignedVector< VectorizedArray< Number > > prolongation_matrix
 
AlignedVector< VectorizedArray< Number > > prolongation_matrix_1d
 
AlignedVector< VectorizedArray< Number > > restriction_matrix
 
AlignedVector< VectorizedArray< Number > > restriction_matrix_1d
 
internal::MatrixFreeFunctions::ShapeInfo< VectorizedArray< Number > > shape_info_coarse
 

Detailed Description

template<int dim, typename Number>
struct MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme

A multigrid transfer scheme. A multrigrid transfer class can have different transfer schemes to enable p-adaptivity (one transfer scheme per polynomial degree pair) and to enable global coarsening (one transfer scheme for transfer between children and parent cells, as well as, one transfer scheme for cells that are not refined).

Definition at line 335 of file mg_transfer_global_coarsening.h.

Member Data Documentation

◆ n_coarse_cells

template<int dim, typename Number >
unsigned int MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme::n_coarse_cells

Number of coarse cells.

Definition at line 340 of file mg_transfer_global_coarsening.h.

◆ n_dofs_per_cell_coarse

template<int dim, typename Number >
unsigned int MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme::n_dofs_per_cell_coarse

Number of degrees of freedom of a coarse cell.

Note
For tensor-product elements, the value equals n_components * (degree_coarse + 1)^dim.

Definition at line 348 of file mg_transfer_global_coarsening.h.

◆ n_dofs_per_cell_fine

template<int dim, typename Number >
unsigned int MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme::n_dofs_per_cell_fine

Number of degrees of freedom of fine cell.

Note
For tensor-product elements, the value equals n_components * (n_dofs_per_cell_fine + 1)^dim.

Definition at line 356 of file mg_transfer_global_coarsening.h.

◆ degree_coarse

template<int dim, typename Number >
unsigned int MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme::degree_coarse

Polynomial degree of the finite element of a coarse cell.

Definition at line 361 of file mg_transfer_global_coarsening.h.

◆ degree_fine

template<int dim, typename Number >
unsigned int MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme::degree_fine

"Polynomial degree" of the finite element of the union of all children of a coarse cell, i.e., actually degree_fine * 2 + 1 if a cell is refined.

Definition at line 368 of file mg_transfer_global_coarsening.h.

◆ prolongation_matrix

template<int dim, typename Number >
AlignedVector<VectorizedArray<Number> > MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme::prolongation_matrix

Prolongation matrix for non-tensor-product elements.

Definition at line 373 of file mg_transfer_global_coarsening.h.

◆ prolongation_matrix_1d

template<int dim, typename Number >
AlignedVector<VectorizedArray<Number> > MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme::prolongation_matrix_1d

1D prolongation matrix for tensor-product elements.

Definition at line 378 of file mg_transfer_global_coarsening.h.

◆ restriction_matrix

template<int dim, typename Number >
AlignedVector<VectorizedArray<Number> > MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme::restriction_matrix

Restriction matrix for non-tensor-product elements.

Definition at line 383 of file mg_transfer_global_coarsening.h.

◆ restriction_matrix_1d

template<int dim, typename Number >
AlignedVector<VectorizedArray<Number> > MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme::restriction_matrix_1d

1D restriction matrix for tensor-product elements.

Definition at line 388 of file mg_transfer_global_coarsening.h.

◆ shape_info_coarse

template<int dim, typename Number >
internal::MatrixFreeFunctions::ShapeInfo<VectorizedArray<Number> > MGTwoLevelTransfer< dim, LinearAlgebra::distributed::Vector< Number > >::MGTransferScheme::shape_info_coarse

ShapeInfo description of the coarse cell. Needed during the fast application of hanging-node constraints.

Definition at line 395 of file mg_transfer_global_coarsening.h.


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