v0.14.0
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
MoFEM::RefEntityTmp< 0 > Struct Reference

Struct keeps handle to refined handle. More...

#include <src/multi_indices/RefEntsMultiIndices.hpp>

Inheritance diagram for MoFEM::RefEntityTmp< 0 >:
[legend]
Collaboration diagram for MoFEM::RefEntityTmp< 0 >:
[legend]

Public Member Functions

 RefEntityTmp (const boost::shared_ptr< BasicEntityData > &basic_data_ptr, const EntityHandle ent)
 
 RefEntityTmp (const boost::shared_ptr< BasicEntityData > &basic_data_ptr, const EntityHandle ent, EntityHandle *ent_parent_tag_ptr)
 
virtual ~RefEntityTmp ()=default
 
virtual const boost::shared_ptr< BasicEntityDatagetBasicDataPtr () const
 Get pointer to basic data struture. More...
 
int getSideNumber () const
 
boost::shared_ptr< SideNumbergetSideNumberPtr () const
 Get the Side number. More...
 
EntityHandle getEnt () const
 Get the entity handle. More...
 
EntityType getEntType () const
 Get entity type. More...
 
int getEntDimension () const
 Get the Ent Dimension. More...
 
const char * getEntTypeName () const
 Get the Ent Type Name. More...
 
EntityID getEntId () const
 get entity id More...
 
EntityHandle getOwnerEnt () const
 Owner handle on this or other processors. More...
 
int getOwnerProc () const
 
int getPartProc () const
 Get processor. More...
 
int * getPartProcPtr () const
 Get pointer to partition tag. More...
 
unsigned char getPStatus () const
 get pstatus This tag stores various aspects of parallel status in bits; see also define following, to be used in bit mask operations. If an entity is not shared with any other processors, the pstatus is 0, otherwise it's > 0 More...
 
int * getSharingProcsPtr () const
 get shared processors More...
 
EntityHandlegetSharingHandlersPtr () const
 get sharid entity handlers More...
 
EntityHandlegetParentEntPtr () const
 Get pointer to parent entity tag. More...
 
BitRefLevelgetBitRefLevelPtr () const
 Get pointer to bit ref level tag. More...
 
EntityType getParentEntType () const
 Get patent entity. More...
 
EntityHandle getParentEnt () const
 Get parent entity, i.e. entity form one refinement level up. More...
 
const BitRefLevelgetBitRefLevel () const
 Get entity ref bit refinement signature. More...
 
unsigned long int getBitRefLevelULong () const
 Get entity ref bit refinement as ulong. More...
 

Static Public Member Functions

static EntityHandle getOwnerEnt (const EntityHandle ent, boost::shared_ptr< BasicEntityData > basic_ent_data)
 
static int getOwnerProc (const EntityHandle ent, boost::shared_ptr< BasicEntityData > basic_ent_data)
 
static int getPartProc (const EntityHandle ent, const Tag th, const boost::shared_ptr< BasicEntityData > &basic_ptr)
 
static MoFEMErrorCode getParentEnt (Interface &moab, Range ents, std::vector< EntityHandle > vec_patent_ent)
 
static MoFEMErrorCode getBitRefLevel (Interface &moab, Range ents, std::vector< BitRefLevel > &vec_bit_ref_level)
 
static MoFEMErrorCode getBitRefLevel (Interface &moab, Range ents, std::vector< const BitRefLevel * > &vec_ptr_bit_ref_level)
 
static MoFEMErrorCode getBitRefLevel (Interface &moab, std::vector< EntityHandle > &ents, std::vector< const BitRefLevel * > &vec_ptr_bit_ref_level)
 

Public Attributes

EntityHandle ent
 

Static Public Attributes

static boost::weak_ptr< BasicEntityDatabasicDataPtr
 

Private Member Functions

const boost::shared_ptr< RefElementgetRefElementPtr () const
 Get the pointer to reference element. More...
 

Private Attributes

EntityHandleentParentTagPtr
 Tag ptr to parent entity handle. More...
 

Static Private Attributes

static boost::weak_ptr< RefElementrefElementPtr
 

Friends

struct EntFiniteElement
 
struct NumeredEntFiniteElement
 
std::ostream & operator<< (std::ostream &os, const RefEntityTmp &e)
 

Detailed Description

