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

keeps information about indexed dofs for the problemFIXME: Is too many iterator, this has to be manage more efficiently, some iterators could be moved to multi_indices views. More...

#include <src/multi_indices/DofsMultiIndices.hpp>

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

Public Types

typedef interface_Field< DofEntityinterface_type_Field
 
typedef interface_FieldEntity< DofEntityinterface_type_FieldEntity
 
typedef interface_DofEntity< DofEntityinterface_type_DofEntity
 

Public Member Functions

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 >
 interface_DofEntity (const boost::shared_ptr< DofEntity > &sptr)
 
const UId getGlobalUniqueId () const
 
const UId getEntGlobalUniqueId () 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< DofEntity >
 interface_FieldEntity (const boost::shared_ptr< DofEntity > &sptr)
 
EntityHandle getEnt () const
 
int getNbDofsOnEnt () const
 
VectorAdaptor getEntFieldData () const
 
int getOrderNbDofs (int order) const
 
int getOrderNbDofsDiff (int order) const
 
ApproximationOrder getMaxOrder () const
 
UId getGlobalUniqueId () const
 
boost::shared_ptr< RefEntity > & getRefEntityPtr () const
 
boost::shared_ptr< Field > & getFieldPtr () const
 
boost::shared_ptr< FieldEntity > & getFieldEntityPtr () const
 
std::vector< ApproximationOrder > & getDofOrderMap () const
 get hash-map relating dof index on entity with its order More...
 
- Public Member Functions inherited from MoFEM::interface_Field< DofEntity >
 interface_Field (const boost::shared_ptr< DofEntity > &field_ptr)
 
 interface_Field (const interface_Field< DofEntity > &interface)
 
virtual ~interface_Field ()
 
EntityHandle getMeshset () const
 
int getCoordSysId () const
 
int getCoordSysDim (const int d=0) const
 Get dimension of general two-point tensor MoFEM::CoordSys::getDim. More...
 
MoFEMErrorCode get_E_Base (const double m[]) const
 
MoFEMErrorCode get_E_DualBase (const double m[]) const
 
MoFEMErrorCode get_e_Base (const double m[]) const
 
MoFEMErrorCode get_e_DualBase (const double m[]) const
 
EntityHandle getCoordSysMeshSet () const
 
std::string getCoordSysName () const
 
boost::string_ref getCoordSysNameRef () const
 
const BitFieldIdgetId () const
 
boost::string_ref getNameRef () const
 
std::string getName () const
 
FieldSpace getSpace () const
 
FieldApproximationBase getApproxBase () const
 
FieldCoefficientsNumber getNbOfCoeffs () const
 
unsigned int getBitNumber () const
 
boost::shared_ptr< DofEntity > & getFieldPtr () const
 
std::vector< ApproximationOrder > & getDofOrderMap (const EntityType type) const
 get hash-map relating dof index on entity with its order More...
 
- Public Member Functions inherited from MoFEM::interface_RefEntity< DofEntity >
 interface_RefEntity (const boost::shared_ptr< DofEntity > &sptr)
 
 interface_RefEntity (const interface_RefEntity< DofEntity > &interface)
 
virtual ~interface_RefEntity ()
 
boost::shared_ptr< BasicEntityData > & getBasicDataPtr ()
 
const boost::shared_ptr< BasicEntityData > & getBasicDataPtr () const
 
EntityHandle getRefEnt () const
 
EntityType getParentEntType () const
 
EntityHandle getParentEnt () const
 
BitRefLevelgetBitRefLevelPtr () const
 
const BitRefLevelgetBitRefLevel () const
 
unsigned long int getBitRefLevelULong () const
 
EntityType getEntType () const
 
EntityID getEntId () const
 
EntityHandle getOwnerEnt () const
 
EntityHandlegetOwnerEnt ()
 
int getOwnerProc () const
 
intgetOwnerProc ()
 
int getPartProc () const
 
intgetPartProc ()
 
unsigned char getPStatus () const
 
intgetSharingProcsPtr () const
 
EntityHandlegetSharingHandlersPtr () const
 
boost::shared_ptr< DofEntity > & getRefEntityPtr () const
 

Public Attributes

DofIdx dofIdx
 
DofIdx petscGloablDofIdx
 
DofIdx petscLocalDofIdx
 
unsigned int pArt
 
- Public Attributes inherited from MoFEM::interface_Field< DofEntity >
boost::shared_ptr< DofEntitysFieldPtr
 
- Public Attributes inherited from MoFEM::interface_RefEntity< DofEntity >
boost::shared_ptr< DofEntitysPtr
 

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 222 of file DofsMultiIndices.hpp.

Member Typedef Documentation

◆ interface_type_DofEntity

Definition at line 226 of file DofsMultiIndices.hpp.

◆ interface_type_Field

Definition at line 224 of file DofsMultiIndices.hpp.

◆ interface_type_FieldEntity

Definition at line 225 of file DofsMultiIndices.hpp.

Constructor & Destructor Documentation

◆ 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 93 of file DofsMultiIndices.cpp.

99  : interface_DofEntity<DofEntity>(dof_entity_ptr), dofIdx(dof_idx),
100  petscGloablDofIdx(petsc_gloabl_dof_idx),
101  petscLocalDofIdx(petsc_local_dof_idx), pArt(part) {}

Member Function Documentation

◆ getDofIdx()

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

Definition at line 233 of file DofsMultiIndices.hpp.

233 { return dofIdx; }

◆ getHasLocalIndex()

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

Definition at line 245 of file DofsMultiIndices.hpp.

245  {
246  return !std::signbit(petscLocalDofIdx);
247  }

◆ getPart()

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

Definition at line 242 of file DofsMultiIndices.hpp.

242 { return pArt; }

◆ getPetscGlobalDofIdx()

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

Definition at line 236 of file DofsMultiIndices.hpp.

◆ getPetscLocalDofIdx()

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

Definition at line 239 of file DofsMultiIndices.hpp.

239 { return petscLocalDofIdx; }

Friends And Related Function Documentation

◆ operator<<

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

Definition at line 103 of file DofsMultiIndices.cpp.

103  {
104  os << "idx " << e.dofIdx << " part " << e.pArt << " petsc idx "
105  << e.petscGloablDofIdx << " ( " << e.petscLocalDofIdx << " ) "
106  << *e.sFieldPtr;
107  return os;
108 }

Member Data Documentation

◆ dofIdx

DofIdx MoFEM::NumeredDofEntity::dofIdx

Definition at line 227 of file DofsMultiIndices.hpp.

◆ pArt

unsigned int MoFEM::NumeredDofEntity::pArt

Definition at line 230 of file DofsMultiIndices.hpp.

◆ petscGloablDofIdx

DofIdx MoFEM::NumeredDofEntity::petscGloablDofIdx

Definition at line 228 of file DofsMultiIndices.hpp.

◆ petscLocalDofIdx

DofIdx MoFEM::NumeredDofEntity::petscLocalDofIdx

Definition at line 229 of file DofsMultiIndices.hpp.


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