Chaste  Release::2017.1
PCLDUFactorisation::PCLDUFactorisationContext Struct Reference

#include <PCLDUFactorisation.hpp>

+ Collaboration diagram for PCLDUFactorisation::PCLDUFactorisationContext:

Public Attributes

Mat A11_matrix_subblock
 
Mat A22_matrix_subblock
 
Mat B_matrix_subblock
 
PC PC_amg_A11
 
PC PC_amg_A22
 
Vec x1_subvector
 
Vec x2_subvector
 
Vec y1_subvector
 
Vec y2_subvector
 
Vec z
 
Vec temp
 
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 114 of file PCLDUFactorisation.hpp.

Member Data Documentation

Mat PCLDUFactorisation::PCLDUFactorisationContext::A11_matrix_subblock
VecScatter PCLDUFactorisation::PCLDUFactorisationContext::A11_scatter_ctx

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

Definition at line 126 of file PCLDUFactorisation.hpp.

Referenced by PCLDUFactorisation::PCLDUFactorisation(), PCLDUFactorisation::PCLDUFactorisationCreate(), and PCLDUFactorisation::PCLDUFactorisationSetUp().

Mat PCLDUFactorisation::PCLDUFactorisationContext::A22_matrix_subblock
VecScatter PCLDUFactorisation::PCLDUFactorisationContext::A22_scatter_ctx

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

Definition at line 127 of file PCLDUFactorisation.hpp.

Referenced by PCLDUFactorisation::PCLDUFactorisation(), PCLDUFactorisation::PCLDUFactorisationCreate(), and PCLDUFactorisation::PCLDUFactorisationSetUp().

Mat PCLDUFactorisation::PCLDUFactorisationContext::B_matrix_subblock
PC PCLDUFactorisation::PCLDUFactorisationContext::PC_amg_A11

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

Todo:
  • don't create this every iteration but save it first time is needed.

Definition at line 118 of file PCLDUFactorisation.hpp.

Referenced by PCLDUFactorisation::PCLDUFactorisation(), and PCLDUFactorisation::PCLDUFactorisationSetUp().

PC PCLDUFactorisation::PCLDUFactorisationContext::PC_amg_A22

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

Todo:
  • don't create this every iteration but save it first time is needed.

Definition at line 119 of file PCLDUFactorisation.hpp.

Referenced by PCLDUFactorisation::PCLDUFactorisation(), and PCLDUFactorisation::PCLDUFactorisationSetUp().

Vec PCLDUFactorisation::PCLDUFactorisationContext::temp
Vec PCLDUFactorisation::PCLDUFactorisationContext::x1_subvector

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

Definition at line 120 of file PCLDUFactorisation.hpp.

Referenced by PCLDUFactorisation::PCLDUFactorisation(), PCLDUFactorisation::PCLDUFactorisationCreate(), and PCLDUFactorisation::PCLDUFactorisationSetUp().

Vec PCLDUFactorisation::PCLDUFactorisationContext::x2_subvector

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

Definition at line 121 of file PCLDUFactorisation.hpp.

Referenced by PCLDUFactorisation::PCLDUFactorisation(), PCLDUFactorisation::PCLDUFactorisationCreate(), and PCLDUFactorisation::PCLDUFactorisationSetUp().

Vec PCLDUFactorisation::PCLDUFactorisationContext::y1_subvector

Used to store the first half of the preconditioned vector

Definition at line 122 of file PCLDUFactorisation.hpp.

Referenced by PCLDUFactorisation::PCLDUFactorisation(), PCLDUFactorisation::PCLDUFactorisationCreate(), and PCLDUFactorisation::PCLDUFactorisationSetUp().

Vec PCLDUFactorisation::PCLDUFactorisationContext::y2_subvector

Used to store the second half of the preconditioned vector

Definition at line 123 of file PCLDUFactorisation.hpp.

Referenced by PCLDUFactorisation::PCLDUFactorisation(), PCLDUFactorisation::PCLDUFactorisationCreate(), and PCLDUFactorisation::PCLDUFactorisationSetUp().

Vec PCLDUFactorisation::PCLDUFactorisationContext::z

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