#include <PCTwoLevelsBlockDiagonal.hpp>
Public Attributes | |
Mat | A11_matrix_subblock |
Mat | A22_B1_matrix_subblock |
Mat | A22_B2_matrix_subblock |
PC | PC_amg_A11 |
PC | PC_amg_A22_B1 |
PC | PC_amg_A22_B2 |
Vec | x1_subvector |
Vec | x21_subvector |
Vec | x22_subvector |
Vec | y1_subvector |
Vec | y21_subvector |
Vec | y22_subvector |
VecScatter | A11_scatter_ctx |
VecScatter | A22_B1_scatter_ctx |
VecScatter | A22_B2_scatter_ctx |
Definition at line 86 of file PCTwoLevelsBlockDiagonal.hpp.
Mat object that stores the A11 subblock
Definition at line 87 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
Mat object that stores the tissue part of the A22 subblock
Definition at line 88 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
Mat object that stores the bath part of the A22 subblock
Definition at line 89 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
inv(A11) is approximated with ILU
Definition at line 90 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
inv(A22_B1) is approximated with ILU
Definition at line 91 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
inv(A22_B2) is approximated by an AMG cycle. We compute it with HYPRE via a PC object
Definition at line 92 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
Used to store the first half of the vector to be preconditioned
Definition at line 93 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Used to store the tissue part of the second half of the vector to be preconditioned
Definition at line 94 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Used to store the bath part of the second half of the vector to be preconditioned
Definition at line 95 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Used to store the first half of the preconditioned vector
Definition at line 96 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Used to store the tissue part of the second half of the preconditioned vector
Definition at line 97 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Used to store the bath part second half of the preconditioned vector
Definition at line 98 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Scattering context: gather x1 from x and scatter y1 back into y
Definition at line 99 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Scattering context: gather x21 from x and scatter y21 back into y
Definition at line 100 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Scattering context: gather x22 from x and scatter y22 back into y
Definition at line 101 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().