v0.14.0
Public Member Functions | Public Attributes | List of all members
PCMGSetUpViaApproxOrdersCtx Struct Reference

Set data structures of MG pre-conditioner via approximation orders. More...

#include <users_modules/basic_finite_elements/src/PCMGSetUpViaApproxOrders.hpp>

Collaboration diagram for PCMGSetUpViaApproxOrdersCtx:
[legend]

Public Member Functions

 PCMGSetUpViaApproxOrdersCtx (DM dm, Mat a, bool shell_sub_a)
 
virtual ~PCMGSetUpViaApproxOrdersCtx ()=default
 
virtual MoFEMErrorCode getOptions ()
 get options from line command More...
 
virtual MoFEMErrorCode createIsAtLevel (int kk, IS *is)
 Set IS for levels. More...
 
virtual MoFEMErrorCode destroyIsAtLevel (int kk, IS *is)
 Destroy IS if internally created. More...
 
virtual MoFEMErrorCode buildProlongationOperator (bool use_mat_a, int verb=0)
 Set up data structures for MG. More...
 

Public Attributes

DM dM
 Distributed mesh manager. More...
 
Mat A
 Matrix at fine level. More...
 
int nbLevels
 number of multi-grid levels More...
 
int coarseOrder
 approximation order of coarse level More...
 
int orderAtLastLevel
 set maximal evaluated order More...
 
bool shellSubA
 
int verboseLevel
 

Detailed Description

Set data structures of MG pre-conditioner via approximation orders.

Definition at line 190 of file PCMGSetUpViaApproxOrders.hpp.

Constructor & Destructor Documentation

◆ PCMGSetUpViaApproxOrdersCtx()

PCMGSetUpViaApproxOrdersCtx::PCMGSetUpViaApproxOrdersCtx ( DM  dm,
Mat  a,
bool  shell_sub_a 
)
inline

Definition at line 198 of file PCMGSetUpViaApproxOrders.hpp.

199  : dM(dm), A(a), nbLevels(2), coarseOrder(2), orderAtLastLevel(1000),
200  shellSubA(shell_sub_a), verboseLevel(0) {}

◆ ~PCMGSetUpViaApproxOrdersCtx()

virtual PCMGSetUpViaApproxOrdersCtx::~PCMGSetUpViaApproxOrdersCtx ( )
virtualdefault

Member Function Documentation

◆ buildProlongationOperator()

virtual MoFEMErrorCode PCMGSetUpViaApproxOrdersCtx::buildProlongationOperator ( bool  use_mat_a,
int  verb = 0 
)
virtual

Set up data structures for MG.

Parameters
pcMG pre-conditioner http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCMG.html
verbverbosity level
Returns
error code

◆ createIsAtLevel()

virtual MoFEMErrorCode PCMGSetUpViaApproxOrdersCtx::createIsAtLevel ( int  kk,
IS *  is 
)
virtual

Set IS for levels.

Parameters
kklevel
ispointer to IS
Returns
error code

◆ destroyIsAtLevel()

virtual MoFEMErrorCode PCMGSetUpViaApproxOrdersCtx::destroyIsAtLevel ( int  kk,
IS *  is 
)
virtual

Destroy IS if internally created.

Parameters
kklevel
ispointer to is
Returns
error code

◆ getOptions()

virtual MoFEMErrorCode PCMGSetUpViaApproxOrdersCtx::getOptions ( )
virtual

get options from line command

Returns
error code

Member Data Documentation

◆ A

Mat PCMGSetUpViaApproxOrdersCtx::A

Matrix at fine level.

Definition at line 196 of file PCMGSetUpViaApproxOrders.hpp.

◆ coarseOrder

int PCMGSetUpViaApproxOrdersCtx::coarseOrder

approximation order of coarse level

Definition at line 205 of file PCMGSetUpViaApproxOrders.hpp.

◆ dM

DM PCMGSetUpViaApproxOrdersCtx::dM

Distributed mesh manager.

Definition at line 195 of file PCMGSetUpViaApproxOrders.hpp.

◆ nbLevels

int PCMGSetUpViaApproxOrdersCtx::nbLevels

number of multi-grid levels

Definition at line 204 of file PCMGSetUpViaApproxOrders.hpp.

◆ orderAtLastLevel

int PCMGSetUpViaApproxOrdersCtx::orderAtLastLevel

set maximal evaluated order

Definition at line 206 of file PCMGSetUpViaApproxOrders.hpp.

◆ shellSubA

bool PCMGSetUpViaApproxOrdersCtx::shellSubA

Definition at line 208 of file PCMGSetUpViaApproxOrders.hpp.

◆ verboseLevel

int PCMGSetUpViaApproxOrdersCtx::verboseLevel

Definition at line 209 of file PCMGSetUpViaApproxOrders.hpp.


The documentation for this struct was generated from the following file:
PCMGSetUpViaApproxOrdersCtx::shellSubA
bool shellSubA
Definition: PCMGSetUpViaApproxOrders.hpp:208
PCMGSetUpViaApproxOrdersCtx::nbLevels
int nbLevels
number of multi-grid levels
Definition: PCMGSetUpViaApproxOrders.hpp:204
a
constexpr double a
Definition: approx_sphere.cpp:30
PCMGSetUpViaApproxOrdersCtx::dM
DM dM
Distributed mesh manager.
Definition: PCMGSetUpViaApproxOrders.hpp:195
PCMGSetUpViaApproxOrdersCtx::orderAtLastLevel
int orderAtLastLevel
set maximal evaluated order
Definition: PCMGSetUpViaApproxOrders.hpp:206
PCMGSetUpViaApproxOrdersCtx::verboseLevel
int verboseLevel
Definition: PCMGSetUpViaApproxOrders.hpp:209
PCMGSetUpViaApproxOrdersCtx::coarseOrder
int coarseOrder
approximation order of coarse level
Definition: PCMGSetUpViaApproxOrders.hpp:205
PCMGSetUpViaApproxOrdersCtx::A
Mat A
Matrix at fine level.
Definition: PCMGSetUpViaApproxOrders.hpp:196