Struct keeps handle to refined handle.

Definition at line 141 of file RefEntsMultiIndices.hpp.

Constructor & Destructor Documentation

◆ RefEntityTmp() [1/2]

MoFEM::RefEntityTmp< 0 >::RefEntityTmp ( const boost::shared_ptr< BasicEntityData > &  basic_data_ptr,
const EntityHandle  ent 
)

Definition at line 25 of file RefEntsMultiIndices.cpp.

28  : ent(ent) {
29  entParentTagPtr = static_cast<EntityHandle *>(get_tag_ptr(
30  basic_data_ptr->moab, basic_data_ptr->th_RefParentHandle, ent, NULL));
31 }

◆ RefEntityTmp() [2/2]

MoFEM::RefEntityTmp< 0 >::RefEntityTmp ( const boost::shared_ptr< BasicEntityData > &  basic_data_ptr,
const EntityHandle  ent,
EntityHandle ent_parent_tag_ptr 
)

Definition at line 33 of file RefEntsMultiIndices.cpp.

36  : ent(ent), entParentTagPtr(ent_parent_tag_ptr) {}

◆ ~RefEntityTmp()

virtual MoFEM::RefEntityTmp< 0 >::~RefEntityTmp ( )
virtualdefault

Member Function Documentation

◆ getBasicDataPtr()

virtual const boost::shared_ptr<BasicEntityData> MoFEM::RefEntityTmp< 0 >::getBasicDataPtr ( ) const
inlinevirtual

Get pointer to basic data struture.

Returns
const boost::shared_ptr<BasicEntityData>

Reimplemented in MoFEM::RefEntityTmp<-1 >.

Definition at line 156 of file RefEntsMultiIndices.hpp.

156  {
157  if (auto ptr = basicDataPtr.lock())
158  return ptr;
159  else
160  return nullptr;
161  }

◆ getBitRefLevel() [1/4]

const BitRefLevel& MoFEM::RefEntityTmp< 0 >::getBitRefLevel ( ) const
inline

Get entity ref bit refinement signature.

Definition at line 509 of file RefEntsMultiIndices.hpp.

509  {
510  return *getBitRefLevelPtr();
511  }

◆ getBitRefLevel() [2/4]

static MoFEMErrorCode MoFEM::RefEntityTmp< 0 >::getBitRefLevel ( Interface moab,
Range  ents,
std::vector< BitRefLevel > &  vec_bit_ref_level 
)
inlinestatic

Definition at line 433 of file RefEntsMultiIndices.hpp.

434  {
436  Tag th_ref_bit_level;
437  CHKERR moab.tag_get_handle("_RefBitLevel", th_ref_bit_level);
438  vec_bit_ref_level.resize(ents.size());
439  CHKERR moab.tag_get_data(th_ref_bit_level, ents,
440  &*vec_bit_ref_level.begin());
442  }

◆ getBitRefLevel() [3/4]

static MoFEMErrorCode MoFEM::RefEntityTmp< 0 >::getBitRefLevel ( Interface moab,
Range  ents,
std::vector< const BitRefLevel * > &  vec_ptr_bit_ref_level 
)
inlinestatic

Definition at line 445 of file RefEntsMultiIndices.hpp.

446  {
448  Tag th_ref_bit_level;
449  CHKERR moab.tag_get_handle("_RefBitLevel", th_ref_bit_level);
450  vec_ptr_bit_ref_level.resize(ents.size());
451  CHKERR moab.tag_get_by_ptr(
452  th_ref_bit_level, ents,
453  reinterpret_cast<const void **>(&*vec_ptr_bit_ref_level.begin()));
455  }

◆ getBitRefLevel() [4/4]

static MoFEMErrorCode MoFEM::RefEntityTmp< 0 >::getBitRefLevel ( Interface moab,
std::vector< EntityHandle > &  ents,
std::vector< const BitRefLevel * > &  vec_ptr_bit_ref_level 
)
inlinestatic

Definition at line 458 of file RefEntsMultiIndices.hpp.

459  {
461  Tag th_ref_bit_level;
462  CHKERR moab.tag_get_handle("_RefBitLevel", th_ref_bit_level);
463  vec_ptr_bit_ref_level.resize(ents.size());
464  CHKERR moab.tag_get_by_ptr(
465  th_ref_bit_level, &*ents.begin(), ents.size(),
466  reinterpret_cast<const void **>(&*vec_ptr_bit_ref_level.begin()));
468  }

