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

Mat object that stores the tissue part of the A22 subblock

Definition at line 88 of file PCTwoLevelsBlockDiagonal.hpp.

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

Mat object that stores the bath part of the A22 subblock

Definition at line 89 of file PCTwoLevelsBlockDiagonal.hpp.

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

inv(A11) is approximated with ILU

Definition at line 90 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().

inv(A22_B1) is approximated with ILU

Definition at line 91 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalSetUp().

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

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

Definition at line 93 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().

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

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

Used to store the first half of the preconditioned vector

Definition at line 96 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().

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

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

Definition at line 98 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().

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

Definition at line 99 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().

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

Definition at line 100 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().

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

Definition at line 101 of file PCTwoLevelsBlockDiagonal.hpp.

Referenced by PCTwoLevelsBlockDiagonal::PCTwoLevelsBlockDiagonalCreate().


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

Generated on Mon Nov 1 12:37:13 2010 for Chaste by  doxygen 1.5.5