v0.15.0
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
MoFEM::interface_Field< FIELD, REFENT > Struct Template Reference

Field interface with separate field and reference entity types. More...

#include "src/multi_indices/FieldMultiIndices.hpp"

Inheritance diagram for MoFEM::interface_Field< FIELD, REFENT >:
[legend]
Collaboration diagram for MoFEM::interface_Field< FIELD, REFENT >:
[legend]

Public Member Functions

 interface_Field (const boost::shared_ptr< FIELD > &field_ptr, const boost::shared_ptr< REFENT > &ref_ents_ptr)
 Constructor.
 
EntityHandle getMeshset () const
 Get field meshset handle.
 
int getCoordSysDim (const int d=0) const
 Get coordinate system dimension.
 
const BitFieldIdgetId () const
 Get field ID.
 
boost::string_ref getNameRef () const
 Get field name reference.
 
std::string getName () const
 Get field name.
 
FieldSpace getSpace () const
 Get approximation space.
 
FieldApproximationBase getApproxBase () const
 Get approximation basis.
 
FieldContinuity getContinuity () const
 Get space continuity.
 
auto getContinuityName () const
 Get space continuity name.
 
FieldCoefficientsNumber getNbOfCoeffs () const
 Get number of coefficients per DOF.
 
FieldBitNumber getBitNumber () const
 Get bit number for field ID.
 
std::array< ApproximationOrder, MAX_DOFS_ON_ENTITY > & getDofOrderMap (const EntityType type) const
 Get DOF order mapping for entity type.
 
const FieldgetFieldRawPtr () const
 Get raw field pointer.
 
FieldOrderTablegetFieldOrderTable ()
 Get field order table.
 
auto & getDofSideMap ()
 Get DOF side mapping for broken spaces.
 
- Public Member Functions inherited from MoFEM::interface_FieldImpl< FIELD, REFENT >
 interface_FieldImpl (const boost::shared_ptr< FIELD > &field_ptr, const boost::shared_ptr< REFENT > &ref_ents_ptr)
 Constructor with field and reference entity pointers.
 
virtual ~interface_FieldImpl ()=default
 Virtual destructor.
 
- Public Member Functions inherited from MoFEM::interface_RefEntity< REFENT >
 interface_RefEntity (const boost::shared_ptr< REFENT > &sptr)
 
 interface_RefEntity (const interface_RefEntity< REFENT > &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< REFENT > & getRefEntityPtr () const
 

Private Attributes

boost::shared_ptr< FIELD > sFieldPtr
 

Additional Inherited Members

- Public Types inherited from MoFEM::interface_FieldImpl< FIELD, REFENT >
using interface_type_RefEntity = interface_RefEntity< REFENT >
 
- Public Attributes inherited from MoFEM::interface_RefEntity< REFENT >
boost::shared_ptr< REFENT > sPtr
 

Detailed Description

template<typename FIELD, typename REFENT>
struct MoFEM::interface_Field< FIELD, REFENT >

Field interface with separate field and reference entity types.

Template Parameters
FIELDField type
REFENTReference entity type

Definition at line 310 of file FieldMultiIndices.hpp.

Constructor & Destructor Documentation

◆ interface_Field()

template<typename FIELD , typename REFENT >
MoFEM::interface_Field< FIELD, REFENT >::interface_Field ( const boost::shared_ptr< FIELD > &  field_ptr,
const boost::shared_ptr< REFENT > &  ref_ents_ptr 
)
inline

Constructor.

Parameters
field_ptrShared pointer to field
ref_ents_ptrShared pointer to reference entity

Definition at line 317 of file FieldMultiIndices.hpp.

319 : interface_FieldImpl<FIELD, REFENT>(field_ptr, ref_ents_ptr),
320 sFieldPtr(field_ptr) {}
boost::shared_ptr< FIELD > sFieldPtr

Member Function Documentation

◆ getApproxBase()

template<typename FIELD , typename REFENT >
FieldApproximationBase MoFEM::interface_Field< FIELD, REFENT >::getApproxBase ( ) const
inline

Get approximation basis.

Definition at line 353 of file FieldMultiIndices.hpp.

353 {
354 return getFieldRawPtr()->getApproxBase();
355 }
FieldApproximationBase getApproxBase() const
Get approximation basis type.
const Field * getFieldRawPtr() const
Get raw field pointer.

◆ getBitNumber()

template<typename FIELD , typename REFENT >
FieldBitNumber MoFEM::interface_Field< FIELD, REFENT >::getBitNumber ( ) const
inline

Get bit number for field ID.

Definition at line 373 of file FieldMultiIndices.hpp.

373 {
374 return getFieldRawPtr()->getBitNumber();
375 }
FieldBitNumber getBitNumber() const
Get bit number for this field's ID.

◆ getContinuity()

template<typename FIELD , typename REFENT >
FieldContinuity MoFEM::interface_Field< FIELD, REFENT >::getContinuity ( ) const
inline

Get space continuity.

Definition at line 358 of file FieldMultiIndices.hpp.

358 {
359 return getFieldRawPtr()->getContinuity();
360 }
FieldContinuity getContinuity() const
Get field continuity type.

◆ getContinuityName()

template<typename FIELD , typename REFENT >
auto MoFEM::interface_Field< FIELD, REFENT >::getContinuityName ( ) const
inline

Get space continuity name.

Definition at line 363 of file FieldMultiIndices.hpp.

363 {
365 }
auto getContinuityName() const
Get field continuity name.

◆ getCoordSysDim()

template<typename FIELD , typename REFENT >
int MoFEM::interface_Field< FIELD, REFENT >::getCoordSysDim ( const int  d = 0) const
inline

Get coordinate system dimension.

Definition at line 328 of file FieldMultiIndices.hpp.

328 {
329 return getFieldRawPtr()->getCoordSysDim(d);
330 }

◆ getDofOrderMap()

template<typename FIELD , typename REFENT >
std::array< ApproximationOrder, MAX_DOFS_ON_ENTITY > & MoFEM::interface_Field< FIELD, REFENT >::getDofOrderMap ( const EntityType  type) const
inline

Get DOF order mapping for entity type.

Parameters
typeEntity type
Returns
DOF order array

Definition at line 383 of file FieldMultiIndices.hpp.

383 {
384 return getFieldRawPtr()->getDofOrderMap(type);
385 }
const std::array< ApproximationOrder, MAX_DOFS_ON_ENTITY > & getDofOrderMap(const EntityType type) const
Get DOF order mapping for specific entity type.

◆ getDofSideMap()

template<typename FIELD , typename REFENT >
auto & MoFEM::interface_Field< FIELD, REFENT >::getDofSideMap ( )
inline

Get DOF side mapping for broken spaces.

Maps interior DOFs in broken spaces to entities where their traces are non-zero. Used for discontinuous Galerkin methods.

Returns
Reference to DOF side mapping

Definition at line 405 of file FieldMultiIndices.hpp.

405{ return sFieldPtr->getDofSideMap(); }

◆ getFieldOrderTable()

template<typename FIELD , typename REFENT >
FieldOrderTable & MoFEM::interface_Field< FIELD, REFENT >::getFieldOrderTable ( )
inline

Get field order table.

Definition at line 393 of file FieldMultiIndices.hpp.

393 {
394 return sFieldPtr->getFieldOrderTable();
395 };

◆ getFieldRawPtr()

template<typename FIELD , typename REFENT >
const Field * MoFEM::interface_Field< FIELD, REFENT >::getFieldRawPtr ( ) const
inline

Get raw field pointer.

Definition at line 388 of file FieldMultiIndices.hpp.

388 {
389 return sFieldPtr->getFieldRawPtr();
390 };

◆ getId()

template<typename FIELD , typename REFENT >
const BitFieldId & MoFEM::interface_Field< FIELD, REFENT >::getId ( ) const
inline

Get field ID.

Definition at line 333 of file FieldMultiIndices.hpp.

333 {
334 return getFieldRawPtr()->getId();
335 }
const BitFieldId & getId() const
Get unique field identifier.

◆ getMeshset()

template<typename FIELD , typename REFENT >
EntityHandle MoFEM::interface_Field< FIELD, REFENT >::getMeshset ( ) const
inline

Get field meshset handle.

Definition at line 323 of file FieldMultiIndices.hpp.

323 {
324 return getFieldRawPtr()->getMeshset();
325 }
EntityHandle getMeshset() const
Get field meshset handle.

◆ getName()

template<typename FIELD , typename REFENT >
std::string MoFEM::interface_Field< FIELD, REFENT >::getName ( ) const
inline

Get field name.

Definition at line 343 of file FieldMultiIndices.hpp.

343 {
344 return getFieldRawPtr()->getName();
345 }
std::string getName() const
Get field name as string.

◆ getNameRef()

template<typename FIELD , typename REFENT >
boost::string_ref MoFEM::interface_Field< FIELD, REFENT >::getNameRef ( ) const
inline

Get field name reference.

Definition at line 338 of file FieldMultiIndices.hpp.

338 {
339 return getFieldRawPtr()->getNameRef();
340 }
boost::string_ref getNameRef() const
Get field name as string reference.

◆ getNbOfCoeffs()

template<typename FIELD , typename REFENT >
FieldCoefficientsNumber MoFEM::interface_Field< FIELD, REFENT >::getNbOfCoeffs ( ) const
inline

Get number of coefficients per DOF.

Definition at line 368 of file FieldMultiIndices.hpp.

368 {
369 return getFieldRawPtr()->getNbOfCoeffs();
370 }
FieldCoefficientsNumber getNbOfCoeffs() const
Get number of field coefficients per DOF.

◆ getSpace()

template<typename FIELD , typename REFENT >
FieldSpace MoFEM::interface_Field< FIELD, REFENT >::getSpace ( ) const
inline

Get approximation space.

Definition at line 348 of file FieldMultiIndices.hpp.

348 {
349 return getFieldRawPtr()->getSpace();
350 }
FieldSpace getSpace() const
Get field approximation space.

Member Data Documentation

◆ sFieldPtr

template<typename FIELD , typename REFENT >
boost::shared_ptr<FIELD> MoFEM::interface_Field< FIELD, REFENT >::sFieldPtr
mutableprivate

Definition at line 408 of file FieldMultiIndices.hpp.


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