◆ getBitRefLevelPtr()

BitRefLevel* MoFEM::RefEntityTmp< 0 >::getBitRefLevelPtr ( ) const
inline

Get pointer to bit ref level tag.

Every entity belongs to some refinement level or levels. Each level is marked by bit set in BitRefLevel() (bitset) structure.

See Explaining mesh BitRefLevel for explanation.

Returns
Return pointer to tag.

Definition at line 491 of file RefEntsMultiIndices.hpp.

491  {
492  return static_cast<BitRefLevel *>(
493  get_tag_ptr(this->getBasicDataPtr()->moab,
494  this->getBasicDataPtr()->th_RefBitLevel, this->ent, NULL));
495  }

◆ getBitRefLevelULong()

unsigned long int MoFEM::RefEntityTmp< 0 >::getBitRefLevelULong ( ) const
inline

Get entity ref bit refinement as ulong.

Definition at line 515 of file RefEntsMultiIndices.hpp.

515  {
516  return getBitRefLevel().to_ulong();
517  }

◆ getEnt()

EntityHandle MoFEM::RefEntityTmp< 0 >::getEnt ( ) const
inline

Get the entity handle.

Returns
EntityHandle

Definition at line 177 of file RefEntsMultiIndices.hpp.

177 { return this->ent; }

◆ getEntDimension()

int MoFEM::RefEntityTmp< 0 >::getEntDimension ( ) const
inline

Get the Ent Dimension.

Returns
int

Definition at line 190 of file RefEntsMultiIndices.hpp.

190  {
191  return dimension_from_handle(this->ent);
192  }

◆ getEntId()

EntityID MoFEM::RefEntityTmp< 0 >::getEntId ( ) const
inline

get entity id

Definition at line 205 of file RefEntsMultiIndices.hpp.

205 { return id_from_handle(this->ent); }

◆ getEntType()

EntityType MoFEM::RefEntityTmp< 0 >::getEntType ( ) const
inline

Get entity type.

Definition at line 181 of file RefEntsMultiIndices.hpp.

181  {
182  return type_from_handle(this->ent);
183  }

◆ getEntTypeName()

const char* MoFEM::RefEntityTmp< 0 >::getEntTypeName ( ) const
inline

Get the Ent Type Name.

Returns
const char*

Definition at line 199 of file RefEntsMultiIndices.hpp.

199  {
200  return type_name_from_handle(this->ent);
201  }

◆ getOwnerEnt() [1/2]

EntityHandle MoFEM::RefEntityTmp< 0 >::getOwnerEnt ( ) const
inline

Owner handle on this or other processors.

Definition at line 240 of file RefEntsMultiIndices.hpp.

240  {
241  return getOwnerEnt(this->ent, this->getBasicDataPtr());
242  }

◆ getOwnerEnt() [2/2]

static EntityHandle MoFEM::RefEntityTmp< 0 >::getOwnerEnt ( const EntityHandle  ent,
boost::shared_ptr< BasicEntityData basic_ent_data 
)
inlinestatic

Definition at line 208 of file RefEntsMultiIndices.hpp.

209  {
210  auto *pcomm =
211  ParallelComm::get_pcomm(&basic_ent_data->moab, basic_ent_data->pcommID);
212 
213  auto get_owner_ent = [&](auto tag) {
214  if (auto owner_ent_ptr = static_cast<EntityHandle *>(
215  MoFEM::get_tag_ptr(basic_ent_data->moab, tag, ent, NULL))) {
216  return owner_ent_ptr[0];
217  } else {
218  return ent;
219  }
220  };
221 
222  if (auto pstat_ptr = static_cast<unsigned char *>(MoFEM::get_tag_ptr(
223  basic_ent_data->moab, pcomm->pstatus_tag(), ent, NULL))) {
224  if (!(*pstat_ptr & PSTATUS_NOT_OWNED)) {
225  return ent;
226  } else if (*pstat_ptr & PSTATUS_MULTISHARED) {
227  return get_owner_ent(pcomm->sharedhs_tag());
228  } else if (*pstat_ptr & PSTATUS_SHARED) {
229  return get_owner_ent(pcomm->sharedh_tag());
230  } else {
231  return ent;
232  }
233  } else {
234  return ent;
235  }
236  }

