v0.8.4
Public Member Functions | Public Attributes | List of all members
MoFEM::BitRefManager Struct Reference

Managing BitRefLevels. More...

#include <src/interfaces/BitRefManager.hpp>

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

Public Member Functions

MoFEMErrorCode query_interface (const MOFEMuuid &uuid, UnknownInterface **iface) const
 
 BitRefManager (const MoFEM::Core &core)
 
 ~BitRefManager ()
 Destructor. 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

MoFEM::CorecOre
 
bool dEbug
 

Setting and shifting bits

MoFEMErrorCode setBitRefLevel (const Range &ents, const BitRefLevel &bit, const bool only_tets=true, int verb=0) const
 add entities to database and set bit ref levelThis function set bit ref level, add entries to core database and create ref finite elements. Finite elements are create of entities in function argument, whereas all lower dimension entities are added as a field entities More...
 
MoFEMErrorCode setElementsBitRefLevel (const Range &ents, const BitRefLevel bit=BitRefLevel(), int verb=0) const
 add entities to database and set bit ref level More...
 
MoFEMErrorCode setEntitiesBitRefLevel (const Range &ents, const BitRefLevel bit=BitRefLevel(), int verb=0) const
 add entities to database and set bit ref level More...
 
MoFEMErrorCode addToDatabaseBitRefLevelByType (const EntityType type, const BitRefLevel &bit, int verb=0) const
 
MoFEMErrorCode addToDatabaseBitRefLevelByDim (const int dim, const BitRefLevel &bit, int verb=0) const
 
MoFEMErrorCode setBitRefLevelByDim (const EntityHandle meshset, const int dim, const BitRefLevel &bit, int verb=0) const
 
MoFEMErrorCode setBitRefLevelByType (const EntityHandle meshset, const EntityType type, const BitRefLevel &bit, int verb=0) const
 
MoFEMErrorCode setBitLevelToMeshset (const EntityHandle meshset, const BitRefLevel &bit, int verb=0) const
 
MoFEMErrorCode addBitRefLevel (const Range &ents, const BitRefLevel &bit, int verb=QUIET) const
 add bit ref level to ref entity More...
 
MoFEMErrorCode addBitRefLevelByDim (const EntityHandle meshset, const int dim, const BitRefLevel &bit, int verb=QUIET) const
 add bit ref level by dimension More...
 
MoFEMErrorCode setNthBitRefLevel (const Range &ents, const int n, const bool b, int verb=0) const
 Set nth bit ref level. More...
 
MoFEMErrorCode setNthBitRefLevel (const int n, const bool b, int verb=0) const
 Set nth bit ref level. More...
 
MoFEMErrorCode shiftLeftBitRef (const int shift, const BitRefLevel mask=BitRefLevel().set(), int verb=-1) const
 left shift bit ref levelthis results of deletion of entities on far left side More...
 
MoFEMErrorCode shiftRightBitRef (const int shift, const BitRefLevel mask=BitRefLevel().set(), int verb=-1) const
 right shift bit ref level More...
 

Entity handlers by bit ref level

MoFEMErrorCode filterEntitiesByRefLevel (const BitRefLevel &bit, const BitRefLevel &mask, Range &ents, int verb=QUIET) const
 filter entities by bit ref level More...
 
MoFEMErrorCode getEntitiesByTypeAndRefLevel (const BitRefLevel &bit, const BitRefLevel &mask, const EntityType type, const EntityHandle meshset, int verb=0) const
 add all ents from ref level given by bit to meshset More...
 
MoFEMErrorCode getEntitiesByTypeAndRefLevel (const BitRefLevel &bit, const BitRefLevel &mask, const EntityType type, Range &ents, int verb=0) const
 add all ents from ref level given by bit to meshset More...
 
MoFEMErrorCode getEntitiesByDimAndRefLevel (const BitRefLevel &bit, const BitRefLevel &mask, const int dim, const EntityHandle meshset, int verb=0) const
 add all ents from ref level given by bit to meshset More...
 
MoFEMErrorCode getEntitiesByDimAndRefLevel (const BitRefLevel &bit, const BitRefLevel &mask, const int dim, Range &ents, int verb=0) const
 add all ents from ref level given by bit to meshset More...
 
MoFEMErrorCode getEntitiesByRefLevel (const BitRefLevel &bit, const BitRefLevel &mask, const EntityHandle meshset, const int verb=QUIET) const
 add all ents from ref level given by bit to meshset More...
 
