![]() |
v0.13.1 |
Struct keeps handle to entity in the field. More...
#include <src/multi_indices/FieldEntsMultiIndices.hpp>
Public Types | |
using | interface_type_Field = interface_Field< Field, RefEntity > |
using | interface_type_RefEntity = interface_RefEntity< RefEntity > |
![]() | |
using | interface_type_RefEntity = interface_RefEntity< RefEntity > |
Public Member Functions | |
FieldEntity (const boost::shared_ptr< Field > field_ptr, const boost::shared_ptr< RefEntity > ref_ents_ptr, boost::shared_ptr< double *const > field_data_adaptor_ptr, boost::shared_ptr< const int > t_max_order_ptr) | |
virtual | ~FieldEntity ()=default |
int | getNbDofsOnEnt () const |
Get number of active DOFs on entity. More... | |
boost::shared_ptr< FieldData *const > & | getEntFieldDataPtr () const |
Get shared ptr to vector adaptor pointing to the field tag data on entity. More... | |
VectorAdaptor | getEntFieldData () const |
Get vector of DOFs active values on entity. More... | |
int | getOrderNbDofs (ApproximationOrder order) const |
Get number of DOFs on entity for given order of approximation. More... | |
int | getOrderNbDofsDiff (ApproximationOrder order) const |
Get difference of number of DOFs between order and order-1. More... | |
const ApproximationOrder * | getMaxOrderPtr () const |
Get pinter to Tag keeping approximation order. More... | |
ApproximationOrder | getMaxOrder () const |
Get order set to the entity (Allocated tag size for such number) More... | |
UId | getLocalUniqueIdCalculate () |
Get the Local Unique Id Calculate object. More... | |
UId | getGlobalUniqueId () const |
Get global unique id. More... | |
const UId & | getLocalUniqueId () const |
Get global unique id. More... | |
UId | getGlobalUniqueIdCalculate () const |
Calculate global UId. More... | |
template<typename T > | |
void | getLoFieldEntityUId (T &uid)=delete |
template<typename T > | |
void | getHiFieldEntityUId (T &uid)=delete |
const std::array< int, MAX_DOFS_ON_ENTITY > & | getDofOrderMap () const |
get hash-map relating dof index on entity with its order More... | |
template<typename T = EntityStorage> | |
boost::shared_ptr< T > | getSharedStoragePtr () const |
Get the Weak Storage pointer. More... | |
boost::weak_ptr< EntityStorage > & | getWeakStoragePtr () const |
template<> | |
boost::shared_ptr< EntityStorage > | getSharedStoragePtr () const |
![]() | |
interface_Field (const boost::shared_ptr< Field > &field_ptr, const boost::shared_ptr< RefEntity > &ref_ents_ptr) | |
EntityHandle | getMeshset () const |
int | getCoordSysDim (const int d=0) const |
const BitFieldId & | getId () const |
boost::string_ref | getNameRef () const |
std::string | getName () const |
FieldSpace | getSpace () const |
FieldApproximationBase | getApproxBase () const |
FieldCoefficientsNumber | getNbOfCoeffs () const |
FieldBitNumber | getBitNumber () const |
std::array< ApproximationOrder, MAX_DOFS_ON_ENTITY > & | getDofOrderMap (const EntityType type) const |
get hash-map relating dof index on entity with its order More... | |
const Field * | getFieldRawPtr () const |
FieldOrderTable & | getFieldOrderTable () |
![]() | |
interface_FieldImpl (const boost::shared_ptr< Field > &field_ptr, const boost::shared_ptr< RefEntity > &ref_ents_ptr) | |
virtual | ~interface_FieldImpl ()=default |
![]() | |
interface_RefEntity (const boost::shared_ptr< RefEntity > &sptr) | |
interface_RefEntity (const interface_RefEntity< RefEntity > &interface) | |
virtual | ~interface_RefEntity ()=default |
int | getSideNumber () const |
boost::shared_ptr< SideNumber > | getSideNumberPtr () const |
Get the Side number. More... | |
const boost::shared_ptr< BasicEntityData > | getBasicDataPtr () const |
Get pointer to basic data struture. More... | |
EntityHandle | getEnt () const |
Get the entity handle. More... | |
EntityType | getParentEntType () const |
Get patent entity. More... | |
EntityHandle | getParentEnt () const |
BitRefLevel * | getBitRefLevelPtr () const |
Get pointer to bit ref level tag. More... | |
const BitRefLevel & | getBitRefLevel () const |
unsigned long int | getBitRefLevelULong () const |
Get entity ref bit refinement as ulong. 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 |
EntityHandle & | getOwnerEnt () |
int | getOwnerProc () const |
int | getPartProc () const |
int * | getPartProcPtr () const |
Get pointer to partition tag. More... | |
unsigned char | getPStatus () const |
int * | getSharingProcsPtr () const |
get shared processors More... | |
EntityHandle * | getSharingHandlersPtr () const |
get sharid entity handlers More... | |
boost::shared_ptr< RefEntity > & | getRefEntityPtr () const |
Static Public Member Functions | |
static boost::shared_ptr< FieldData *const > | makeSharedFieldDataAdaptorPtr (const boost::shared_ptr< Field > &field_ptr, const boost::shared_ptr< RefEntity > &ref_ents_ptr) |
Return shared pointer to entity field data vector adaptor. More... | |
static UId | getLocalUniqueIdCalculate (const char bit_number, const EntityHandle handle) |
Get the Local Unique Id Calculate. More... | |
static UId | getGlobalUniqueIdCalculate (const int owner_proc, const char bit_number, const EntityHandle moab_owner_handle) |
Calculate UId for field entity. More... | |
static auto | getOwnerFromUniqueId (const UId uid) |
static auto | getHandleFromUniqueId (const UId uid) |
static auto | getFieldBitNumberFromUniqueId (const UId uid) |
static UId | getLoBitNumberUId (const FieldBitNumber bit_number) |
static UId | getHiBitNumberUId (const FieldBitNumber bit_number) |
static UId | getLoFieldEntityUId (const UId &uid) |
static UId | getHiFieldEntityUId (const UId &uid) |
static UId | getLoLocalEntityBitNumber (const char bit_number, const EntityHandle ent) |
static UId | getHiLocalEntityBitNumber (const char bit_number, const EntityHandle ent) |
Public Attributes | |
UId | localUId |
Global unique id for this entity. More... | |
boost::weak_ptr< EntityCacheDofs > | entityCacheDataDofs |
boost::weak_ptr< EntityCacheNumeredDofs > | entityCacheRowDofs |
boost::weak_ptr< EntityCacheNumeredDofs > | entityCacheColDofs |
boost::weak_ptr< EntityStorage > | weakStoragePtr |
![]() | |
boost::shared_ptr< RefEntity > | sPtr |
Private Attributes | |
boost::shared_ptr< const ApproximationOrder > | tagMaxOrderPtr |
boost::shared_ptr< FieldData *const > | fieldDataAdaptorPtr |
Static Private Attributes | |
static constexpr int | dof_shift = 9 |
static constexpr int | ent_shift = 64 |
static constexpr int | proc_shift = 10 |
Friends | |
std::ostream & | operator<< (std::ostream &os, const FieldEntity &e) |
Struct keeps handle to entity in the field.
Definition at line 37 of file FieldEntsMultiIndices.hpp.
Definition at line 39 of file FieldEntsMultiIndices.hpp.
Definition at line 40 of file FieldEntsMultiIndices.hpp.
MoFEM::FieldEntity::FieldEntity | ( | const boost::shared_ptr< Field > | field_ptr, |
const boost::shared_ptr< RefEntity > | ref_ents_ptr, | ||
boost::shared_ptr< double *const > | field_data_adaptor_ptr, | ||
boost::shared_ptr< const int > | t_max_order_ptr | ||
) |
Definition at line 28 of file FieldEntsMultiIndices.cpp.
|
virtualdefault |
const std::array< int, MAX_DOFS_ON_ENTITY > & MoFEM::FieldEntity::getDofOrderMap | ( | ) | const |
get hash-map relating dof index on entity with its order
DOFs of given field are indexed on entity of the same type, same space, approximation base and number of coefficients, are sorted in the way.
Definition at line 265 of file FieldEntsMultiIndices.hpp.
VectorAdaptor MoFEM::FieldEntity::getEntFieldData | ( | ) | const |
Get vector of DOFs active values on entity.
Definition at line 82 of file FieldEntsMultiIndices.hpp.
boost::shared_ptr< FieldData *const > & MoFEM::FieldEntity::getEntFieldDataPtr | ( | ) | const |
Get shared ptr to vector adaptor pointing to the field tag data on entity.
Definition at line 74 of file FieldEntsMultiIndices.hpp.
|
static |
Definition at line 198 of file FieldEntsMultiIndices.hpp.
UId MoFEM::FieldEntity::getGlobalUniqueId | ( | ) | const |
UId MoFEM::FieldEntity::getGlobalUniqueIdCalculate | ( | ) | const |
Calculate global UId.
Definition at line 209 of file FieldEntsMultiIndices.hpp.
|
static |
Calculate UId for field entity.
UId is constructed such that all DOFs are ordered by processor, entity, field.
UId is 128 bit
owner_proc | owning processor |
bit_number | field bit number |
moab_owner_handle | entity handle on owning processor meshes |
Definition at line 172 of file FieldEntsMultiIndices.hpp.
|
static |
Definition at line 191 of file FieldEntsMultiIndices.hpp.
|
static |
Definition at line 221 of file FieldEntsMultiIndices.hpp.
Definition at line 233 of file FieldEntsMultiIndices.hpp.
|
static |
Definition at line 251 of file FieldEntsMultiIndices.hpp.
|
static |
Definition at line 215 of file FieldEntsMultiIndices.hpp.
const UId & MoFEM::FieldEntity::getLocalUniqueId | ( | ) | const |
UId MoFEM::FieldEntity::getLocalUniqueIdCalculate | ( | ) |
Get the Local Unique Id Calculate object.
Definition at line 141 of file FieldEntsMultiIndices.hpp.
|
static |
Get the Local Unique Id Calculate.
bit_number | |
handle |
Definition at line 127 of file FieldEntsMultiIndices.hpp.
Definition at line 229 of file FieldEntsMultiIndices.hpp.
|
static |
Definition at line 240 of file FieldEntsMultiIndices.hpp.
ApproximationOrder MoFEM::FieldEntity::getMaxOrder | ( | ) | const |
Get order set to the entity (Allocated tag size for such number)
Definition at line 116 of file FieldEntsMultiIndices.hpp.
const ApproximationOrder * MoFEM::FieldEntity::getMaxOrderPtr | ( | ) | const |
Get pinter to Tag keeping approximation order.
Definition at line 108 of file FieldEntsMultiIndices.hpp.
int MoFEM::FieldEntity::getNbDofsOnEnt | ( | ) | const |
Get number of active DOFs on entity.
Definition at line 55 of file FieldEntsMultiIndices.hpp.
int MoFEM::FieldEntity::getOrderNbDofs | ( | ApproximationOrder | order | ) | const |
Get number of DOFs on entity for given order of approximation.
order | Order of approximation |
Definition at line 91 of file FieldEntsMultiIndices.hpp.
int MoFEM::FieldEntity::getOrderNbDofsDiff | ( | ApproximationOrder | order | ) | const |
Get difference of number of DOFs between order and order-1.
order | Approximation order |
Definition at line 100 of file FieldEntsMultiIndices.hpp.
|
static |
Definition at line 182 of file FieldEntsMultiIndices.hpp.
boost::shared_ptr< EntityStorage > MoFEM::FieldEntity::getSharedStoragePtr | ( | ) | const |
Definition at line 1 of file FieldEntsMultiIndices.hpp.
boost::shared_ptr< T > MoFEM::FieldEntity::getSharedStoragePtr | ( | ) | const |
Get the Weak Storage pointer.
Definition at line 281 of file FieldEntsMultiIndices.hpp.
boost::weak_ptr< EntityStorage > & MoFEM::FieldEntity::getWeakStoragePtr | ( | ) | const |
Definition at line 285 of file FieldEntsMultiIndices.hpp.
|
static |
Return shared pointer to entity field data vector adaptor.
Definition at line 48 of file FieldEntsMultiIndices.cpp.
|
friend |
Definition at line 67 of file FieldEntsMultiIndices.cpp.
|
staticconstexprprivate |
Definition at line 294 of file FieldEntsMultiIndices.hpp.
|
staticconstexprprivate |
Definition at line 295 of file FieldEntsMultiIndices.hpp.
|
mutable |
Definition at line 273 of file FieldEntsMultiIndices.hpp.
|
mutable |
Definition at line 271 of file FieldEntsMultiIndices.hpp.
|
mutable |
Definition at line 272 of file FieldEntsMultiIndices.hpp.
|
mutableprivate |
Definition at line 293 of file FieldEntsMultiIndices.hpp.
UId MoFEM::FieldEntity::localUId |
Global unique id for this entity.
Definition at line 42 of file FieldEntsMultiIndices.hpp.
|
staticconstexprprivate |
Definition at line 296 of file FieldEntsMultiIndices.hpp.
|
mutableprivate |
Definition at line 292 of file FieldEntsMultiIndices.hpp.
|
mutable |
Definition at line 289 of file FieldEntsMultiIndices.hpp.