◆ getOwnerProc() [1/2]

int MoFEM::RefEntityTmp< 0 >::getOwnerProc ( ) const
inline

Definition at line 275 of file RefEntsMultiIndices.hpp.

275  {
276  return getOwnerProc(this->ent, this->getBasicDataPtr());
277  }

◆ getOwnerProc() [2/2]

static int MoFEM::RefEntityTmp< 0 >::getOwnerProc ( const EntityHandle  ent,
boost::shared_ptr< BasicEntityData basic_ent_data 
)
inlinestatic

Definition at line 245 of file RefEntsMultiIndices.hpp.

246  {
247  auto *pcomm =
248  ParallelComm::get_pcomm(&basic_ent_data->moab, basic_ent_data->pcommID);
249 
250  auto get_owner_proc = [&](auto tag) {
251  if (auto owner_proc = static_cast<int *>(
252  MoFEM::get_tag_ptr(basic_ent_data->moab, tag, ent, NULL))) {
253  return owner_proc[0];
254  } else {
255  return 0;
256  }
257  };
258 
259  if (auto pstat_ptr = static_cast<unsigned char *>(MoFEM::get_tag_ptr(
260  basic_ent_data->moab, pcomm->pstatus_tag(), ent, NULL))) {
261  if (!(*pstat_ptr & PSTATUS_NOT_OWNED)) {
262  return pcomm->rank();
263  } else if (*pstat_ptr & PSTATUS_MULTISHARED) {
264  return get_owner_proc(pcomm->sharedps_tag());
265  } else if (*pstat_ptr & PSTATUS_SHARED) {
266  return get_owner_proc(pcomm->sharedp_tag());
267  } else {
268  return 0;
269  }
270  } else {
271  return 0;
272  }
273  }

◆ getParentEnt() [1/2]

EntityHandle MoFEM::RefEntityTmp< 0 >::getParentEnt ( ) const
inline

Get parent entity, i.e. entity form one refinement level up.

Definition at line 505 of file RefEntsMultiIndices.hpp.

505 { return *(getParentEntPtr()); }

◆ getParentEnt() [2/2]

static MoFEMErrorCode MoFEM::RefEntityTmp< 0 >::getParentEnt ( Interface moab,
Range  ents,
std::vector< EntityHandle vec_patent_ent 
)
static

◆ getParentEntPtr()

EntityHandle* MoFEM::RefEntityTmp< 0 >::getParentEntPtr ( ) const
inline

Get pointer to parent entity tag.

Each refined entity has his parent. Such information is stored on tags. This function get pinter to tag.

Returns
Pointer to tag on entity

Definition at line 478 of file RefEntsMultiIndices.hpp.

478 { return entParentTagPtr; }

◆ getParentEntType()

EntityType MoFEM::RefEntityTmp< 0 >::getParentEntType ( ) const
inline

Get patent entity.

Definition at line 499 of file RefEntsMultiIndices.hpp.

499  {
500  return (EntityType)((getParentEnt() & MB_TYPE_MASK) >> MB_ID_WIDTH);
501  }

◆ getPartProc() [1/2]

int MoFEM::RefEntityTmp< 0 >::getPartProc ( ) const
inline

Get processor.

Definition at line 291 of file RefEntsMultiIndices.hpp.

291  {
292  if (PetscUnlikely(getEntType() == MBENTITYSET)) {
293  return getPartProc(ent, this->getBasicDataPtr()->th_MeshsetPart,
294  this->getBasicDataPtr());
295  } else {
296  auto *pcomm = ParallelComm::get_pcomm(&this->getBasicDataPtr()->moab,
297  this->getBasicDataPtr()->pcommID);
298  return getPartProc(ent, pcomm->partition_tag(), this->getBasicDataPtr());
299  }
300  }

◆ getPartProc() [2/2]

static int MoFEM::RefEntityTmp< 0 >::getPartProc ( const EntityHandle  ent,
const Tag  th,
const boost::shared_ptr< BasicEntityData > &  basic_ptr 
)
inlinestatic

Definition at line 280 of file RefEntsMultiIndices.hpp.

