v0.13.1
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Friends | List of all members
MoFEM::RefElement Struct Reference

keeps data about abstract refined finite element More...

#include <src/multi_indices/RefElementMultiIndices.hpp>

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

Public Types

typedef interface_RefEntity< RefEntityinterface_type_RefEntity
 

Public Member Functions

 RefElement (const boost::shared_ptr< RefEntity > &ref_ents_ptr)
 
virtual ~RefElement ()=default
 
virtual const BitRefEdgesgetBitRefEdges () const
 
virtual int getBitRefEdgesUlong () const
 
SideNumber_multiIndexgetSideNumberTable () const
 
virtual const boost::shared_ptr< SideNumber > & getSideNumberPtr (const EntityHandle ent) const
 
boost::shared_ptr< RefEntity > & getRefEntityPtr () const
 Get pointer to RefEntity. More...
 
- 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< 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< RefEntity > & getRefEntityPtr () const
 

Public Attributes

SideNumber_multiIndex side_number_table
 
- Public Attributes inherited from MoFEM::interface_RefEntity< RefEntity >
boost::shared_ptr< RefEntitysPtr
 

Static Public Attributes

static BitRefEdges DummyBitRefEdges = BitRefEdges(0)
 
static const boost::shared_ptr< SideNumbernullSideNumber
 

Friends

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

Detailed Description

keeps data about abstract refined finite element

Definition at line 29 of file RefElementMultiIndices.hpp.

Member Typedef Documentation

◆ interface_type_RefEntity

Definition at line 31 of file RefElementMultiIndices.hpp.

Constructor & Destructor Documentation

◆ RefElement()

MoFEM::RefElement::RefElement ( const boost::shared_ptr< RefEntity > &  ref_ents_ptr)

Definition at line 28 of file RefElementMultiIndices.cpp.

29 : interface_RefEntity<RefEntity>(ref_ents_ptr) {}

◆ ~RefElement()

virtual MoFEM::RefElement::~RefElement ( )
virtualdefault

Member Function Documentation

◆ getBitRefEdges()

virtual const BitRefEdges & MoFEM::RefElement::getBitRefEdges ( ) const
virtual

Reimplemented in MoFEM::RefElement_PRISM, and MoFEM::RefElementVolume.

Definition at line 39 of file RefElementMultiIndices.hpp.

39{ return DummyBitRefEdges; }
static BitRefEdges DummyBitRefEdges

◆ getBitRefEdgesUlong()

virtual int MoFEM::RefElement::getBitRefEdgesUlong ( ) const
virtual

Reimplemented in MoFEM::RefElement_PRISM, and MoFEM::RefElementVolume.

Definition at line 41 of file RefElementMultiIndices.hpp.

41{ return 0; }

◆ getRefEntityPtr()

boost::shared_ptr< RefEntity > & MoFEM::RefElement::getRefEntityPtr ( ) const

Get pointer to RefEntity.

Definition at line 58 of file RefElementMultiIndices.hpp.

58 {
59 return this->sPtr;
60 }

◆ getSideNumberPtr()

virtual const boost::shared_ptr< SideNumber > & MoFEM::RefElement::getSideNumberPtr ( const EntityHandle  ent) const
virtual

Reimplemented in MoFEM::RefElement_MESHSET, MoFEM::RefElement_PRISM, MoFEM::RefElementVolume, MoFEM::RefElementFace, MoFEM::RefElement_EDGE, and MoFEM::RefElement_VERTEX.

Definition at line 50 of file RefElementMultiIndices.hpp.

50 {
51 NOT_USED(ent);
52 return nullSideNumber;
53 };
#define NOT_USED(x)
Definition: definitions.h:255
static const boost::shared_ptr< SideNumber > nullSideNumber

◆ getSideNumberTable()

SideNumber_multiIndex & MoFEM::RefElement::getSideNumberTable ( ) const

Definition at line 43 of file RefElementMultiIndices.hpp.

43 {
44 return const_cast<SideNumber_multiIndex &>(side_number_table);
45 }
multi_index_container< boost::shared_ptr< SideNumber >, indexed_by< ordered_unique< member< SideNumber, EntityHandle, &SideNumber::ent > >, ordered_non_unique< composite_key< SideNumber, const_mem_fun< SideNumber, EntityType, &SideNumber::getEntType >, member< SideNumber, signed char, &SideNumber::side_number > > > > > SideNumber_multiIndex
SideNumber_multiIndex for SideNumber.
SideNumber_multiIndex side_number_table

Friends And Related Function Documentation

◆ operator<<

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

Definition at line 31 of file RefElementMultiIndices.cpp.

31 {
32 os << " ref egdes " << e.getBitRefEdges();
33 os << " " << *(e.sPtr);
34 return os;
35}

Member Data Documentation

◆ DummyBitRefEdges

BitRefEdges MoFEM::RefElement::DummyBitRefEdges = BitRefEdges(0)
static

Definition at line 33 of file RefElementMultiIndices.hpp.

◆ nullSideNumber

const boost::shared_ptr< SideNumber > MoFEM::RefElement::nullSideNumber
static
Initial value:
=
boost::shared_ptr<SideNumber>()

Definition at line 47 of file RefElementMultiIndices.hpp.

◆ side_number_table

SideNumber_multiIndex MoFEM::RefElement::side_number_table

Definition at line 35 of file RefElementMultiIndices.hpp.


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