PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext Struct Reference

#include <PCTwoLevelsBlockDiagonal.hpp>

Collaboration diagram for PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalContext:
Collaboration graph
[legend]

List of all members.

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 86 of file PCTwoLevelsBlockDiagonal.hpp.


Member Data Documentation

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

Definition at line 99 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal().

Scattering context: gather x21 from x and scatter y21 back into y

Definition at line 100 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal().

Scattering context: gather x22 from x and scatter y22 back into y

Definition at line 101 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal().

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

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

Definition at line 93 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal().

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

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

Used to store the first half of the preconditioned vector

Definition at line 96 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal().

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

Used to store the bath part second half of the preconditioned vector

Definition at line 98 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate(), and PCTwoLevelsBlockDiagonal::~PCTwoLevelsBlockDiagonal().


The documentation for this struct was generated from the following file:
Generated on Thu Dec 22 13:07:12 2011 for Chaste by  doxygen 1.6.3