Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
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

◆ A11_matrix_subblock

Mat PCLDUFactorisation::PCLDUFactorisationContext::A11_matrix_subblock

Mat object that stores the A11 subblock.

Definition at line 115 of file PCLDUFactorisation.hpp.

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

◆ A11_scatter_ctx

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

◆ A22_matrix_subblock

Mat PCLDUFactorisation::PCLDUFactorisationContext::A22_matrix_subblock

Mat object that stores the A22 subblock.

Definition at line 116 of file PCLDUFactorisation.hpp.

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

◆ A22_scatter_ctx

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

◆ B_matrix_subblock

Mat PCLDUFactorisation::PCLDUFactorisationContext::B_matrix_subblock

Mat object that stores the B subblock.

Definition at line 117 of file PCLDUFactorisation.hpp.

Referenced by PCLDUFactorisation::PCLDUFactorisationCreate().

◆ PC_amg_A11

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

◆ PC_amg_A22

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

◆ temp

Vec PCLDUFactorisation::PCLDUFactorisationContext::temp

Used to store intermediate results

Definition at line 125 of file PCLDUFactorisation.hpp.

Referenced by PCLDUFactorisation::PCLDUFactorisationCreate().

◆ x1_subvector

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

◆ x2_subvector

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

◆ y1_subvector

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

◆ y2_subvector

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

◆ z

Vec PCLDUFactorisation::PCLDUFactorisationContext::z

Used to store intermediate results

Definition at line 124 of file PCLDUFactorisation.hpp.

Referenced by PCLDUFactorisation::PCLDUFactorisationCreate().


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