v0.13.1
Public Member Functions | Private Member Functions | Friends | List of all members
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 More...
 
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 More...
 
boost::shared_ptr< S > getSharedStoragePtr () const
 
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
 
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 FieldgetFieldRawPtr () const
 
FieldOrderTable & getFieldOrderTable ()
 
- 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
 Get the Side number. More...
 
const boost::shared_ptr< BasicEntityDatagetBasicDataPtr () 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
 
BitRefLevelgetBitRefLevelPtr () const
 Get pointer to bit ref level tag. More...
 
const BitRefLevelgetBitRefLevel () 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< 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 = interface_RefEntity< FieldEntity >
 
- 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. More...
 
- 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.
Definition: definitions.h:561
const std::array< int, MAX_DOFS_ON_ENTITY > & getDofOrderMap() const
get hash-map relating dof index on entity with its order
boost::shared_ptr< FieldEntity > & getFieldEntityPtr() const

Friends And Related Function 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: