Chaste  Release::2017.1
PCBlockDiagonal::PCBlockDiagonalContext Struct Reference

#include <PCBlockDiagonal.hpp>

+ Collaboration diagram for PCBlockDiagonal::PCBlockDiagonalContext:

Public Attributes

Mat A11_matrix_subblock
 
Mat A22_matrix_subblock
 
PC PC_amg_A11
 
PC PC_amg_A22
 
Vec x1_subvector
 
Vec x2_subvector
 
Vec y1_subvector
 
Vec y2_subvector
 
VecScatter A11_scatter_ctx
 
VecScatter A22_scatter_ctx
 

Detailed Description

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

Definition at line 92 of file PCBlockDiagonal.hpp.

Member Data Documentation

Mat PCBlockDiagonal::PCBlockDiagonalContext::A11_matrix_subblock

Mat object that stores the A11 subblock

Definition at line 93 of file PCBlockDiagonal.hpp.

Referenced by PCBlockDiagonal::PCBlockDiagonal(), PCBlockDiagonal::PCBlockDiagonalCreate(), and PCBlockDiagonal::PCBlockDiagonalSetUp().

VecScatter PCBlockDiagonal::PCBlockDiagonalContext::A11_scatter_ctx

Scattering context: gather x1 from x and scatter y1 back into y

Definition at line 101 of file PCBlockDiagonal.hpp.

Referenced by PCBlockDiagonal::PCBlockDiagonal(), PCBlockDiagonal::PCBlockDiagonalCreate(), and PCBlockDiagonal::PCBlockDiagonalSetUp().

Mat PCBlockDiagonal::PCBlockDiagonalContext::A22_matrix_subblock

Mat object that stores the A22 subblock

Definition at line 94 of file PCBlockDiagonal.hpp.

Referenced by PCBlockDiagonal::PCBlockDiagonal(), PCBlockDiagonal::PCBlockDiagonalCreate(), and PCBlockDiagonal::PCBlockDiagonalSetUp().

VecScatter PCBlockDiagonal::PCBlockDiagonalContext::A22_scatter_ctx

Scattering context: gather x2 from x and scatter y2 back into y

Definition at line 102 of file PCBlockDiagonal.hpp.

Referenced by PCBlockDiagonal::PCBlockDiagonal(), PCBlockDiagonal::PCBlockDiagonalCreate(), and PCBlockDiagonal::PCBlockDiagonalSetUp().

PC PCBlockDiagonal::PCBlockDiagonalContext::PC_amg_A11

inv(A11) is approximated by an AMG cycle. We compute it with HYPRE via a PC object

Definition at line 95 of file PCBlockDiagonal.hpp.

Referenced by PCBlockDiagonal::PCBlockDiagonal(), and PCBlockDiagonal::PCBlockDiagonalSetUp().

PC PCBlockDiagonal::PCBlockDiagonalContext::PC_amg_A22

inv(A22) is approximated by an AMG cycle. We compute it with HYPRE via a PC object

Definition at line 96 of file PCBlockDiagonal.hpp.

Referenced by PCBlockDiagonal::PCBlockDiagonal(), and PCBlockDiagonal::PCBlockDiagonalSetUp().

Vec PCBlockDiagonal::PCBlockDiagonalContext::x1_subvector

Used to store the first half of the vector to be preconditioned

Definition at line 97 of file PCBlockDiagonal.hpp.

Referenced by PCBlockDiagonal::PCBlockDiagonal(), PCBlockDiagonal::PCBlockDiagonalCreate(), and PCBlockDiagonal::PCBlockDiagonalSetUp().

Vec PCBlockDiagonal::PCBlockDiagonalContext::x2_subvector

Used to store the second half of the vector to be preconditioned

Definition at line 98 of file PCBlockDiagonal.hpp.

Referenced by PCBlockDiagonal::PCBlockDiagonal(), PCBlockDiagonal::PCBlockDiagonalCreate(), and PCBlockDiagonal::PCBlockDiagonalSetUp().

Vec PCBlockDiagonal::PCBlockDiagonalContext::y1_subvector

Used to store the first half of the preconditioned vector

Definition at line 99 of file PCBlockDiagonal.hpp.

Referenced by PCBlockDiagonal::PCBlockDiagonal(), PCBlockDiagonal::PCBlockDiagonalCreate(), and PCBlockDiagonal::PCBlockDiagonalSetUp().

Vec PCBlockDiagonal::PCBlockDiagonalContext::y2_subvector

Used to store the second half of the preconditioned vector

Definition at line 100 of file PCBlockDiagonal.hpp.

Referenced by PCBlockDiagonal::PCBlockDiagonal(), PCBlockDiagonal::PCBlockDiagonalCreate(), and PCBlockDiagonal::PCBlockDiagonalSetUp().


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