v0.10.0
Public Member Functions | Public Attributes | List of all members
MoFEM::ISManager Struct Reference

Section manager is used to create indexes and sections. More...

#include <src/interfaces/ISManager.hpp>

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

Public Member Functions

MoFEMErrorCode query_interface (const MOFEMuuid &uuid, UnknownInterface **iface) const
 
 ISManager (const MoFEM::Core &core)
 
virtual ~ISManager ()=default
 Destructor. More...
 
MoFEMErrorCode sectionCreate (const std::string &problem_name, PetscSection *s, const RowColData row_col=COL) const
 Create global selection. More...
 
MoFEMErrorCode isCreateProblemOrder (const std::string &problem, RowColData rc, int min_order, int max_order, IS *is) const
 create IS for given order range (collective) More...
 
MoFEMErrorCode isCreateProblemOrder (const std::string &problem, RowColData rc, int min_order, int max_order, SmartPetscObj< IS > &is) const
 create IS for given order range (collective) More...
 
MoFEMErrorCode isCreateProblemFieldAndRank (const std::string &problem, RowColData rc, const std::string &field, int min_coeff_idx, int max_coeff_idx, IS *is, Range *ents=nullptr) const
 create IS for given problem, field and rank range (collective) More...
 
MoFEMErrorCode isCreateProblemFieldAndRank (const std::string &problem, RowColData rc, const std::string &field, int min_coeff_idx, int max_coeff_idx, SmartPetscObj< IS > &smart_is, Range *ents=nullptr) const
 IS for given problem, field and rank range (collective) More...
 
MoFEMErrorCode isCreateProblemFieldAndEntityType (const std::string &problem, RowColData rc, const std::string &field, EntityType low_type, EntityType hi_type, int min_coeff_idx, int max_coeff_idx, IS *is, Range *ents=nullptr) const
 create IS for given problem, field and type range (collective) More...
 
MoFEMErrorCode isCreateFromProblemFieldToOtherProblemField (const std::string &x_problem, const std::string &x_field_name, RowColData x_rc, const std::string &y_problem, const std::string &y_field_name, RowColData y_rc, std::vector< int > &idx, std::vector< int > &idy) const
 create IS for give two problems and field More...
 
MoFEMErrorCode isCreateFromProblemFieldToOtherProblemField (const std::string &x_problem, const std::string &x_field_name, RowColData x_rc, const std::string &y_problem, const std::string &y_field_name, RowColData y_rc, IS *ix, IS *iy) const
 create IS for give two problems and field More...
 
MoFEMErrorCode isCreateFromProblemToOtherProblem (const std::string &x_problem, RowColData x_rc, const std::string &y_problem, RowColData y_rc, std::vector< int > &idx, std::vector< int > &idy) const
 Create is from one problem to other problem. More...
 
MoFEMErrorCode isCreateFromProblemToOtherProblem (const std::string &x_problem, RowColData x_rc, const std::string &y_problem, RowColData y_rc, IS *ix, IS *iy) const
 Create is from one problem to other problem. More...
 
- Public Member Functions inherited from MoFEM::UnknownInterface
template<class IFACE >
MoFEMErrorCode registerInterface (const MOFEMuuid &uuid, bool error_if_registration_failed=true)
 Register interface. More...
 
template<class IFACE , bool VERIFY = false>
MoFEMErrorCode getInterface (const MOFEMuuid &uuid, IFACE *&iface) const
 Get interface by uuid and return reference to pointer of 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
 
virtual MoFEMErrorCode getLibVersion (Version &version) const
 Get library version. More...
 
virtual const MoFEMErrorCode getFileVersion (moab::Interface &moab, Version &version) const
 Get database major version. More...
 
virtual MoFEMErrorCode getInterfaceVersion (Version &version) const
 Get database major version. More...
 
template<>
MoFEMErrorCode getInterface (const MOFEMuuid &uuid, UnknownInterface *&iface) const
 

Public Attributes

const MoFEM::InterfacecOre
 
bool dEbug
 

Additional Inherited Members

- Protected Member Functions inherited from MoFEM::UnknownInterface
boost::typeindex::type_index getClassIdx (const MOFEMuuid &uid) const
 Get type name for interface Id. More...
 
MOFEMuuid getUId (const boost::typeindex::type_index &class_idx) const
 Get interface Id for class name. More...
 

Detailed Description

Section manager is used to create indexes and sections.

FIXME: ISManager is not properly testsed by atom tests.

Definition at line 36 of file ISManager.hpp.

Constructor & Destructor Documentation

◆ ISManager()

MoFEM::ISManager::ISManager ( const MoFEM::Core core)

Definition at line 34 of file ISManager.cpp.

35  : cOre(const_cast<MoFEM::Core &>(core)), dEbug(false) {}
Core (interface) class.
Definition: Core.hpp:77
const MoFEM::Interface & cOre
Definition: ISManager.hpp:41

◆ ~ISManager()

virtual MoFEM::ISManager::~ISManager ( )
virtualdefault

Destructor.

Member Function Documentation

◆ isCreateProblemOrder()

MoFEMErrorCode MoFEM::ISManager::isCreateProblemOrder ( const std::string &  problem,
RowColData  rc,
int  min_order,
int  max_order,
SmartPetscObj< IS > &  is 
) const

create IS for given order range (collective)

Parameters
problemname
rcROW or COL
min_order
max_order
Return values
isout value

Definition at line 216 of file ISManager.cpp.

219  {
221  IS raw_is;
222  CHKERR isCreateProblemOrder(problem, rc, min_order, max_order, &raw_is);
223  is = SmartPetscObj<IS>(raw_is);
225 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:415
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:485
#define CHKERR
Inline error check.
Definition: definitions.h:604
MoFEMErrorCode isCreateProblemOrder(const std::string &problem, RowColData rc, int min_order, int max_order, IS *is) const
create IS for given order range (collective)
Definition: ISManager.cpp:159

◆ query_interface()

MoFEMErrorCode MoFEM::ISManager::query_interface ( const MOFEMuuid uuid,
UnknownInterface **  iface 
) const
virtual

Implements MoFEM::UnknownInterface.

Definition at line 22 of file ISManager.cpp.

23  {
25  *iface = NULL;
26  if (uuid == IDD_MOFEMISManager) {
27  *iface = const_cast<ISManager *>(this);
29  }
30  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY, "unknown interface");
32 }
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:516
@ MOFEM_DATA_INCONSISTENCY
Definition: definitions.h:123
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:509
static const MOFEMuuid IDD_MOFEMISManager
Definition: ISManager.hpp:26
ISManager(const MoFEM::Core &core)
Definition: ISManager.cpp:34

Member Data Documentation

◆ cOre

const MoFEM::Interface& MoFEM::ISManager::cOre

Definition at line 41 of file ISManager.hpp.

◆ dEbug

bool MoFEM::ISManager::dEbug

Definition at line 42 of file ISManager.hpp.


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