Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext Struct Reference

#include <PCTwoLevelsBlockDiagonal.hpp>

+ Collaboration diagram for PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext:

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
 

Detailed Description

This struct defines the state of the preconditioner (initialised data and objects to be reused).

Definition at line 93 of file PCTwoLevelsBlockDiagonal.hpp.

Member Data Documentation

◆ A11_matrix_subblock

Mat PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A11_matrix_subblock

◆ A11_scatter_ctx

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().

◆ A22_B1_matrix_subblock

Mat PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A22_B1_matrix_subblock

◆ A22_B1_scatter_ctx

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().

◆ A22_B2_matrix_subblock

Mat PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A22_B2_matrix_subblock

◆ A22_B2_scatter_ctx

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_amg_A11

PC PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::PC_amg_A11

◆ PC_amg_A22_B1

PC PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::PC_amg_A22_B1

◆ PC_amg_A22_B2

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().

◆ x1_subvector

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().

◆ x21_subvector

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().

◆ x22_subvector

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().

◆ y1_subvector

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().

◆ y21_subvector

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().

◆ y22_subvector

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().


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