v0.10.0
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)
 
virtual ~BitRefManager ()=default
 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 ()=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

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 level More...
 
MoFEMErrorCode setElementsBitRefLevel (const Range &ents, const BitRefLevel bit=BitRefLevel(), int verb=QUIET) const
 add entities to database and set bit ref level More...
 
MoFEMErrorCode setEntitiesBitRefLevel (const Range &ents, const BitRefLevel bit=BitRefLevel(), int verb=QUIET) const
 add entities to database and set bit ref level More...
 
MoFEMErrorCode setFieldEntitiesBitRefLevel (const std::string field_name, const BitRefLevel bit=BitRefLevel(), int verb=QUIET) const
 Set the bit ref level to entities in the field meshset. More...
 
MoFEMErrorCode setBitRefLevelByDim (const EntityHandle meshset, const int dim, const BitRefLevel bit, int verb=QUIET) const
 Set the Bit Ref Level By Dim object. More...
 
MoFEMErrorCode setBitRefLevelByType (const EntityHandle meshset, const EntityType type, const BitRefLevel bit, int verb=QUIET) const
 Set the Bit Ref Level By Type object. More...
 
MoFEMErrorCode setBitLevelToMeshset (const EntityHandle meshset, const BitRefLevel bit, int verb=0) const
 
MoFEMErrorCode addToDatabaseBitRefLevelByType (const EntityType type, const BitRefLevel bit, const BitRefLevel mask=BitRefLevel().set(), int verb=QUIET) const
 Add entities which exist in MoAB database, and have set appropiate BitRef level tag, to multi-indices in MoFEM. More...
 
MoFEMErrorCode addToDatabaseBitRefLevelByDim (const int dim, const BitRefLevel bit, const BitRefLevel mask=BitRefLevel().set(), int verb=QUIET) const
 Add entities which exist in MoAB database, and have set appropiate BitRef level tag, to multi-indices in MoFEM. More...
 
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 int verb=QUIET) 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. 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. 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. 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. 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 entities. 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, MoFEMTypes bh=MF_ZERO)
 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 bool check_for_empty=true) const
 Write bit ref level to file. More...
 
MoFEMErrorCode writeEntitiesNotInDatabase (const char *file_name, const char *file_type, const char *options, const bool check_for_empty=true) const
 Write ents not in database. More...
 
MoFEMErrorCode writeEntitiesAllBitLevelsByType (const BitRefLevel mask, const EntityType type, const char *file_name, const char *file_type, const char *options)
 Write all entities by bit levels and type. 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
bernstein_bezier_generate_base.cpp, build_large_problem.cpp, build_problems.cpp, continuity_check_on_contact_prism_side_ele.cpp, continuity_check_on_skeleton_3d.cpp, dm_build_partitioned_mesh.cpp, dm_create_subdm.cpp, dm_partitioned_no_field.cpp, elasticity.cpp, elasticity_mixed_formulation.cpp, ep.cpp, field_axpy_atom_test.cpp, field_to_vertices.cpp, forces_and_sources_testing_edge_element.cpp, forces_and_sources_testing_flat_prism_element.cpp, forces_and_sources_testing_users_base.cpp, hcurl_divergence_operator_2d.cpp, mesh_cut.cpp, mesh_insert_interface_atom.cpp, mesh_smoothing.cpp, minimal_surface_area.cpp, prism_elements_from_surface.cpp, prism_polynomial_approximation.cpp, quad_polynomial_approximation.cpp, Remodeling.cpp, remove_entities_from_problem.cpp, simple_contact.cpp, split_sideset.cpp, test_jacobian_of_simple_contact_element.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) {
36 
37  if (!LogManager::checkIfChannelExist("BitRefSelf")) {
38  auto core_log = logging::core::get();
39  core_log->add_sink(
41  LogManager::setLog("BitRefSelf");
42  core_log->add_sink(
44  LogManager::setLog("BitRefWorld");
45  core_log->add_sink(
47  LogManager::setLog("BitRefSync");
48  MOFEM_LOG_TAG("BitRefSelf", "BitRefManager");
49  MOFEM_LOG_TAG("BitRefWorld", "BitRefManager");
50  MOFEM_LOG_TAG("BitRefSync", "BitRefManager");
51  }
52 
54  MOFEM_LOG("BitRefWorld", Sev::noisy) << "BitRefManager interface created";
55 }

◆ ~BitRefManager()

virtual MoFEM::BitRefManager::~BitRefManager ( )
virtualdefault

Destructor.

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 642 of file BitRefManager.cpp.

645  {
646  MoFEM::Interface &m_field = cOre;
647  moab::Interface &moab(m_field.get_moab());
649 
650  std::vector<EntityHandle> ents_vec;
651  ents_vec.reserve(ents.size());
652 
653  std::vector<BitRefLevel *> tags_bits_ptr_vec(ents.size());
654 
655  Range swap_ents;
656  auto hint = swap_ents.begin();
657 
658  for (Range::pair_iterator p_eit = ents.pair_begin(); p_eit != ents.pair_end();
659  ++p_eit) {
660 
661  EntityHandle f = p_eit->first;
662  const EntityHandle s = p_eit->second;
663 
664  // get bits on entities
665  rval = moab.tag_get_by_ptr(cOre.get_th_RefBitLevel(), Range(f, s),
666  (const void **)(&*tags_bits_ptr_vec.begin()));
667 
668  if (rval == MB_SUCCESS) {
669 
670  auto bit_it = tags_bits_ptr_vec.begin();
671 
672  auto check = [&bit, &mask](const auto &entity_bit) -> bool {
673  return
674 
675  (entity_bit & bit).any() &&
676 
677  ((entity_bit & mask) == entity_bit);
678  };
679 
680  while (f != s + 1) {
681 
682  while (f != s + 1 && !check(**bit_it)) {
683  ++bit_it;
684  ++f;
685  }
686 
687  if (f != s + 1) {
688 
689  const EntityHandle start = f;
690 
691  while (f != (s + 1) && check(**bit_it)) {
692  ++bit_it;
693  ++f;
694  };
695 
696  hint = swap_ents.insert(hint, start, f - 1);
697  }
698  }
699  }
700  }
701 
702  ents.swap(swap_ents);
703 
705 }

◆ filterEntitiesNotInDatabase()

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

Get entities not in database.

Parameters
ents
Returns
MoFEMErrorCode

Definition at line 803 of file BitRefManager.cpp.

803  {
804  MoFEM::Interface &m_field = cOre;
805  auto ref_ents_ptr = m_field.get_ref_ents();
807  auto eit = ents.begin();
808  for (; eit != ents.end();) {
809  auto rit = ref_ents_ptr->get<Ent_mi_tag>().find(*eit);
810  if (rit != ref_ents_ptr->get<Ent_mi_tag>().end()) {
811  eit = ents.erase(eit);
812  } else {
813  eit++;
814  }
815  }
817 }

◆ getAllEntitiesNotInDatabase()

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

Get all entities not in database.

Parameters
ents
Returns
MoFEMErrorCode

Definition at line 793 of file BitRefManager.cpp.

793  {
794  MoFEM::Interface &m_field = cOre;
795  moab::Interface &moab = m_field.get_moab();
797  CHKERR moab.get_entities_by_handle(0, ents, false);
798  ents = subtract(ents, ents.subset_by_type(MBENTITYSET));
801 }

◆ getEntitiesByParentType()

MoFEMErrorCode MoFEM::BitRefManager::getEntitiesByParentType ( const BitRefLevel  bit,
const BitRefLevel  mask,
const EntityType  type,
Range &  ents,
const int  verb = QUIET 
) 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 769 of file BitRefManager.cpp.

773  {
774  MoFEM::Interface &m_field = cOre;
775  auto ref_ents_ptr = m_field.get_ref_ents();
777  auto &ref_ents = ref_ents_ptr->get<Ent_Ent_mi_tag>();
778  auto it = ref_ents.lower_bound(get_id_for_min_type(type));
779  auto hi_it = ref_ents.upper_bound(get_id_for_max_type(type));
780  std::vector<EntityHandle> ents_vec;
781  ents_vec.reserve(std::distance(it, hi_it));
782  for (; it != hi_it; it++) {
783  const BitRefLevel &ent_bit = it->get()->getBitRefLevel();
784  if ((ent_bit & mask) == ent_bit && (ent_bit & bit).any())
785  ents_vec.emplace_back(it->get()->getEnt());
786  }
787  ents.insert_list(ents_vec.begin(), ents_vec.end());
788  if (verb > NOISY)
789  cerr << "getEntitiesByParentType: " << ents << endl;
791 }

◆ 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 }

◆ 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 bool  check_for_empty = true 
) 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 581 of file BitRefManager.cpp.

584  {
585  MoFEM::Interface &m_field = cOre;
586  moab::Interface &moab(m_field.get_moab());
588  Range ents;
589  CHKERR getEntitiesByTypeAndRefLevel(bit, mask, type, ents);
590  if (check_for_empty && ents.empty())
592  EntityHandle meshset;
593  CHKERR moab.create_meshset(MESHSET_SET, meshset);
594  CHKERR moab.add_entities(meshset, ents);
595  CHKERR moab.write_file(file_name, file_type, options, &meshset, 1);
596  CHKERR moab.delete_entities(&meshset, 1);
598 }

◆ writeEntitiesAllBitLevelsByType()

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

Write all entities by bit levels and type.

Parameters
mask
type
file_name
file_type
options
Returns
MoFEMErrorCode

Definition at line 618 of file BitRefManager.cpp.

620  {
622  for (int ll = 0; ll != BITREFLEVEL_SIZE; ++ll) {
623  std::string name = boost::lexical_cast<std::string>(ll) + "_" + file_name;
624  CHKERR writeBitLevelByType(BitRefLevel().set(ll), mask, type, name.c_str(),
625  file_type, options, true);
626  }
628 }

◆ writeEntitiesNotInDatabase()

MoFEMErrorCode MoFEM::BitRefManager::writeEntitiesNotInDatabase ( const char *  file_name,
const char *  file_type,
const char *  options,
const bool  check_for_empty = true 
) const

Write ents not in database.

Parameters
file_name
file_typefor example "VTK"
options
check_for_empty
Returns
MoFEMErrorCode

Definition at line 600 of file BitRefManager.cpp.

602  {
603  MoFEM::Interface &m_field = cOre;
604  moab::Interface &moab(m_field.get_moab());
606  EntityHandle meshset;
607  Range ents;
609  if (check_for_empty && ents.empty())
611  CHKERR moab.create_meshset(MESHSET_SET, meshset);
612  CHKERR moab.add_entities(meshset, ents);
613  CHKERR moab.write_file(file_name, file_type, options, &meshset, 1);
614  CHKERR moab.delete_entities(&meshset, 1);
616 }

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:
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:516
MoFEM::LogManager::getStrmSelf
static boost::shared_ptr< std::ostream > getStrmSelf()
Get the strm self object.
Definition: LogManager.cpp:323
MoFEM::DeprecatedCoreInterface
Deprecated interface functions.
Definition: DeprecatedCoreInterface.hpp:26
EntityHandle
MoFEM::IDD_MOFEMBitRefManager
static const MOFEMuuid IDD_MOFEMBitRefManager
Definition: BitRefManager.hpp:26
NOISY
@ NOISY
Definition: definitions.h:280
MoFEM::LogManager::getStrmSync
static boost::shared_ptr< std::ostream > getStrmSync()
Get the strm sync object.
Definition: LogManager.cpp:331
MoFEM::Interface
DeprecatedCoreInterface Interface
Definition: Interface.hpp:1943
MoFEM::CoreInterface::get_moab
virtual moab::Interface & get_moab()=0
MoFEM::BitRefManager::writeBitLevelByType
MoFEMErrorCode writeBitLevelByType(const BitRefLevel bit, const BitRefLevel mask, const EntityType type, const char *file_name, const char *file_type, const char *options, const bool check_for_empty=true) const
Write bit ref level to file.
Definition: BitRefManager.cpp:581
MoFEM::BitRefManager::filterEntitiesNotInDatabase
MoFEMErrorCode filterEntitiesNotInDatabase(Range &ents) const
Get entities not in database.
Definition: BitRefManager.cpp:803
MOFEM_LOG_FUNCTION
#define MOFEM_LOG_FUNCTION()
Set scope.
Definition: LogManager.hpp:329
MoFEM::BitRefManager::BitRefManager
BitRefManager(const MoFEM::Core &core)
Definition: BitRefManager.cpp:34
MoFEM::BitRefManager::cOre
MoFEM::Core & cOre
Definition: BitRefManager.hpp:39
MoFEM::BitRefManager::getAllEntitiesNotInDatabase
MoFEMErrorCode getAllEntitiesNotInDatabase(Range &ents) const
Get all entities not in database.
Definition: BitRefManager.cpp:793
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:604
MoFEM::CoreTmp< 0 >::get_th_RefBitLevel
Tag get_th_RefBitLevel() const
Definition: Core.hpp:193
HenkyOps::f
auto f
Definition: HenkyOps.hpp:19
MoFEM::LogManager::createSink
static boost::shared_ptr< SinkType > createSink(boost::shared_ptr< std::ostream > stream_ptr, std::string comm_filter)
Create a sink object.
Definition: LogManager.cpp:283
convert.type
type
Definition: convert.py:66
MoFEM::get_id_for_max_type
EntityHandle get_id_for_max_type()
Definition: RefEntsMultiIndices.hpp:26
MoFEM::LogManager::checkIfChannelExist
static bool checkIfChannelExist(const std::string channel)
Check if channel exist.
Definition: LogManager.cpp:378
MoFEM::Types::BitRefLevel
std::bitset< BITREFLEVEL_SIZE > BitRefLevel
Bit structure attached to each entity identifying to what mesh entity is attached.
Definition: Types.hpp:51
MOFEM_LOG_TAG
#define MOFEM_LOG_TAG(channel, tag)
Tag channel.
Definition: LogManager.hpp:343
MoFEM::CoreTmp< 0 >
Core (interface) class.
Definition: Core.hpp:77
MoFEM::BitRefManager::dEbug
bool dEbug
Definition: BitRefManager.hpp:40
MOFEM_LOG
#define MOFEM_LOG(channel, severity)
Log.
Definition: LogManager.hpp:312
MoFEM::get_id_for_min_type
EntityHandle get_id_for_min_type()
Definition: RefEntsMultiIndices.hpp:31
MoFEM::LogManager::getStrmWorld
static boost::shared_ptr< std::ostream > getStrmWorld()
Get the strm world object.
Definition: LogManager.cpp:327
BITREFLEVEL_SIZE
#define BITREFLEVEL_SIZE
max number of refinements
Definition: definitions.h:286
MoFEM::CoreInterface::get_ref_ents
virtual const RefEntity_multiIndex * get_ref_ents() const =0
Get the ref ents object.
MOFEM_DATA_INCONSISTENCY
@ MOFEM_DATA_INCONSISTENCY
Definition: definitions.h:123
MoFEMFunctionBeginHot
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:509
MoFEM::LogManager::setLog
static LoggerType & setLog(const std::string channel)
Set ans resset chanel logger.
Definition: LogManager.cpp:368
MoFEM::BitRefManager::getEntitiesByTypeAndRefLevel
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
Definition: BitRefManager.cpp:630
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:485
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:415
MoFEM::Exceptions::rval
static MoFEMErrorCodeGeneric< moab::ErrorCode > rval
Definition: Exceptions.hpp:85