v0.15.0
Loading...
Searching...
No Matches
MoFEM::DMMGViaApproxOrdersCtx Struct Reference

Structure for DM for multi-grid via approximation orders. More...

Inheritance diagram for MoFEM::DMMGViaApproxOrdersCtx:
[legend]
Collaboration diagram for MoFEM::DMMGViaApproxOrdersCtx:
[legend]

Public Member Functions

MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, MoFEM::UnknownInterface **iface) const
 
 DMMGViaApproxOrdersCtx ()
 
virtual ~DMMGViaApproxOrdersCtx ()
 
MoFEMErrorCode destroyCoarseningIS ()
 
- Public Member Functions inherited from MoFEM::DMCtxImpl
 DMCtxImpl ()
 
int useCount ()
 
int incrementReference ()
 
- Public Member Functions inherited from MoFEM::DMCtx
virtual ~DMCtx ()=default
 
- Public Member Functions inherited from MoFEM::UnknownInterface
template<class IFACE >
MoFEMErrorCode registerInterface (bool error_if_registration_failed=true)
 Register interface.
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE *&iface) const
 Get interface reference to pointer of interface.
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE **const iface) const
 Get interface pointer to pointer of interface.
 
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get interface pointer to pointer of interface.
 
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get reference to interface.
 
template<class IFACE >
IFACE * getInterface () const
 Function returning pointer to interface.
 
virtual ~UnknownInterface ()=default
 

Public Attributes

SmartPetscObj< DM > coarsenDM
 
SmartPetscObj< AO > aO
 
std::vector< SmartPetscObj< IS > > coarseningIS
 Coarsening IS.
 
std::vector< SmartPetscObj< Mat > > kspOperators
 Get KSP operators.
 
boost::ptr_vector< PCMGSubMatrixCtxshellMatrixCtxPtr
 Shell sub-matrix context.
 
- Public Attributes inherited from MoFEM::DMCtxImpl
int rAnk = -1
 
int sIze = -1
 
int verbosity = VERBOSE
 verbosity
 
int referenceNumber = 0
 
PetscBool isSubDM = PETSC_FALSE
 
std::vector< std::string > rowSubFields
 
std::vector< std::string > colSubFields
 
const ProblemproblemMainOfSubPtr
 pointer to main problem to sub-problem
 
PetscBool isCompDM = PETSC_FALSE
 
std::vector< std::string > rowCompPrb
 
std::vector< std::string > colCompPrb
 
std::map< std::string, boost::shared_ptr< Range > > mapTypeRow
 
std::map< std::string, boost::shared_ptr< Range > > mapTypeCol
 
PetscBool isPartitioned = PETSC_FALSE
 true if read mesh is on parts
 
PetscBool isSquareMatrix = PETSC_TRUE
 true if rows equals to cols
 
PetscBool destroyProblem = PETSC_FALSE
 If true destroy problem with DM.
 
PetscBool isProblemBuild = PETSC_FALSE
 True if problem is build.
 
InterfacemField_ptr = nullptr
 MoFEM interface.
 
const ProblemproblemPtr = nullptr
 pointer to problem data structure
 
std::string problemName
 Problem name.
 
boost::shared_ptr< BlockStructureblocMatDataPtr
 
boost::shared_ptr< NestSchurDatanestedSchurDataPtr
 
- Public Attributes inherited from MoFEM::DMCtx
boost::shared_ptr< KspCtxkspCtx
 data structure KSP
 
boost::shared_ptr< SnesCtxsnesCtx
 data structure SNES
 
boost::shared_ptr< TsCtxtsCtx
 data structure for TS solver
 

Additional Inherited Members

- Static Public Member Functions inherited from MoFEM::UnknownInterface
static MoFEMErrorCode getLibVersion (Version &version)
 Get library version.
 
static MoFEMErrorCode getFileVersion (moab::Interface &moab, Version &version)
 Get database major version.
 
static MoFEMErrorCode setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD))
 Get database major version.
 
static MoFEMErrorCode getInterfaceVersion (Version &version)
 Get database major version.
 
- Protected Member Functions inherited from MoFEM::DMCtx
 DMCtx ()=default
 

Detailed Description

Structure for DM for multi-grid via approximation orders.

Definition at line 72 of file PCMGSetUpViaApproxOrders.cpp.

Constructor & Destructor Documentation

◆ DMMGViaApproxOrdersCtx()

MoFEM::DMMGViaApproxOrdersCtx::DMMGViaApproxOrdersCtx ( )

Definition at line 189 of file PCMGSetUpViaApproxOrders.cpp.

◆ ~DMMGViaApproxOrdersCtx()

MoFEM::DMMGViaApproxOrdersCtx::~DMMGViaApproxOrdersCtx ( )
virtual

Definition at line 191 of file PCMGSetUpViaApproxOrders.cpp.

191 {
193 CHKERRABORT(PETSC_COMM_WORLD, ierr);
194}
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr

Member Function Documentation

◆ destroyCoarseningIS()

MoFEMErrorCode MoFEM::DMMGViaApproxOrdersCtx::destroyCoarseningIS ( )

Definition at line 196 of file PCMGSetUpViaApproxOrders.cpp.

196 {
198 coarsenDM.reset();
199 aO.reset();
200 coarseningIS.clear();
201 kspOperators.clear();
202 shellMatrixCtxPtr.clear();
204}
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
std::vector< SmartPetscObj< Mat > > kspOperators
Get KSP operators.
std::vector< SmartPetscObj< IS > > coarseningIS
Coarsening IS.
boost::ptr_vector< PCMGSubMatrixCtx > shellMatrixCtxPtr
Shell sub-matrix context.

◆ query_interface()

MoFEMErrorCode MoFEM::DMMGViaApproxOrdersCtx::query_interface ( boost::typeindex::type_index type_index,
MoFEM::UnknownInterface ** iface ) const
virtual

Reimplemented from MoFEM::DMCtx.

Definition at line 207 of file PCMGSetUpViaApproxOrders.cpp.

208 {
209 *iface = static_cast<DMMGViaApproxOrdersCtx *>(
210 const_cast<DMMGViaApproxOrdersCtx *>(this));
211 return 0;
212}

Member Data Documentation

◆ aO

SmartPetscObj<AO> MoFEM::DMMGViaApproxOrdersCtx::aO

Definition at line 83 of file PCMGSetUpViaApproxOrders.cpp.

◆ coarsenDM

SmartPetscObj<DM> MoFEM::DMMGViaApproxOrdersCtx::coarsenDM

Definition at line 82 of file PCMGSetUpViaApproxOrders.cpp.

◆ coarseningIS

std::vector<SmartPetscObj<IS> > MoFEM::DMMGViaApproxOrdersCtx::coarseningIS

Coarsening IS.

Definition at line 84 of file PCMGSetUpViaApproxOrders.cpp.

◆ kspOperators

std::vector<SmartPetscObj<Mat> > MoFEM::DMMGViaApproxOrdersCtx::kspOperators

Get KSP operators.

Definition at line 85 of file PCMGSetUpViaApproxOrders.cpp.

◆ shellMatrixCtxPtr

boost::ptr_vector<PCMGSubMatrixCtx> MoFEM::DMMGViaApproxOrdersCtx::shellMatrixCtxPtr

Shell sub-matrix context.

Definition at line 87 of file PCMGSetUpViaApproxOrders.cpp.


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