v0.11.1
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
MoFEM::NumeredDofEntity Struct Reference

keeps information about indexed dofs for the problem More...

#include <src/multi_indices/DofsMultiIndices.hpp>

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

Public Types

using interface_type_Field = interface_FieldImpl< DofEntity, DofEntity >
 
using interface_type_FieldEntity = interface_FieldEntity< DofEntity >
 
using interface_type_DofEntity = interface_DofEntity< DofEntity >
 
using interface_type_RefEntity = interface_RefEntity< DofEntity >
 
- Public Types inherited from MoFEM::interface_Field< T, T >
using interface_type_FieldImpl = interface_FieldImpl< T, T >
 
- Public Types inherited from MoFEM::interface_FieldImpl< T, T >
using interface_type_RefEntity = interface_RefEntity< T >
 

Public Member Functions

virtual ~NumeredDofEntity ()=default
 
DofIdx getDofIdx () const
 
DofIdx getPetscGlobalDofIdx () const
 
DofIdx getPetscLocalDofIdx () const
 
unsigned int getPart () const
 
bool getHasLocalIndex () const
 
 NumeredDofEntity (const boost::shared_ptr< DofEntity > &dof_entity_ptr, const int dof_idx=-1, const int petsc_gloabl_dof_idx=-1, const int petsc_local_dof_idx=-1, const int part=-1)
 
- Public Member Functions inherited from MoFEM::interface_DofEntity< DofEntity >
virtual ~interface_DofEntity ()=default
 
 interface_DofEntity (const boost::shared_ptr< DofEntity > &sptr)
 
UId getGlobalUniqueId () const
 
const UIdgetEntGlobalUniqueId () const
 
UId getLocalUniqueId () const
 
const UIdgetEntLocalUniqueId () const
 
ShortId getNonNonuniqueShortId () const
 
DofIdx getEntDofIdx () const
 
FieldDatagetFieldData () const
 
EntityHandle getEnt () const
 
ApproximationOrder getDofOrder () const
 
FieldCoefficientsNumber getDofCoeffIdx () const
 
char getActive () const
 
boost::shared_ptr< DofEntity > & getDofEntityPtr () const
 
boost::shared_ptr< FieldEntity > & getFieldEntityPtr () const
 