MoFEMErrorCode getEntitiesByRefLevel (const BitRefLevel &bit, const BitRefLevel &mask, Range &ents, const int verb=QUIET) const
 add all ents from ref level given by bit to meshset More...
 
MoFEMErrorCode getEntitiesByParentType (const BitRefLevel &bit, const BitRefLevel &mask, const EntityType type, Range &ents) const
 get entities by bit ref level and type of parent More...
 
MoFEMErrorCode getAllEntitiesNotInDatabase (Range &ents) const
 Get all entities not in database. More...
 
MoFEMErrorCode filterEntitiesNotInDatabase (Range &ents) const
 Get entities not in database. More...
 

Get adjacencies bit ref level

virtual MoFEMErrorCode getAdjacenciesEquality (const EntityHandle from_entity, const int to_dimension, Range &adj_entities) const
 Get the adjacencies associated with a entity to entities of a specified dimension.bit ref level of adjacent entities is equal to bit ref level of adjacent entities. More...
 
virtual MoFEMErrorCode getAdjacenciesAny (const EntityHandle from_entity, const int to_dimension, Range &adj_entities) const
 Get the adjacencies associated with a entity to entities of a specified dimension.bit ref level of adjacent entities is any of bit ref level of adjacent entities. More...
 
virtual MoFEMErrorCode getAdjacencies (const Problem *problem_ptr, const EntityHandle *from_entities, const int num_entities, const int to_dimension, Range &adj_entities, const int operation_type=moab::Interface::INTERSECT, const int verb=0) const
 Get the adjacencies associated with a entity to entities of a specified dimension.bit ref level of adjacent entities is equal to bit ref level of adjacent entities. More...
 
virtual MoFEMErrorCode getAdjacencies (const BitRefLevel &bit, const EntityHandle *from_entities, const int num_entities, const int to_dimension, Range &adj_entities, const int operation_type=moab::Interface::INTERSECT, const int verb=0) const
 Get the adjacencies associated with a entity to entities of a specified dimension.bit ref level of adjacent entities is equal to bit ref level of adjacent entities. More...
 

Update meshsets and ranges by children

MoFEMErrorCode updateMeshsetByEntitiesChildren (const EntityHandle parent, const BitRefLevel &parent_bit, const BitRefLevel &parent_mask, const BitRefLevel &child_bit, const BitRefLevel &child_mask, const EntityHandle child, EntityType child_type, const bool recursive=false, int verb=0)
 Get child entities form meshset containing parent entitiesSearch for refined entities of given type whose parent are entities in the parent meshset. It can be used for example to transfer information about boundary conditions to refined mesh or split mesh by interface elements. It is used by function refine_MESHSET, to update MESHSET finite elements. More...
 
MoFEMErrorCode updateMeshsetByEntitiesChildren (const EntityHandle parent, const BitRefLevel &child_bit, const EntityHandle child, EntityType child_type, const bool recursive=false, int verb=0)
 Get child entities form meshset containing parent entities. More...
 
MoFEMErrorCode updateFieldMeshsetByEntitiesChildren (const BitRefLevel &child_bit, int verb=0)
 update fields meshesets by child entities More...
 
MoFEMErrorCode updateFieldMeshsetByEntitiesChildren (const std::string name, const BitRefLevel &child_bit, int verb=0)
 update field meshset by child entities More...
 
MoFEMErrorCode updateFiniteElementMeshsetByEntitiesChildren (const std::string name, const BitRefLevel &child_bit, const EntityType fe_ent_type, int verb=0)
 update finite element meshset by child entities More...
 
MoFEMErrorCode updateRange (const Range &parent, Range &child)
 Update range by prents. More...
 

Writting files

MoFEMErrorCode writeBitLevelByType (const BitRefLevel &bit, const BitRefLevel &mask, const EntityType type, const char *file_name, const char *file_type, const char *options) const
 Write bit ref level to file. More...
 
MoFEMErrorCode writeEntitiesNotInDatabase (const char *file_name, const char *file_type, const char *options) const
 Write ents not in database. More...
 

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

Managing BitRefLevels.

Examples:
elasticity.cpp, field_to_vertices.cpp, forces_and_sources_testing_edge_element.cpp, mesh_cut.cpp, mesh_smoothing.cpp, minimal_surface_area.cpp, split_sideset.cpp, and unsaturated_transport.cpp.

Definition at line 34 of file BitRefManager.hpp.

Constructor & Destructor Documentation

◆ BitRefManager()

MoFEM::BitRefManager::BitRefManager ( const MoFEM::Core core)

Definition at line 34 of file BitRefManager.cpp.

35  : cOre(const_cast<MoFEM::Core &>(core)), dEbug(false) {}

◆ ~BitRefManager()

MoFEM::BitRefManager::~BitRefManager ( )

Destructor.

Definition at line 36 of file BitRefManager.cpp.

36 {}

Member Function Documentation

◆ filterEntitiesByRefLevel()

MoFEMErrorCode MoFEM::BitRefManager::filterEntitiesByRefLevel ( const BitRefLevel bit,
const BitRefLevel mask,
Range &  ents,
int  verb = QUIET 
) const

filter entities by bit ref level

Parameters
bit
mask
ents
QUIET
Returns
MoFEMErrorCode

Definition at line 556 of file BitRefManager.cpp.

559  {
560  MoFEM::Interface &m_field = cOre;
561  moab::Interface &moab(m_field.get_moab());
563 
564  const BitRefLevel *tag_bit;
565 
566  Range swap_ents;
567  for (Range::pair_iterator p_eit = ents.pair_begin(); p_eit != ents.pair_end();
568  ++p_eit) {
569  EntityHandle f = p_eit->first;
570  EntityHandle s = p_eit->second;
571 
572  EntityHandle ff = 0;
573  EntityHandle ss = 0;
574 
575  for (; f != (s + 1); ++f) {
576  // Get entity bit ref level
577  rval = moab.tag_get_by_ptr(cOre.get_th_RefBitLevel(), &f, 1,
578  (const void **)(&tag_bit));
579  if (PetscLikely(rval == MB_SUCCESS)) {
580  if ((mask.any() && tag_bit->none()) ||
581  ((*tag_bit) & mask) != (*tag_bit) || (((*tag_bit) & bit).none())) {
582  // Entity not on BitRefLevel.
583  if (ff != 0) {
584  // Add sub-range
585  swap_ents.insert(ff, ss);
586  ff = ss = 0;
587  }
588  } else {
589  if (ff == 0) {
590  // Start new sub-range
591  ff = ss = f;
592  } else {
593  // Add entity to sub-range
594  ss = f;
595  }
596  }
597  } else {
598  if (ff != 0) {
599  // Add sub-range
600  swap_ents.insert(ff, ss);
601  }
602  // Start new sub-range
603  ff = ss = 0;
604  }
605  }
606 
607  if (ff != 0) {
608  swap_ents.insert(ff, ss);
609  }
610  }
611 
612  ents.swap(swap_ents);
613 
615 }
Tag get_th_RefBitLevel() const
Definition: Core.hpp:151
virtual moab::Interface & get_moab()=0
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:522
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:528
std::bitset< BITREFLEVEL_SIZE > BitRefLevel
Bit structure attached to each entity identifying to what mesh entity is attached.
Definition: Common.hpp:147
static MoFEMErrorCodeGeneric< moab::ErrorCode > rval
Definition: Common.hpp:78

◆ filterEntitiesNotInDatabase()

MoFEMErrorCode MoFEM::BitRefManager::filterEntitiesNotInDatabase ( Range &  ents) const

Get entities not in database.

Parameters
ents
Returns
MoFEMErrorCode

Definition at line 722 of file BitRefManager.cpp.