281  {
282  if (auto part_ptr = static_cast<int *>(
283  MoFEM::get_tag_ptr(basic_ptr->moab, th, ent, NULL))) {
284  return *part_ptr >= 0 ? *part_ptr : 0;
285  } else
286  return 0;
287  };

◆ getPartProcPtr()

int* MoFEM::RefEntityTmp< 0 >::getPartProcPtr ( ) const
inline

Get pointer to partition tag.

Returns
int*

Definition at line 307 of file RefEntsMultiIndices.hpp.

307  {
308  if (PetscUnlikely(getEntType() == MBENTITYSET)) {
309  return static_cast<int *>(MoFEM::get_tag_ptr(
310  this->getBasicDataPtr()->moab,
311  this->getBasicDataPtr()->th_MeshsetPart, ent, NULL));
312  } else {
313  auto *pcomm = ParallelComm::get_pcomm(&this->getBasicDataPtr()->moab,
314  this->getBasicDataPtr()->pcommID);
315  return static_cast<int *>(MoFEM::get_tag_ptr(
316  this->getBasicDataPtr()->moab, pcomm->partition_tag(), ent, NULL));
317  }
318  }

◆ getPStatus()

unsigned char MoFEM::RefEntityTmp< 0 >::getPStatus ( ) const
inline

get pstatus This tag stores various aspects of parallel status in bits; see also define following, to be used in bit mask operations. If an entity is not shared with any other processors, the pstatus is 0, otherwise it's > 0

bit 0: !owned (0=owned, 1=not owned) bit 1: shared (0=not shared, 1=shared) bit 2: multishared (shared by > 2 procs; 0=not shared, 1=shared) bit 3: interface (0=not interface, 1=interface) bit 4: ghost (0=not ghost, 1=ghost)

Definition at line 333 of file RefEntsMultiIndices.hpp.

333  {
334  auto *pcomm = ParallelComm::get_pcomm(&this->getBasicDataPtr()->moab,
335  this->getBasicDataPtr()->pcommID);
336  if (auto pstat_ptr = static_cast<unsigned char *>(MoFEM::get_tag_ptr(
337  this->getBasicDataPtr()->moab, pcomm->pstatus_tag(), ent, NULL))) {
338  return *pstat_ptr;
339  } else {
340  return 0;
341  }
342  }

◆ getRefElementPtr()

const boost::shared_ptr<RefElement> MoFEM::RefEntityTmp< 0 >::getRefElementPtr ( ) const
inlineprivate

Get the pointer to reference element.

Returns
const boost::shared_ptr<RefElement>

Definition at line 533 of file RefEntsMultiIndices.hpp.

533  {
534  if (auto ptr = refElementPtr.lock())
535  return ptr;
536  else
537  return nullptr;
538  }

◆ getSharingHandlersPtr()

EntityHandle* MoFEM::RefEntityTmp< 0 >::getSharingHandlersPtr ( ) const
inline

get sharid entity handlers

Returning list to shared entity handlers. Use it with getSharingProcsPtr()

DO NOT MODIFY LIST.

BasicEntity *ent_ptr = BasicEntity(moab,entity_handle);
for(int proc = 0; proc<MAX_SHARING_PROCS && -1 !=
ent_ptr->getSharingProcsPtr[proc]; proc++) {
if(ent_ptr->getSharingProcsPtr[proc] == -1) {
// End of the list
break;
}
int sharing_proc = ent_ptr->getSharingProcsPtr[proc];
EntityHandle sharing_ent = ent_ptr->getSharingHandlersPtr[proc];
if(!(ent_ptr->getPStatus()&PSTATUS_MULTISHARED)) {
break;
}
}

Definition at line 410 of file RefEntsMultiIndices.hpp.

410  {
411  EntityHandle *sharing_handlers_ptr = NULL;
412  auto &moab = this->getBasicDataPtr()->moab;
413  ParallelComm *pcomm =
414  ParallelComm::get_pcomm(&moab, this->getBasicDataPtr()->pcommID);
415  if (getPStatus() & PSTATUS_MULTISHARED) {
416  // entity is multi shared
417  rval = moab.tag_get_by_ptr(pcomm->sharedhs_tag(), &this->ent, 1,
418  (const void **)&sharing_handlers_ptr);
419  MOAB_THROW(rval);
420  } else if (getPStatus() & PSTATUS_SHARED) {
421  // shared
422  rval = moab.tag_get_by_ptr(pcomm->sharedh_tag(), &this->ent, 1,
423  (const void **)&sharing_handlers_ptr);
424  MOAB_THROW(rval);
425  }
426  return sharing_handlers_ptr;
427  }

◆ getSharingProcsPtr()

int* MoFEM::RefEntityTmp< 0 >::getSharingProcsPtr ( ) const
inline

get shared processors

Returning list to shared processors. Lists end with -1. Returns NULL if not sharing processors.

DO NOT MODIFY LIST.

BasicEntity *ent_ptr = BasicEntity(moab,entity_handle);
for(int proc = 0; proc<MAX_SHARING_PROCS && -1 !=
ent_ptr->getSharingProcsPtr[proc]; proc++) {
if(ent_ptr->getSharingProcsPtr[proc] == -1) {
// End of the list
break;
}
int sharing_proc = ent_ptr->getSharingProcsPtr[proc];
EntityHandle sharing_ent = ent_ptr->getSharingHandlersPtr[proc];
if(!(ent_ptr->getPStatus()&PSTATUS_MULTISHARED)) {
break;
}
}

Definition at line 368 of file RefEntsMultiIndices.hpp.

368  {
369  auto &moab = this->getBasicDataPtr()->moab;
370  int *sharing_procs_ptr = NULL;
371  ParallelComm *pcomm =
372  ParallelComm::get_pcomm(&moab, this->getBasicDataPtr()->pcommID);
373  if (getPStatus() & PSTATUS_MULTISHARED) {
374  // entity is multi shared
375  rval = moab.tag_get_by_ptr(pcomm->sharedps_tag(), &this->ent, 1,
376  (const void **)&sharing_procs_ptr);
377  MOAB_THROW(rval);
378  } else if (getPStatus() & PSTATUS_SHARED) {
379  // shared
380  rval = moab.tag_get_by_ptr(pcomm->sharedp_tag(), &this->ent, 1,
381  (const void **)&sharing_procs_ptr);
382  MOAB_THROW(rval);
383  }
384  return sharing_procs_ptr;
385  }

◆ getSideNumber()

int MoFEM::RefEntityTmp< 0 >::getSideNumber ( ) const

Definition at line 38 of file RefEntsMultiIndices.cpp.

38  {
39  return getRefElementPtr()->getSideNumberPtr(ent)->side_number;
40 }

◆ getSideNumberPtr()

boost::shared_ptr< SideNumber > MoFEM::RefEntityTmp< 0 >::getSideNumberPtr ( ) const

Get the Side number.

Returns
int

Definition at line 42 of file RefEntsMultiIndices.cpp.

42  {
43  return getRefElementPtr()->getSideNumberPtr(ent);
44 }

Friends And Related Function Documentation

◆ EntFiniteElement

friend struct EntFiniteElement
friend

Definition at line 525 of file RefEntsMultiIndices.hpp.

◆ NumeredEntFiniteElement

friend struct NumeredEntFiniteElement
friend

Definition at line 526 of file RefEntsMultiIndices.hpp.

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const RefEntityTmp< 0 > &  e 
)
friend

Member Data Documentation

◆ basicDataPtr

boost::weak_ptr< BasicEntityData > MoFEM::RefEntityTmp< 0 >::basicDataPtr
static

Definition at line 522 of file RefEntsMultiIndices.hpp.

◆ ent

Definition at line 521 of file RefEntsMultiIndices.hpp.

◆ entParentTagPtr

EntityHandle* MoFEM::RefEntityTmp< 0 >::entParentTagPtr
private

Tag ptr to parent entity handle.

Definition at line 541 of file RefEntsMultiIndices.hpp.

◆ refElementPtr

boost::weak_ptr< RefElement > MoFEM::RefEntityTmp< 0 >::refElementPtr
staticprivate

Definition at line 540 of file RefEntsMultiIndices.hpp.


