v0.13.0
Public Member Functions | Public Attributes | List of all members
MoFEM::DMCtx Struct Reference

PETSc Discrete Manager data structure. More...

#include <src/petsc/DMMoFEM.hpp>

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

Public Member Functions

MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const
 
 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 refernce 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

InterfacemField_ptr
 MoFEM interface. More...
 
PetscBool isProblemBuild
 True if problem is build. More...
 
std::string problemName
 Problem name. More...
 
PetscBool isPartitioned
 true if read mesh is on parts More...
 
PetscBool isSquareMatrix
 true if rows equals to cols More...
 
int rAnk
 
int sIze
 
const ProblemproblemPtr
 pinter to problem data structure More...
 
PetscBool isSubDM
 
std::vector< std::string > rowFields
 
std::vector< std::string > colFields
 
const ProblemproblemMainOfSubPtr
 pinter to main problem to sub-problem More...
 
PetscBool isCompDM
 
std::vector< std::string > rowCompPrb
 
std::vector< std::string > colCompPrb
 
boost::shared_ptr< std::map< std::string, std::pair< EntityType, EntityType > > > mapTypeRow
 
boost::shared_ptr< std::map< std::string, std::pair< EntityType, EntityType > > > mapTypeCol
 
PetscBool destroyProblem
 If true destroy problem with DM. More...
 
int verbosity
 verbosity More...
 
int referenceNumber
 
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...
 

Detailed Description

PETSc Discrete Manager data structure.

This structure should not be accessed or modified by user. Is not available from outside MoFEM DM manager. However user can inherit dat class and add data for additional functionality.

This is part of implementation for PETSc interface, see more details in http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/index.html

Definition at line 894 of file DMMoFEM.hpp.

Constructor & Destructor Documentation

◆ DMCtx()

MoFEM::DMCtx::DMCtx ( )

Definition at line 30 of file DMMMoFEM.cpp.