722  {
723  MoFEM::Interface &m_field = cOre;
724  const RefEntity_multiIndex *ref_ents_ptr;
726  ierr = m_field.get_ref_ents(&ref_ents_ptr);
727  CHKERRG(ierr);
728  Range::iterator eit = ents.begin();
729  for (; eit != ents.end();) {
730  RefEntity_multiIndex::index<Ent_mi_tag>::type::iterator rit;
731  rit = ref_ents_ptr->get<Ent_mi_tag>().find(*eit);
732  if (rit != ref_ents_ptr->get<Ent_mi_tag>().end()) {
733  eit = ents.erase(eit);
734  } else {
735  eit++;
736  }
737  }
739 }
virtual MoFEMErrorCode get_ref_ents(const RefEntity_multiIndex **refined_ents_ptr) const =0
Get ref entities multi-index from database.
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:522
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:565
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:528
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Common.hpp:80
multi_index_container< boost::shared_ptr< RefEntity >, indexed_by< ordered_unique< tag< Ent_mi_tag >, member< RefEntity::BasicEntity, EntityHandle, &RefEntity::ent > >, ordered_non_unique< tag< Ent_Ent_mi_tag >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getParentEnt > >, ordered_non_unique< tag< EntType_mi_tag >, const_mem_fun< RefEntity::BasicEntity, EntityType, &RefEntity::getEntType > >, ordered_non_unique< tag< ParentEntType_mi_tag >, const_mem_fun< RefEntity, EntityType, &RefEntity::getParentEntType > >, ordered_non_unique< tag< Composite_EntType_and_ParentEntType_mi_tag >, composite_key< RefEntity, const_mem_fun< RefEntity::BasicEntity, EntityType, &RefEntity::getEntType >, const_mem_fun< RefEntity, EntityType, &RefEntity::getParentEntType > > >, ordered_non_unique< tag< Composite_ParentEnt_And_EntType_mi_tag >, composite_key< RefEntity, const_mem_fun< RefEntity::BasicEntity, EntityType, &RefEntity::getEntType >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getParentEnt > > > > > RefEntity_multiIndex

◆ getAllEntitiesNotInDatabase()

MoFEMErrorCode MoFEM::BitRefManager::getAllEntitiesNotInDatabase ( Range &  ents) const

Get all entities not in database.

Parameters
ents
Returns
MoFEMErrorCode

Definition at line 710 of file BitRefManager.cpp.

710  {
711  MoFEM::Interface &m_field = cOre;
712  moab::Interface &moab = m_field.get_moab();
714  rval = moab.get_entities_by_handle(0, ents, false);
716  ents = subtract(ents, ents.subset_by_type(MBENTITYSET));
718  CHKERRG(ierr);
720 }
#define CHKERRQ_MOAB(a)
check error code of MoAB function
Definition: definitions.h:536
virtual moab::Interface & get_moab()=0
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:522
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:565
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:528
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Common.hpp:80
static MoFEMErrorCodeGeneric< moab::ErrorCode > rval
Definition: Common.hpp:78
MoFEMErrorCode filterEntitiesNotInDatabase(Range &ents) const
Get entities not in database.

◆ getEntitiesByParentType()

MoFEMErrorCode MoFEM::BitRefManager::getEntitiesByParentType ( const BitRefLevel bit,
const BitRefLevel mask,
const EntityType  type,
Range &  ents 
) const

get entities by bit ref level and type of parent

Note
Entities have to be added to MoFEM database
Parameters
BitRefLevelbitLevel
BitRefLevelmask
typeof parent
entsreturned ents
Returns
error code

Definition at line 684 of file BitRefManager.cpp.

687  {
688  MoFEM::Interface &m_field = cOre;
689  // moab::Interface &moab = m_field.get_moab();
690  const RefEntity_multiIndex *ref_ents_ptr;
692  ierr = m_field.get_ref_ents(&ref_ents_ptr);
693  CHKERRG(ierr);
694  typedef RefEntity_multiIndex::index<ParentEntType_mi_tag>::type
695  RefEntsByParentType;
696  const RefEntsByParentType &ref_ents =
697  ref_ents_ptr->get<ParentEntType_mi_tag>();
698  RefEntsByParentType::iterator it, hi_it;
699  it = ref_ents.lower_bound(type);
700  hi_it = ref_ents.upper_bound(type);
701  for (; it != hi_it; it++) {
702  const BitRefLevel &ent_bit = it->get()->getBitRefLevel();
703  if ((ent_bit & mask) == ent_bit && (ent_bit & bit).any()) {
704  ents.insert(it->get()->getRefEnt());
705  }
706  }
708 }
virtual MoFEMErrorCode get_ref_ents(const RefEntity_multiIndex **refined_ents_ptr) const =0
Get ref entities multi-index from database.
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:522
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:565
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:528
std::bitset< BITREFLEVEL_SIZE > BitRefLevel
Bit structure attached to each entity identifying to what mesh entity is attached.
Definition: Common.hpp:147
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Common.hpp:80
multi_index_container< boost::shared_ptr< RefEntity >, indexed_by< ordered_unique< tag< Ent_mi_tag >, member< RefEntity::BasicEntity, EntityHandle, &RefEntity::ent > >, ordered_non_unique< tag< Ent_Ent_mi_tag >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getParentEnt > >, ordered_non_unique< tag< EntType_mi_tag >, const_mem_fun< RefEntity::BasicEntity, EntityType, &RefEntity::getEntType > >, ordered_non_unique< tag< ParentEntType_mi_tag >, const_mem_fun< RefEntity, EntityType, &RefEntity::getParentEntType > >, ordered_non_unique< tag< Composite_EntType_and_ParentEntType_mi_tag >, composite_key< RefEntity, const_mem_fun< RefEntity::BasicEntity, EntityType, &RefEntity::getEntType >, const_mem_fun< RefEntity, EntityType, &RefEntity::getParentEntType > > >, ordered_non_unique< tag< Composite_ParentEnt_And_EntType_mi_tag >, composite_key< RefEntity, const_mem_fun< RefEntity::BasicEntity, EntityType, &RefEntity::getEntType >, const_mem_fun< RefEntity, EntityHandle, &RefEntity::getParentEnt > > > > > RefEntity_multiIndex

◆ query_interface()

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

Implements MoFEM::UnknownInterface.

Definition at line 22 of file BitRefManager.cpp.

23  {
25  *iface = NULL;
26  if (uuid == IDD_MOFEMBitRefManager) {
27  *iface = const_cast<BitRefManager *>(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:522
static const MOFEMuuid IDD_MOFEMBitRefManager
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:528
BitRefManager(const MoFEM::Core &core)

◆ writeBitLevelByType()

MoFEMErrorCode MoFEM::BitRefManager::writeBitLevelByType ( const BitRefLevel bit,
const BitRefLevel mask,
const EntityType  type,
const char *  file_name,
const char *  file_type,
const char *  options 
) const

Write bit ref level to file.

Parameters
bitbit ref level
maskmask of bit ref level
typetype of entity
file_namefile name (see moab documentation)
file_typefile type (see moab documentation)
optionsfile options (see moab documentation)
Returns
error code

Definition at line 513 of file BitRefManager.cpp.

515  {
516  MoFEM::Interface &m_field = cOre;
517  moab::Interface &moab(m_field.get_moab());
519  EntityHandle meshset;
520  CHKERR moab.create_meshset(MESHSET_SET, meshset);
521  CHKERR getEntitiesByTypeAndRefLevel(bit, mask, type, meshset);
522  CHKERR moab.write_file(file_name, file_type, options, &meshset, 1);
523  CHKERR moab.delete_entities(&meshset, 1);
525 }
virtual moab::Interface & get_moab()=0
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:498
MoFEMErrorCode getEntitiesByTypeAndRefLevel(const BitRefLevel &bit, const BitRefLevel &mask, const EntityType type, const EntityHandle meshset, int verb=0) const
add all ents from ref level given by bit to meshset
#define CHKERR
Inline error check.
Definition: definitions.h:617
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:443

◆ writeEntitiesNotInDatabase()

MoFEMErrorCode MoFEM::BitRefManager::writeEntitiesNotInDatabase ( const char *  file_name,
const char *  file_type,
const char *  options 
) const

Write ents not in database.

Parameters
file_name
file_typefor example "VTK"
options
Returns
MoFEMErrorCode

Definition at line 527 of file BitRefManager.cpp.

528  {
529  MoFEM::Interface &m_field = cOre;
530  moab::Interface &moab(m_field.get_moab());
532  EntityHandle meshset;
533  CHKERR moab.create_meshset(MESHSET_SET, meshset);
534  Range ents;
536  CHKERR moab.add_entities(meshset, ents);
537  CHKERR moab.write_file(file_name, file_type, options, &meshset, 1);
538  CHKERR moab.delete_entities(&meshset, 1);
540 }
virtual moab::Interface & get_moab()=0
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:498
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Common.hpp:80
#define CHKERR
Inline error check.
Definition: definitions.h:617
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:443
MoFEMErrorCode getAllEntitiesNotInDatabase(Range &ents) const
Get all entities not in database.

Member Data Documentation

◆ cOre

MoFEM::Core& MoFEM::BitRefManager::cOre

Definition at line 39 of file BitRefManager.hpp.

◆ dEbug

bool MoFEM::BitRefManager::dEbug

Definition at line 40 of file BitRefManager.hpp.


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