The documentation for this struct was generated from the following files:
MoFEM::id_from_handle
auto id_from_handle(const EntityHandle h)
Definition: Templates.hpp:1861
MoFEM::dimension_from_handle
auto dimension_from_handle(const EntityHandle h)
get entity dimension form handle
Definition: Templates.hpp:1885
MoFEM::RefEntityTmp< 0 >::ent
EntityHandle ent
Definition: RefEntsMultiIndices.hpp:521
MoFEM::get_tag_ptr
void * get_tag_ptr(moab::Interface &moab, Tag th, EntityHandle ent, int *tag_size)
Get the tag ptr object.
Definition: RefEntsMultiIndices.hpp:40
MoFEM::RefEntityTmp< 0 >::getRefElementPtr
const boost::shared_ptr< RefElement > getRefElementPtr() const
Get the pointer to reference element.
Definition: RefEntsMultiIndices.hpp:533
EntityHandle
MoFEM::RefEntityTmp< 0 >::getParentEntPtr
EntityHandle * getParentEntPtr() const
Get pointer to parent entity tag.
Definition: RefEntsMultiIndices.hpp:478
MoFEM::RefEntityTmp< 0 >::refElementPtr
static boost::weak_ptr< RefElement > refElementPtr
Definition: RefEntsMultiIndices.hpp:540
MoFEM::RefEntityTmp< 0 >::getOwnerProc
int getOwnerProc() const
Definition: RefEntsMultiIndices.hpp:275
MoFEM::th
Tag th
Definition: Projection10NodeCoordsOnField.cpp:122
MoFEM::RefEntityTmp< 0 >::getPStatus
unsigned char getPStatus() const
get pstatus This tag stores various aspects of parallel status in bits; see also define following,...
Definition: RefEntsMultiIndices.hpp:333
MoFEM::RefEntityTmp< 0 >::getEntType
EntityType getEntType() const
Get entity type.
Definition: RefEntsMultiIndices.hpp:181
MOAB_THROW
#define MOAB_THROW(err)
Check error code of MoAB function and throw MoFEM exception.
Definition: definitions.h:541
MoFEM::RefEntityTmp< 0 >::getBitRefLevel
const BitRefLevel & getBitRefLevel() const
Get entity ref bit refinement signature.
Definition: RefEntsMultiIndices.hpp:509
MB_TYPE_MASK
#define MB_TYPE_MASK
Definition: definitions.h:228
MoFEM::Exceptions::rval
static MoFEMErrorCodeGeneric< moab::ErrorCode > rval
Definition: Exceptions.hpp:74
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:535
MoFEM::RefEntityTmp< 0 >::getOwnerEnt
EntityHandle getOwnerEnt() const
Owner handle on this or other processors.
Definition: RefEntsMultiIndices.hpp:240
MoFEM::RefEntityTmp< 0 >::getBitRefLevelPtr
BitRefLevel * getBitRefLevelPtr() const
Get pointer to bit ref level tag.
Definition: RefEntsMultiIndices.hpp:491
MoFEM::RefEntityTmp< 0 >::entParentTagPtr
EntityHandle * entParentTagPtr
Tag ptr to parent entity handle.
Definition: RefEntsMultiIndices.hpp:541
MoFEM::RefEntityTmp< 0 >::getParentEnt
EntityHandle getParentEnt() const
Get parent entity, i.e. entity form one refinement level up.
Definition: RefEntsMultiIndices.hpp:505
MoFEM::type_name_from_handle
auto type_name_from_handle(const EntityHandle h)
get entity type name from handle
Definition: Templates.hpp:1893
MoFEM::RefEntityTmp< 0 >::getPartProc
int getPartProc() const
Get processor.
Definition: RefEntsMultiIndices.hpp:291
MoFEM::type_from_handle
auto type_from_handle(const EntityHandle h)
get type from entity handle
Definition: Templates.hpp:1869
MB_ID_WIDTH
#define MB_ID_WIDTH
Definition: definitions.h:227
MoFEM::RefEntityTmp< 0 >::getBasicDataPtr
virtual const boost::shared_ptr< BasicEntityData > getBasicDataPtr() const
Get pointer to basic data struture.
Definition: RefEntsMultiIndices.hpp:156
MoFEM::Types::BitRefLevel
std::bitset< BITREFLEVEL_SIZE > BitRefLevel
Bit structure attached to each entity identifying to what mesh entity is attached.
Definition: Types.hpp:40
MoFEM::RefEntityTmp< 0 >::basicDataPtr
static boost::weak_ptr< BasicEntityData > basicDataPtr
Definition: RefEntsMultiIndices.hpp:522
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346