v0.15.0
Loading...
Searching...
No Matches
MoFEM::FEDofEntity Struct Reference

keeps information about indexed dofs for the finite element More...

#include "src/multi_indices/DofsMultiIndices.hpp"

Inheritance diagram for MoFEM::FEDofEntity:
[legend]
Collaboration diagram for MoFEM::FEDofEntity:
[legend]

Public Member Functions

 FEDofEntity ()=delete
 
- Public Member Functions inherited from MoFEM::DofEntity
virtual ~DofEntity ()=default
 
 DofEntity (const boost::shared_ptr< FieldEntity > &entity_ptr, const ApproximationOrder dof_order, const FieldCoefficientsNumber dof_rank, const DofIdx dof)
 
DofIdx getEntDofIdx () const
 
FieldDatagetFieldData () const
 
const UIdgetEntLocalUniqueId () const
 
const UId getEntGlobalUniqueId () const
 
UId getLocalUniqueId () const
 
UId getGlobalUniqueId () const
 
ShortId getNonNonuniqueShortId () const
 get short uid it is unique in combination with entity handle
 
EntityHandle getEnt () const
 
ApproximationOrder getDofOrder () const
 
FieldCoefficientsNumber getDofCoeffIdx () const
 
char getActive () const
 
- Public Member Functions inherited from MoFEM::interface_FieldEntity< FieldEntity >
 interface_FieldEntity (const boost::shared_ptr< FieldEntity > &sptr)
 
int getNbDofsOnEnt () const
 
VectorAdaptor getEntFieldData () const
 
int getOrderNbDofs (ApproximationOrder order) const
 
int getOrderNbDofsDiff (ApproximationOrder order) const
 
ApproximationOrder getMaxOrder () const
 
UId getGlobalUniqueId () const
 
UIdgetLocalUniqueId () const
 
boost::shared_ptr< RefEntity > & getRefEntityPtr () const
 
boost::shared_ptr< FieldEntity > & getFieldEntityPtr () const
 
const std::array< int, MAX_DOFS_ON_ENTITY > & getDofOrderMap () const
 get hash-map relating dof index on entity with its order
 
boost::shared_ptr< S > getSharedStoragePtr () const
 Get the Weak Storage pointer.
 
boost::weak_ptr< EntityStorage > & getWeakStoragePtr () const
 
- Public Member Functions inherited from MoFEM::interface_Field< FieldEntity, FieldEntity >
 interface_Field (const boost::shared_ptr< FieldEntity > &field_ptr, const boost::shared_ptr< FieldEntity > &ref_ents_ptr)
 
EntityHandle getMeshset () const
 
int getCoordSysDim (const int d=0) const
 
const BitFieldIdgetId () 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
 
const FieldgetFieldRawPtr () const
 
FieldOrderTablegetFieldOrderTable ()
 
auto & getDofSideMap ()
 
- Public Member Functions inherited from MoFEM::interface_FieldImpl< FieldEntity, FieldEntity >
 interface_FieldImpl (const boost::shared_ptr< FieldEntity > &field_ptr, const boost::shared_ptr< FieldEntity > &ref_ents_ptr)
 
virtual ~interface_FieldImpl ()=default
 
- Public Member Functions inherited from MoFEM::interface_RefEntity< FieldEntity >
 interface_RefEntity (const boost::shared_ptr< FieldEntity > &sptr)
 
 interface_RefEntity (const interface_RefEntity< FieldEntity > &interface)
 
virtual ~interface_RefEntity ()=default
 
int getSideNumber () const
 
boost::shared_ptr< SideNumbergetSideNumberPtr () const
 
const boost::shared_ptr< BasicEntityDatagetBasicDataPtr () const
 
EntityHandle getEnt () const
 
EntityType getParentEntType () const
 
EntityHandle getParentEnt () const
 
BitRefLevelgetBitRefLevelPtr () const
 
const BitRefLevelgetBitRefLevel () const
 
unsigned long int getBitRefLevelULong () const
 
EntityType getEntType () const
 
int getEntDimension () const
 
const char * getEntTypeName () const
 
EntityID getEntId () const
 
EntityHandle getOwnerEnt () const
 
EntityHandlegetOwnerEnt ()
 
int getOwnerProc () const
 
int getPartProc () const
 
int * getPartProcPtr () const
 
unsigned char getPStatus () const
 
int * getSharingProcsPtr () const
 
EntityHandlegetSharingHandlersPtr () const
 
