v0.8.19
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)
 
 ~ISManager ()
 Destructor. More...
 
MoFEMErrorCode sectionCreate (const std::string &problem_name, PetscSection *s, const RowColData row_col=COL) const
 Create global selectionCreate section for given problem, such that points are sorted by UId, and number of dofs on point is equal to number of dofs on entity. 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 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 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 fieldNote that indices are ordered in ascending order of local indices in problem_y 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 fieldIndices are sorted by global PETSc index in problem_x. 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 ()
 
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.

Examples:
cell_forces.cpp, dm_build_partitioned_mesh.cpp, and Remodeling.cpp.

Definition at line 34 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) {}
const MoFEM::Interface & cOre
Definition: ISManager.hpp:39

◆ ~ISManager()

MoFEM::ISManager::~ISManager ( )

Destructor.

Definition at line 36 of file ISManager.cpp.

36 {}

Member Function Documentation

◆ 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 MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:499
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:506
ISManager(const MoFEM::Core &core)
Definition: ISManager.cpp:34
static const MOFEMuuid IDD_MOFEMISManager
Definition: ISManager.hpp:26

Member Data Documentation

◆ cOre

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

Definition at line 39 of file ISManager.hpp.

◆ dEbug

bool MoFEM::ISManager::dEbug

Definition at line 40 of file ISManager.hpp.


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