- Public Member Functions inherited from MoFEM::interface_FieldEntity< T >
 interface_FieldEntity (const boost::shared_ptr< T > &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
 
std::array< int, MAX_DOFS_ON_ENTITY > & getDofOrderMap () const
 get hash-map relating dof index on entity with its order More...
 
template<typename S = EntityStorage>
boost::shared_ptr< S > getSharedStoragePtr () const
 Get the Weak Storage pointer. More...
 
boost::weak_ptr< EntityStorage > & getWeakStoragePtr () const
 
- Public Member Functions inherited from MoFEM::interface_Field< T, T >
 interface_Field (const boost::shared_ptr< T > &ptr)
 
EntityHandle getMeshset () 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
 
- Public Member Functions inherited from MoFEM::interface_FieldImpl< T, T >
 interface_FieldImpl (const boost::shared_ptr< T > &field_ptr, const boost::shared_ptr< T > &ref_ents_ptr)
 
virtual ~interface_FieldImpl ()=default
 
- Public Member Functions inherited from MoFEM::interface_RefEntity< T >
 interface_RefEntity (const boost::shared_ptr< T > &sptr)
 
 interface_RefEntity (const interface_RefEntity< T > &interface)
 
virtual ~interface_RefEntity ()=default
 
int getSideNumber () const
 
boost::shared_ptr< SideNumber > getSideNumberPtr () 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< T > & getRefEntityPtr () const
 

Public Attributes

DofIdx dofIdx
 
DofIdx petscGloablDofIdx
 
DofIdx petscLocalDofIdx
 
unsigned int pArt
 
- Public Attributes inherited from MoFEM::interface_RefEntity< T >
boost::shared_ptr< TsPtr
 

Friends

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

Detailed Description

keeps information about indexed dofs for the problem

FIXME: Is too many iterator, this has to be manage more efficiently, some iterators could be moved to multi_indices views.

Definition at line 240 of file DofsMultiIndices.hpp.

Member Typedef Documentation

◆ interface_type_DofEntity

Definition at line 246 of file DofsMultiIndices.hpp.

◆ interface_type_Field

Definition at line 244 of file DofsMultiIndices.hpp.

◆ interface_type_FieldEntity

Definition at line 245 of file DofsMultiIndices.hpp.

◆ interface_type_RefEntity

Definition at line 247 of file DofsMultiIndices.hpp.

Constructor & Destructor Documentation

◆ ~NumeredDofEntity()

virtual MoFEM::NumeredDofEntity::~NumeredDofEntity ( )
virtualdefault

◆ NumeredDofEntity()

MoFEM::NumeredDofEntity::NumeredDofEntity ( const boost::shared_ptr< DofEntity > &  dof_entity_ptr,
const int  dof_idx = -1,
const int  petsc_gloabl_dof_idx = -1,
const int  petsc_local_dof_idx = -1,
const int  part = -1 
)

Definition at line 72 of file DofsMultiIndices.cpp.

78  : interface_DofEntity<DofEntity>(dof_entity_ptr), dofIdx(dof_idx),
79  petscGloablDofIdx(petsc_gloabl_dof_idx),
80  petscLocalDofIdx(petsc_local_dof_idx), pArt(part) {
81 }

Member Function Documentation

◆ getDofIdx()

DofIdx MoFEM::NumeredDofEntity::getDofIdx ( ) const
Returns
MoFEM DoF index

Definition at line 255 of file DofsMultiIndices.hpp.

255 { return dofIdx; }

◆ getHasLocalIndex()

bool MoFEM::NumeredDofEntity::getHasLocalIndex ( ) const
Returns
True if local index is set

Definition at line 267 of file DofsMultiIndices.hpp.

267  {
268  return !std::signbit(petscLocalDofIdx);
269  }

◆ getPart()

unsigned int MoFEM::NumeredDofEntity::getPart ( ) const
Returns
Owning partition (i.e. process/processor)

Definition at line 264 of file DofsMultiIndices.hpp.

264 { return pArt; }

◆ getPetscGlobalDofIdx()

DofIdx MoFEM::NumeredDofEntity::getPetscGlobalDofIdx ( ) const
Returns
PETSc global DoF index

Definition at line 258 of file DofsMultiIndices.hpp.

258 { return petscGloablDofIdx; }

◆ getPetscLocalDofIdx()

DofIdx MoFEM::NumeredDofEntity::getPetscLocalDofIdx ( ) const
Returns
PETSc local DoF index

Definition at line 261 of file DofsMultiIndices.hpp.

261 { return petscLocalDofIdx; }

Friends And Related Function Documentation

◆ operator<<

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

Definition at line 83 of file DofsMultiIndices.cpp.

83  {
84  os << "idx " << e.dofIdx << " part " << e.pArt << " petsc idx "
85  << e.petscGloablDofIdx << " ( " << e.petscLocalDofIdx << " ) "
86  << *e.getFieldEntityPtr();
87  return os;
88 }

Member Data Documentation

◆ dofIdx

DofIdx MoFEM::NumeredDofEntity::dofIdx

Definition at line 249 of file DofsMultiIndices.hpp.

◆ pArt

unsigned int MoFEM::NumeredDofEntity::pArt

Definition at line 252 of file DofsMultiIndices.hpp.

◆ petscGloablDofIdx

DofIdx MoFEM::NumeredDofEntity::petscGloablDofIdx

Definition at line 250 of file DofsMultiIndices.hpp.

◆ petscLocalDofIdx

DofIdx MoFEM::NumeredDofEntity::petscLocalDofIdx

Definition at line 251 of file DofsMultiIndices.hpp.


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