|
| v0.14.0
|
Struct keeps handle to refined handle.
More...
#include <src/multi_indices/RefEntsMultiIndices.hpp>
|
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) |
|
Struct keeps handle to refined handle.
Definition at line 141 of file RefEntsMultiIndices.hpp.
◆ RefEntityTmp() [1/2]
◆ RefEntityTmp() [2/2]
◆ ~RefEntityTmp()
◆ getBasicDataPtr()
◆ getBitRefLevel() [1/4]
◆ getBitRefLevel() [2/4]
Definition at line 433 of file RefEntsMultiIndices.hpp.
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());
◆ getBitRefLevel() [3/4]
Definition at line 445 of file RefEntsMultiIndices.hpp.
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()));
◆ getBitRefLevel() [4/4]
Definition at line 458 of file RefEntsMultiIndices.hpp.
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()));
◆ getBitRefLevelPtr()
◆ getBitRefLevelULong()
◆ getEnt()
◆ getEntDimension()
◆ getEntId()
◆ getEntType()
◆ getEntTypeName()
◆ getOwnerEnt() [1/2]
◆ getOwnerEnt() [2/2]
Definition at line 208 of file RefEntsMultiIndices.hpp.
211 ParallelComm::get_pcomm(&basic_ent_data->moab, basic_ent_data->pcommID);
213 auto get_owner_ent = [&](
auto tag) {
216 return owner_ent_ptr[0];
223 basic_ent_data->moab, pcomm->pstatus_tag(),
ent, NULL))) {
224 if (!(*pstat_ptr & PSTATUS_NOT_OWNED)) {
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());
◆ getOwnerProc() [1/2]
◆ getOwnerProc() [2/2]
Definition at line 245 of file RefEntsMultiIndices.hpp.
248 ParallelComm::get_pcomm(&basic_ent_data->moab, basic_ent_data->pcommID);
250 auto get_owner_proc = [&](
auto tag) {
251 if (
auto owner_proc =
static_cast<int *
>(
253 return owner_proc[0];
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());
◆ getParentEnt() [1/2]
◆ getParentEnt() [2/2]
◆ getParentEntPtr()
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.
◆ getParentEntType()
◆ getPartProc() [1/2]
◆ getPartProc() [2/2]
Definition at line 280 of file RefEntsMultiIndices.hpp.
282 if (
auto part_ptr =
static_cast<int *
>(
284 return *part_ptr >= 0 ? *part_ptr : 0;
◆ getPartProcPtr()
◆ getPStatus()
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.
◆ getRefElementPtr()
Get the pointer to reference element.
- Returns
- const boost::shared_ptr<RefElement>
Definition at line 533 of file RefEntsMultiIndices.hpp.
◆ getSharingHandlersPtr()
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) {
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.
413 ParallelComm *pcomm =
417 rval = moab.tag_get_by_ptr(pcomm->sharedhs_tag(), &this->ent, 1,
418 (
const void **)&sharing_handlers_ptr);
422 rval = moab.tag_get_by_ptr(pcomm->sharedh_tag(), &this->ent, 1,
423 (
const void **)&sharing_handlers_ptr);
426 return sharing_handlers_ptr;
◆ getSharingProcsPtr()
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) {
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.
370 int *sharing_procs_ptr = NULL;
371 ParallelComm *pcomm =
375 rval = moab.tag_get_by_ptr(pcomm->sharedps_tag(), &this->ent, 1,
376 (
const void **)&sharing_procs_ptr);
380 rval = moab.tag_get_by_ptr(pcomm->sharedp_tag(), &this->ent, 1,
381 (
const void **)&sharing_procs_ptr);
384 return sharing_procs_ptr;
◆ getSideNumber()
◆ getSideNumberPtr()
◆ EntFiniteElement
◆ NumeredEntFiniteElement
◆ operator<<
std::ostream& operator<< |
( |
std::ostream & |
os, |
|
|
const RefEntityTmp< 0 > & |
e |
|
) |
| |
|
friend |
◆ basicDataPtr
◆ ent
◆ entParentTagPtr
◆ refElementPtr
The documentation for this struct was generated from the following files:
auto id_from_handle(const EntityHandle h)
auto dimension_from_handle(const EntityHandle h)
get entity dimension form handle
void * get_tag_ptr(moab::Interface &moab, Tag th, EntityHandle ent, int *tag_size)
Get the tag ptr object.
const boost::shared_ptr< RefElement > getRefElementPtr() const
Get the pointer to reference element.
EntityHandle * getParentEntPtr() const
Get pointer to parent entity tag.
static boost::weak_ptr< RefElement > refElementPtr
unsigned char getPStatus() const
get pstatus This tag stores various aspects of parallel status in bits; see also define following,...
EntityType getEntType() const
Get entity type.
#define MOAB_THROW(err)
Check error code of MoAB function and throw MoFEM exception.
const BitRefLevel & getBitRefLevel() const
Get entity ref bit refinement signature.
static MoFEMErrorCodeGeneric< moab::ErrorCode > rval
#define CHKERR
Inline error check.
EntityHandle getOwnerEnt() const
Owner handle on this or other processors.
BitRefLevel * getBitRefLevelPtr() const
Get pointer to bit ref level tag.
EntityHandle * entParentTagPtr
Tag ptr to parent entity handle.
EntityHandle getParentEnt() const
Get parent entity, i.e. entity form one refinement level up.
auto type_name_from_handle(const EntityHandle h)
get entity type name from handle
int getPartProc() const
Get processor.
auto type_from_handle(const EntityHandle h)
get type from entity handle
virtual const boost::shared_ptr< BasicEntityData > getBasicDataPtr() const
Get pointer to basic data struture.
std::bitset< BITREFLEVEL_SIZE > BitRefLevel
Bit structure attached to each entity identifying to what mesh entity is attached.
static boost::weak_ptr< BasicEntityData > basicDataPtr
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...