Chaste  Release::2017.1
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

Mat PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A11_matrix_subblock
VecScatter PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A11_scatter_ctx
Mat PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A22_B1_matrix_subblock
VecScatter PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A22_B1_scatter_ctx
Mat PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A22_B2_matrix_subblock
VecScatter PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::A22_B2_scatter_ctx
PC PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::PC_amg_A11
PC PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::PC_amg_A22_B1
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::PCTwoLevelsBlockDiagonalSetUp(), and PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal().

Vec PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::x1_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::PCTwoLevelsBlockDiagonalCreate(), PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp(), and PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal().

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::PCTwoLevelsBlockDiagonalCreate(), PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp(), and PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal().

Vec PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::y1_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::PCTwoLevelsBlockDiagonalCreate(), PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp(), and PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal().

Vec PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext::y22_subvector

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