31  : mField_ptr(PETSC_NULL), isProblemBuild(PETSC_FALSE),
32  isPartitioned(PETSC_FALSE), isSquareMatrix(PETSC_TRUE),
33  isSubDM(PETSC_FALSE), isCompDM(PETSC_FALSE), destroyProblem(PETSC_FALSE),
35 
36  if (!LogManager::checkIfChannelExist("DMWORLD")) {
37  auto core_log = logging::core::get();
38  core_log->add_sink(
40  core_log->add_sink(
42  core_log->add_sink(
44  LogManager::setLog("DMWORLD");
45  LogManager::setLog("DMSYNC");
46  LogManager::setLog("DMSELF");
47  MOFEM_LOG_TAG("DMWORLD", "DM");
48  MOFEM_LOG_TAG("DMSYNC", "DM");
49  MOFEM_LOG_TAG("DMSELF", "DM");
50  }
51 }
@ VERBOSE
Definition: definitions.h:222
static LoggerType & setLog(const std::string channel)
Set ans resset chanel logger.
Definition: LogManager.cpp:364
#define MOFEM_LOG_TAG(channel, tag)
Tag channel.
Definition: LogManager.hpp:342
PetscBool isCompDM
Definition: DMMoFEM.hpp:918
PetscBool isSquareMatrix
true if rows equals to cols
Definition: DMMoFEM.hpp:905
PetscBool isPartitioned
true if read mesh is on parts
Definition: DMMoFEM.hpp:904
PetscBool isSubDM
Definition: DMMoFEM.hpp:913
int referenceNumber
Definition: DMMoFEM.hpp:932
int verbosity
verbosity
Definition: DMMoFEM.hpp:931
PetscBool isProblemBuild
True if problem is build.
Definition: DMMoFEM.hpp:900
Interface * mField_ptr
MoFEM interface.
Definition: DMMoFEM.hpp:899
PetscBool destroyProblem
If true destroy problem with DM.
Definition: DMMoFEM.hpp:926
static boost::shared_ptr< SinkType > createSink(boost::shared_ptr< std::ostream > stream_ptr, std::string comm_filter)
Create a sink object.
Definition: LogManager.cpp:279
static boost::shared_ptr< std::ostream > getStrmWorld()
Get the strm world object.
Definition: LogManager.cpp:323
static boost::shared_ptr< std::ostream > getStrmSync()
Get the strm sync object.
Definition: LogManager.cpp:327
static bool checkIfChannelExist(const std::string channel)
Check if channel exist.
Definition: LogManager.cpp:374
static boost::shared_ptr< std::ostream > getStrmSelf()
Get the strm self object.
Definition: LogManager.cpp:319

◆ ~DMCtx()

virtual MoFEM::DMCtx::~DMCtx ( )
virtualdefault

Member Function Documentation

◆ query_interface()

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

Implements MoFEM::UnknownInterface.

Reimplemented in DMMGViaApproxOrdersCtx.

Definition at line 53 of file DMMMoFEM.cpp.

54  {
55  *iface = const_cast<DMCtx *>(this);
56  return 0;
57 }

Member Data Documentation

◆ colCompPrb

std::vector<std::string> MoFEM::DMCtx::colCompPrb

Definition at line 920 of file DMMoFEM.hpp.

◆ colFields

std::vector<std::string> MoFEM::DMCtx::colFields

Definition at line 915 of file DMMoFEM.hpp.

◆ destroyProblem

PetscBool MoFEM::DMCtx::destroyProblem

If true destroy problem with DM.

Definition at line 926 of file DMMoFEM.hpp.

◆ isCompDM

PetscBool MoFEM::DMCtx::isCompDM

Definition at line 918 of file DMMoFEM.hpp.

◆ isPartitioned

PetscBool MoFEM::DMCtx::isPartitioned

true if read mesh is on parts

Definition at line 904 of file DMMoFEM.hpp.

◆ isProblemBuild

PetscBool MoFEM::DMCtx::isProblemBuild

True if problem is build.

Definition at line 900 of file DMMoFEM.hpp.

◆ isSquareMatrix

PetscBool MoFEM::DMCtx::isSquareMatrix

true if rows equals to cols

Definition at line 905 of file DMMoFEM.hpp.

◆ isSubDM

PetscBool MoFEM::DMCtx::isSubDM

Definition at line 913 of file DMMoFEM.hpp.

◆ kspCtx

boost::shared_ptr<KspCtx> MoFEM::DMCtx::kspCtx

data structure KSP

Definition at line 934 of file DMMoFEM.hpp.

◆ mapTypeCol

boost::shared_ptr<std::map<std::string, std::pair<EntityType, EntityType> > > MoFEM::DMCtx::mapTypeCol

Definition at line 924 of file DMMoFEM.hpp.

◆ mapTypeRow

boost::shared_ptr<std::map<std::string, std::pair<EntityType, EntityType> > > MoFEM::DMCtx::mapTypeRow

Definition at line 922 of file DMMoFEM.hpp.

◆ mField_ptr

Interface* MoFEM::DMCtx::mField_ptr

MoFEM interface.

Definition at line 899 of file DMMoFEM.hpp.

◆ problemMainOfSubPtr

const Problem* MoFEM::DMCtx::problemMainOfSubPtr

pinter to main problem to sub-problem

Definition at line 916 of file DMMoFEM.hpp.

◆ problemName

std::string MoFEM::DMCtx::problemName

Problem name.

Definition at line 901 of file DMMoFEM.hpp.

◆ problemPtr

const Problem* MoFEM::DMCtx::problemPtr

pinter to problem data structure

Definition at line 910 of file DMMoFEM.hpp.

◆ rAnk

int MoFEM::DMCtx::rAnk

Definition at line 907 of file DMMoFEM.hpp.

◆ referenceNumber

int MoFEM::DMCtx::referenceNumber

Definition at line 932 of file DMMoFEM.hpp.

◆ rowCompPrb

std::vector<std::string> MoFEM::DMCtx::rowCompPrb

Definition at line 919 of file DMMoFEM.hpp.

◆ rowFields

std::vector<std::string> MoFEM::DMCtx::rowFields

Definition at line 914 of file DMMoFEM.hpp.

◆ sIze

int MoFEM::DMCtx::sIze

Definition at line 907 of file DMMoFEM.hpp.

◆ snesCtx

boost::shared_ptr<SnesCtx> MoFEM::DMCtx::snesCtx

data structure SNES

Definition at line 935 of file DMMoFEM.hpp.

◆ tsCtx

boost::shared_ptr<TsCtx> MoFEM::DMCtx::tsCtx

data structure for TS solver

Definition at line 936 of file DMMoFEM.hpp.

◆ verbosity

int MoFEM::DMCtx::verbosity

verbosity

Definition at line 931 of file DMMoFEM.hpp.


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