Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
|
#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 |
This struct defines the state of the preconditioner (initialised data and objects to be reused).
Definition at line 93 of file PCTwoLevelsBlockDiagonal.hpp.
Mat PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A11_matrix_subblock |
Mat object that stores the A11 subblock
Definition at line 94 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
VecScatter PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A11_scatter_ctx |
Scattering context: gather x1 from x and scatter y1 back into y
Definition at line 106 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Mat PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A22_B1_matrix_subblock |
Mat object that stores the tissue part of the A22 subblock
Definition at line 95 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
VecScatter PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A22_B1_scatter_ctx |
Scattering context: gather x21 from x and scatter y21 back into y
Definition at line 107 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Mat PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A22_B2_matrix_subblock |
Mat object that stores the bath part of the A22 subblock
Definition at line 96 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
VecScatter PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A22_B2_scatter_ctx |
Scattering context: gather x22 from x and scatter y22 back into y
Definition at line 108 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
PC PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::PC_amg_A11 |
inv(A11) is approximated with ILU
Definition at line 97 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
PC PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::PC_amg_A22_B1 |
inv(A22_B1) is approximated with ILU
Definition at line 98 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
PC PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::PC_amg_A22_B2 |
inv(A22_B2) is approximated by an AMG cycle. We compute it with HYPRE via a PC object
Definition at line 99 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().
Vec PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::x1_subvector |
Used to store the first half of the vector to be preconditioned
Definition at line 100 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Vec PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::x21_subvector |
Used to store the tissue part of the second half of the vector to be preconditioned
Definition at line 101 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Vec PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::x22_subvector |
Used to store the bath part of the second half of the vector to be preconditioned
Definition at line 102 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Vec PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::y1_subvector |
Used to store the first half of the preconditioned vector
Definition at line 103 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Vec PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::y21_subvector |
Used to store the tissue part of the second half of the preconditioned vector
Definition at line 104 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().
Vec PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::y22_subvector |
Used to store the bath part second half of the preconditioned vector
Definition at line 105 of file PCTwoLevelsBlockDiagonal.hpp.
Referenced by PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal(), and PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().