v0.14.0 |
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 > |
Public Types inherited from MoFEM::interface_FieldImpl< Field, 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 |
Public Member Functions inherited from MoFEM::interface_Field< Field, RefEntity > | |
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 |
FieldContinuity | getContinuity () const |
auto | getContinuityName () 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 () |
auto & | getDofSideMap () |
Public Member Functions inherited from MoFEM::interface_FieldImpl< Field, RefEntity > | |
interface_FieldImpl (const boost::shared_ptr< Field > &field_ptr, const boost::shared_ptr< RefEntity > &ref_ents_ptr) | |
virtual | ~interface_FieldImpl ()=default |
Public Member Functions inherited from MoFEM::interface_RefEntity< RefEntity > | |
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) |
Get the Handle From Unique Id. More... | |
static auto | getFieldBitNumberFromUniqueId (const UId uid) |
Get the Field Bit Number From Unique Id. More... | |
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 |
Local unique id for this entity. Unique on CPU partition. More... | |
boost::weak_ptr< EntityCacheDofs > | entityCacheDataDofs |
boost::weak_ptr< EntityCacheNumeredDofs > | entityCacheRowDofs |
boost::weak_ptr< EntityCacheNumeredDofs > | entityCacheColDofs |
boost::weak_ptr< EntityStorage > | weakStoragePtr |
Public Attributes inherited from MoFEM::interface_RefEntity< RefEntity > | |
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 24 of file FieldEntsMultiIndices.hpp.
Definition at line 26 of file FieldEntsMultiIndices.hpp.
Definition at line 27 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 15 of file FieldEntsMultiIndices.cpp.
|
virtualdefault |
|
inline |
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 272 of file FieldEntsMultiIndices.hpp.
|
inline |
Get vector of DOFs active values on entity.
Definition at line 77 of file FieldEntsMultiIndices.hpp.
|
inline |
Get shared ptr to vector adaptor pointing to the field tag data on entity.
Definition at line 69 of file FieldEntsMultiIndices.hpp.
|
inlinestatic |
Get the Field Bit Number From Unique Id.
uid |
Definition at line 205 of file FieldEntsMultiIndices.hpp.
|
inline |
|
inline |
|
inlinestatic |
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 167 of file FieldEntsMultiIndices.hpp.
|
inlinestatic |
Get the Handle From Unique Id.
uid |
Definition at line 192 of file FieldEntsMultiIndices.hpp.
|
inlinestatic |
Definition at line 228 of file FieldEntsMultiIndices.hpp.
Definition at line 240 of file FieldEntsMultiIndices.hpp.
|
delete |
|
inlinestatic |
|
inlinestatic |
Definition at line 222 of file FieldEntsMultiIndices.hpp.
|
inline |
|
inline |
Get the Local Unique Id Calculate object.
Definition at line 136 of file FieldEntsMultiIndices.hpp.
|
inlinestatic |
Get the Local Unique Id Calculate.
bit_number | |
handle |
Definition at line 122 of file FieldEntsMultiIndices.hpp.
Definition at line 236 of file FieldEntsMultiIndices.hpp.
|
delete |
|
inlinestatic |
Definition at line 247 of file FieldEntsMultiIndices.hpp.
|
inline |
Get order set to the entity (Allocated tag size for such number)
Definition at line 111 of file FieldEntsMultiIndices.hpp.
|
inline |
Get pinter to Tag keeping approximation order.
Definition at line 103 of file FieldEntsMultiIndices.hpp.
|
inline |
Get number of active DOFs on entity.
Definition at line 50 of file FieldEntsMultiIndices.hpp.
|
inline |
Get number of DOFs on entity for given order of approximation.
order | Order of approximation |
Definition at line 86 of file FieldEntsMultiIndices.hpp.
|
inline |
Get difference of number of DOFs between order and order-1.
order | Approximation order |
Definition at line 95 of file FieldEntsMultiIndices.hpp.
|
inlinestatic |
|
inline |
Definition at line 308 of file FieldEntsMultiIndices.hpp.
|
inline |
Get the Weak Storage pointer.
Definition at line 288 of file FieldEntsMultiIndices.hpp.
|
inline |
Definition at line 292 of file FieldEntsMultiIndices.hpp.
|
static |
Return shared pointer to entity field data vector adaptor.
Definition at line 35 of file FieldEntsMultiIndices.cpp.
|
friend |
Definition at line 54 of file FieldEntsMultiIndices.cpp.
|
staticconstexprprivate |
Definition at line 301 of file FieldEntsMultiIndices.hpp.
|
staticconstexprprivate |
Definition at line 302 of file FieldEntsMultiIndices.hpp.
|
mutable |
Definition at line 280 of file FieldEntsMultiIndices.hpp.
|
mutable |
Definition at line 278 of file FieldEntsMultiIndices.hpp.
|
mutable |
Definition at line 279 of file FieldEntsMultiIndices.hpp.
|
mutableprivate |
Definition at line 300 of file FieldEntsMultiIndices.hpp.
UId MoFEM::FieldEntity::localUId |
Local unique id for this entity. Unique on CPU partition.
Definition at line 37 of file FieldEntsMultiIndices.hpp.
|
staticconstexprprivate |
Definition at line 303 of file FieldEntsMultiIndices.hpp.
|
mutableprivate |
Definition at line 299 of file FieldEntsMultiIndices.hpp.
|
mutable |
Definition at line 296 of file FieldEntsMultiIndices.hpp.