v0.14.0
Public Member Functions | Public Attributes | List of all members
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. More...
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE *&iface) const
 Get interface reference to pointer of interface. More...
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE **const iface) const
 Get interface pointer to pointer of interface. More...
 
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get interface pointer to pointer of interface. More...
 
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get reference to interface. More...
 
template<class IFACE >
IFACE * getInterface () const
 Function returning pointer to interface. More...
 
virtual ~UnknownInterface ()=default
 

Public Attributes

SmartPetscObj< DM > coarsenDM
 
SmartPetscObj< AO > aO
 
std::vector< SmartPetscObj< IS > > coarseningIS
 Coarsening IS. More...
 
std::vector< SmartPetscObj< Mat > > kspOperators
 Get KSP operators. More...
 
boost::ptr_vector< PCMGSubMatrixCtxshellMatrixCtxPtr
 Shell sub-matrix context. More...
 
- Public Attributes inherited from MoFEM::DMCtxImpl
int rAnk = -1
 
int sIze = -1
 
int verbosity = VERBOSE
 verbosity More...
 
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 More...
 
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 More...
 
PetscBool isSquareMatrix = PETSC_TRUE
 true if rows equals to cols More...
 
PetscBool destroyProblem = PETSC_FALSE
 If true destroy problem with DM. More...
 
PetscBool isProblemBuild = PETSC_FALSE
 True if problem is build. More...
 
InterfacemField_ptr = nullptr
 MoFEM interface. More...
 
const ProblemproblemPtr = nullptr
 pointer to problem data structure More...
 
std::string problemName
 Problem name. More...
 
boost::shared_ptr< BlockStructureblocMatDataPtr
 
boost::shared_ptr< NestSchurDatanestedSchurDataPtr
 
- Public Attributes inherited from MoFEM::DMCtx
boost::shared_ptr< KspCtxkspCtx
 data structure KSP More...
 
boost::shared_ptr< SnesCtxsnesCtx
 data structure SNES More...
 
boost::shared_ptr< TsCtxtsCtx
 data structure for TS solver More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MoFEM::UnknownInterface
static MoFEMErrorCode getLibVersion (Version &version)
 Get library version. More...
 
static MoFEMErrorCode getFileVersion (moab::Interface &moab, Version &version)
 Get database major version. More...
 
static MoFEMErrorCode setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD))
 Get database major version. More...
 
static MoFEMErrorCode getInterfaceVersion (Version &version)
 Get database major version. More...
 
- 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.

189 : MoFEM::DMCtxImpl() {}

◆ ~DMMGViaApproxOrdersCtx()

MoFEM::DMMGViaApproxOrdersCtx::~DMMGViaApproxOrdersCtx ( )
virtual

Definition at line 191 of file PCMGSetUpViaApproxOrders.cpp.

191  {
193  CHKERRABORT(PETSC_COMM_WORLD, ierr);
194 }

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 }

◆ 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:
MoFEM::DMMGViaApproxOrdersCtx::kspOperators
std::vector< SmartPetscObj< Mat > > kspOperators
Get KSP operators.
Definition: PCMGSetUpViaApproxOrders.cpp:85
MoFEM::DMMGViaApproxOrdersCtx::aO
SmartPetscObj< AO > aO
Definition: PCMGSetUpViaApproxOrders.cpp:83
MoFEM::DMMGViaApproxOrdersCtx::destroyCoarseningIS
MoFEMErrorCode destroyCoarseningIS()
Definition: PCMGSetUpViaApproxOrders.cpp:196
MoFEM::DMCtxImpl
Definition: DMCtxImpl.hpp:10
MoFEM::DMMGViaApproxOrdersCtx::shellMatrixCtxPtr
boost::ptr_vector< PCMGSubMatrixCtx > shellMatrixCtxPtr
Shell sub-matrix context.
Definition: PCMGSetUpViaApproxOrders.cpp:87
MoFEM::DMMGViaApproxOrdersCtx::DMMGViaApproxOrdersCtx
DMMGViaApproxOrdersCtx()
Definition: PCMGSetUpViaApproxOrders.cpp:189
MoFEM::Exceptions::ierr
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Exceptions.hpp:76
MoFEM::DMMGViaApproxOrdersCtx::coarsenDM
SmartPetscObj< DM > coarsenDM
Definition: PCMGSetUpViaApproxOrders.cpp:82
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:429
MoFEM::DMMGViaApproxOrdersCtx::coarseningIS
std::vector< SmartPetscObj< IS > > coarseningIS
Coarsening IS.
Definition: PCMGSetUpViaApproxOrders.cpp:84
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:359