v0.14.0
Public Member Functions | Public Attributes | List of all members
MoFEM::FatPrismPolynomialBaseCtx Struct Reference

Class used to pass element data to calculate base functions on fat prism. More...

#include <src/approximation/FatPrismPolynomialBase.hpp>

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

Public Member Functions

MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const
 
 FatPrismPolynomialBaseCtx (EntitiesFieldData &data, EntitiesFieldData &data_triangles_only, EntitiesFieldData &data_trough_thickness, MatrixDouble &gauss_pts_triangles_only, MatrixDouble &gauss_pts_through_thickness, moab::Interface &moab, const NumeredEntFiniteElement *fe_ptr, const FieldSpace space, const FieldApproximationBase base, const FieldApproximationBase copy_node_base=LASTBASE)
 
 ~FatPrismPolynomialBaseCtx ()
 
- Public Member Functions inherited from MoFEM::EntPolynomialBaseCtx
 EntPolynomialBaseCtx (EntitiesFieldData &data, const FieldSpace space, const FieldContinuity continuity, const FieldApproximationBase base, const FieldApproximationBase copy_node_base=LASTBASE)
 
 EntPolynomialBaseCtx (EntitiesFieldData &data, const std::string field_name, const FieldSpace space, const FieldContinuity continuity, const FieldApproximationBase base, const FieldApproximationBase copy_node_base=LASTBASE)
 
- Public Member Functions inherited from MoFEM::BaseFunctionUnknownInterface
virtual ~BaseFunctionUnknownInterface ()=default
 
- Public Member Functions inherited from MoFEM::UnknownInterface
template<class IFACE >
MoFEMErrorCode registerInterface (bool error_if_registration_failed=true)
 Register interface. More...
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE *&iface) const
 Get interface reference to pointer of interface. More...
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE **const iface) const
 Get interface pointer to pointer of interface. More...
 
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get interface pointer to pointer of interface. More...
 
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get reference to interface. More...
 
template<class IFACE >
IFACE * getInterface () const
 Function returning pointer to interface. More...
 
virtual ~UnknownInterface ()=default
 

Public Attributes

EntitiesFieldDatadataTrianglesOnly
 
EntitiesFieldDatadataTroughThickness
 
MatrixDoublegaussPtsTrianglesOnly
 
MatrixDoublegaussPtsThroughThickness
 
moab::Interface & mOab
 
const NumeredEntFiniteElementfePtr
 
- Public Attributes inherited from MoFEM::EntPolynomialBaseCtx
PetscErrorCode(* basePolynomialsType0 )(int p, double s, double *diff_s, double *L, double *diffL, const int dim)
 
PetscErrorCode(* basePolynomialsType1 )(int p, double alpha, double x, double t, double *diff_x, double *diff_t, double *L, double *diffL, const int dim)
 
EntitiesFieldDatadAta
 
const FieldSpace sPace
 
const FieldContinuity spaceContinuity
 
const FieldApproximationBase bAse
 
const std::string fieldName
 
const FieldApproximationBase copyNodeBase
 

Additional Inherited Members

- Static Public Member Functions inherited from MoFEM::UnknownInterface
static MoFEMErrorCode getLibVersion (Version &version)
 Get library version. More...
 
static MoFEMErrorCode getFileVersion (moab::Interface &moab, Version &version)
 Get database major version. More...
 
static MoFEMErrorCode setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD))
 Get database major version. More...
 
static MoFEMErrorCode getInterfaceVersion (Version &version)
 Get database major version. More...
 
- Protected Member Functions inherited from MoFEM::EntPolynomialBaseCtx
MoFEMErrorCode setBase ()
 

Detailed Description

Class used to pass element data to calculate base functions on fat prism.

FIXME: Need moab and mofem finite element structure to work (that not perfect)

Definition at line 23 of file FatPrismPolynomialBase.hpp.

Constructor & Destructor Documentation

◆ FatPrismPolynomialBaseCtx()

FatPrismPolynomialBaseCtx::FatPrismPolynomialBaseCtx ( EntitiesFieldData data,
EntitiesFieldData data_triangles_only,
EntitiesFieldData data_trough_thickness,
MatrixDouble gauss_pts_triangles_only,
MatrixDouble gauss_pts_through_thickness,
moab::Interface &  moab,
const NumeredEntFiniteElement fe_ptr,
const FieldSpace  space,
const FieldApproximationBase  base,
const FieldApproximationBase  copy_node_base = LASTBASE 
)

Definition at line 19 of file FatPrismPolynomialBase.cpp.