boost::shared_ptr< FieldEntity > & getRefEntityPtr () const
 

Private Member Functions

 DofEntity (const boost::shared_ptr< FieldEntity > &entity_ptr, const ApproximationOrder dof_order, const FieldCoefficientsNumber dof_rank, const DofIdx dof)
 

Friends

std::ostream & operator<< (std::ostream &os, const FEDofEntity &e)
 

Additional Inherited Members

- Public Types inherited from MoFEM::DofEntity
using interface_type_Field = interface_FieldImpl<FieldEntity, FieldEntity>
 
using interface_type_FieldEntity = interface_FieldEntity<FieldEntity>
 
using interface_type_RefEntity = interface_RefEntity<FieldEntity>
 
- Public Types inherited from MoFEM::interface_FieldImpl< FieldEntity, FieldEntity >
using interface_type_RefEntity
 
- Static Public Member Functions inherited from MoFEM::DofEntity
static ShortId getNonNonuniqueShortId (const DofIdx dof, const boost::shared_ptr< FieldEntity > &ent_ptr)
 
static UId getUniqueIdCalculate (const DofIdx dof, UId ent_uid)
 
static UId getLocalUniqueIdCalculate (const DofIdx dof, const boost::shared_ptr< FieldEntity > &ent_ptr)
 
static UId getLoFieldEntityUId (const FieldBitNumber bit, const EntityHandle ent)
 
static UId getHiFieldEntityUId (const FieldBitNumber bit, const EntityHandle ent)
 
static UId getGlobalUniqueIdCalculate (const DofIdx dof, const boost::shared_ptr< FieldEntity > &ent_ptr)
 Calculate UId for DOF.
 
- Public Attributes inherited from MoFEM::interface_RefEntity< FieldEntity >
boost::shared_ptr< FieldEntitysPtr
 

Detailed Description

keeps information about indexed dofs for the finite element

Definition at line 267 of file DofsMultiIndices.hpp.

Constructor & Destructor Documentation

◆ FEDofEntity()

MoFEM::FEDofEntity::FEDofEntity ( )
delete

Member Function Documentation

◆ DofEntity()

MoFEM::DofEntity::DofEntity ( const boost::shared_ptr< FieldEntity > & entity_ptr,
const ApproximationOrder dof_order,
const FieldCoefficientsNumber dof_rank,
const DofIdx dof )
private

Definition at line 31 of file DofsMultiIndices.cpp.

13 : interface_FieldEntity<FieldEntity>(entity_ptr), dof(dof) {
14
15#ifndef NDEBUG
16 if (PetscUnlikely(!entity_ptr))
17 THROW_MESSAGE("FieldEntity pointer not initialized");
18 if (PetscUnlikely(!sPtr))
19 THROW_MESSAGE("FieldEntity pointer not initialized");
20 if (PetscUnlikely(!getFieldEntityPtr()))
21 THROW_MESSAGE("FieldEntity pointer not initialized");
22 // verify dof order
23 if (PetscUnlikely(dof_order != getDofOrderMap()[dof])) {
25 "Inconsistent DOF order with order set before for entity " +
26 boost::lexical_cast<std::string>(*entity_ptr) + "\n" + "dof->" +
27 boost::lexical_cast<std::string>(dof) + " dof_order->" +
28 boost::lexical_cast<std::string>(dof_order) +
29 " != " + boost::lexical_cast<std::string>(getDofOrderMap()[dof]) +
30 "<-getDofOrderMap()[dof]");
31 }
32
33 // verify dof rank
34 if (PetscUnlikely(dof_rank != dof % getNbOfCoeffs()))
35 THROW_MESSAGE("Inconsistent DOFs rank with index of DOF on entity");
36#endif
37}
#define THROW_MESSAGE(msg)
Throw MoFEM exception.
const std::array< int, MAX_DOFS_ON_ENTITY > & getDofOrderMap() const
boost::shared_ptr< FieldEntity > & getFieldEntityPtr() const

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const FEDofEntity & e )
friend

Definition at line 84 of file DofsMultiIndices.cpp.

84 {
85 os << "local dof FiniteElement idx "
86 << "side_number " << static_cast<int>(e.getSideNumberPtr()->side_number)
87 << " "
88 << "sense " << static_cast<int>(e.getSideNumberPtr()->sense) << " "
89 << *e.getFieldEntityPtr();
90 return os;
91}

The documentation for this struct was generated from the following file: