v0.15.0
Loading...
Searching...
No Matches
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

using interface_type_RefEntity = interface_RefEntity<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.
 
- 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
 
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< RefEntity > & getRefEntityPtr () const
 

Protected Attributes

SideNumber_multiIndex sideNumberTable
 

Static Protected Attributes

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

Friends

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

Additional Inherited Members

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

Detailed Description

keeps data about abstract refined finite element

Definition at line 16 of file RefElementMultiIndices.hpp.

Member Typedef Documentation

◆ interface_type_RefEntity

Constructor & Destructor Documentation

◆ RefElement()

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

Definition at line 15 of file RefElementMultiIndices.cpp.

16 : interface_RefEntity<RefEntity>(ref_ents_ptr) {}

◆ ~RefElement()

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

Member Function Documentation

◆ getBitRefEdges()

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

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

Definition at line 23 of file RefElementMultiIndices.hpp.

23{ return DummyBitRefEdges; }
static BitRefEdges DummyBitRefEdges

◆ getBitRefEdgesUlong()

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

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

Definition at line 25 of file RefElementMultiIndices.hpp.

25{ return 0; }

◆ getRefEntityPtr()

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

Get pointer to RefEntity.

Definition at line 40 of file RefElementMultiIndices.hpp.

40 {
41 return this->sPtr;
42 }

◆ getSideNumberPtr()

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

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

Definition at line 32 of file RefElementMultiIndices.hpp.

32 {
33 NOT_USED(ent);
34 return nullSideNumber;
35 };
#define NOT_USED(x)
static const boost::shared_ptr< SideNumber > nullSideNumber

◆ getSideNumberTable()

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

Definition at line 27 of file RefElementMultiIndices.hpp.

27 {
28 return const_cast<SideNumber_multiIndex &>(sideNumberTable);
29 }
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 sideNumberTable

Friends And Related Symbol Documentation

◆ operator<<

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

Definition at line 18 of file RefElementMultiIndices.cpp.

18 {
19 os << " ref egdes " << e.getBitRefEdges();
20 os << " " << *(e.sPtr);
21 return os;
22}

Member Data Documentation

◆ DummyBitRefEdges

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

Definition at line 49 of file RefElementMultiIndices.hpp.

◆ nullSideNumber

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

Definition at line 50 of file RefElementMultiIndices.hpp.

◆ sideNumberTable

SideNumber_multiIndex MoFEM::RefElement::sideNumberTable
protected

Definition at line 48 of file RefElementMultiIndices.hpp.


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