27  : EntPolynomialBaseCtx(data, space, CONTINUOUS, base, copy_node_base),
28  dataTrianglesOnly(data_triangles_only),
29  dataTroughThickness(data_trough_thickness),
30  gaussPtsTrianglesOnly(gauss_pts_triangles_only),
31  gaussPtsThroughThickness(gauss_pts_through_thickness), mOab(moab),
32  fePtr(fe_ptr) {
33 
34  ierr = setBase();
35  CHKERRABORT(PETSC_COMM_WORLD, ierr);
36 }

◆ ~FatPrismPolynomialBaseCtx()

FatPrismPolynomialBaseCtx::~FatPrismPolynomialBaseCtx ( )

Definition at line 37 of file FatPrismPolynomialBase.cpp.

37 {}

Member Function Documentation

◆ query_interface()

MoFEMErrorCode FatPrismPolynomialBaseCtx::query_interface ( boost::typeindex::type_index  type_index,
UnknownInterface **  iface 
) const
virtual

Reimplemented from MoFEM::EntPolynomialBaseCtx.

Definition at line 13 of file FatPrismPolynomialBase.cpp.

14  {
15  *iface = const_cast<FatPrismPolynomialBaseCtx *>(this);
16  return 0;
17 }

Member Data Documentation

◆ dataTrianglesOnly

EntitiesFieldData& MoFEM::FatPrismPolynomialBaseCtx::dataTrianglesOnly

Definition at line 28 of file FatPrismPolynomialBase.hpp.

◆ dataTroughThickness

EntitiesFieldData& MoFEM::FatPrismPolynomialBaseCtx::dataTroughThickness

Definition at line 29 of file FatPrismPolynomialBase.hpp.

◆ fePtr

const NumeredEntFiniteElement* MoFEM::FatPrismPolynomialBaseCtx::fePtr

Definition at line 35 of file FatPrismPolynomialBase.hpp.

◆ gaussPtsThroughThickness

MatrixDouble& MoFEM::FatPrismPolynomialBaseCtx::gaussPtsThroughThickness

Definition at line 32 of file FatPrismPolynomialBase.hpp.

◆ gaussPtsTrianglesOnly

MatrixDouble& MoFEM::FatPrismPolynomialBaseCtx::gaussPtsTrianglesOnly

Definition at line 31 of file FatPrismPolynomialBase.hpp.

◆ mOab

moab::Interface& MoFEM::FatPrismPolynomialBaseCtx::mOab

Definition at line 34 of file FatPrismPolynomialBase.hpp.


The documentation for this struct was generated from the following files:
MoFEM::FatPrismPolynomialBaseCtx::gaussPtsTrianglesOnly
MatrixDouble & gaussPtsTrianglesOnly
Definition: FatPrismPolynomialBase.hpp:31
MoFEM::FatPrismPolynomialBaseCtx::dataTroughThickness
EntitiesFieldData & dataTroughThickness
Definition: FatPrismPolynomialBase.hpp:29
MoFEM::FatPrismPolynomialBaseCtx::fePtr
const NumeredEntFiniteElement * fePtr
Definition: FatPrismPolynomialBase.hpp:35
MoFEM::FatPrismPolynomialBaseCtx
Class used to pass element data to calculate base functions on fat prism.
Definition: FatPrismPolynomialBase.hpp:23
MoFEM::EntPolynomialBaseCtx::EntPolynomialBaseCtx
EntPolynomialBaseCtx(EntitiesFieldData &data, const FieldSpace space, const FieldContinuity continuity, const FieldApproximationBase base, const FieldApproximationBase copy_node_base=LASTBASE)
Definition: EntPolynomialBaseCtx.cpp:17
MoFEM::FatPrismPolynomialBaseCtx::mOab
moab::Interface & mOab
Definition: FatPrismPolynomialBase.hpp:34
MoFEM::Exceptions::ierr
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Exceptions.hpp:76
CONTINUOUS
@ CONTINUOUS
Regular field.
Definition: definitions.h:100
MoFEM::FatPrismPolynomialBaseCtx::gaussPtsThroughThickness
MatrixDouble & gaussPtsThroughThickness
Definition: FatPrismPolynomialBase.hpp:32
MoFEM::FatPrismPolynomialBaseCtx::dataTrianglesOnly
EntitiesFieldData & dataTrianglesOnly
Definition: FatPrismPolynomialBase.hpp:28
MoFEM::EntPolynomialBaseCtx::setBase
MoFEMErrorCode setBase()
Definition: EntPolynomialBaseCtx.cpp:38