v0.8.4
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 (const MOFEMuuid &uuid, MoFEM::UnknownInterface **iface) const
 
 FatPrismPolynomialBaseCtx (DataForcesAndSourcesCore &data, DataForcesAndSourcesCore &data_triangles_only, DataForcesAndSourcesCore &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 (DataForcesAndSourcesCore &data, const FieldSpace space, const FieldApproximationBase base, const FieldApproximationBase copy_node_base=LASTBASE)
 
 ~EntPolynomialBaseCtx ()
 
- Public Member Functions inherited from MoFEM::BaseFunctionCtx
 BaseFunctionCtx ()
 
 ~BaseFunctionCtx ()
 
- Public Member Functions inherited from MoFEM::UnknownInterface
template<class IFACE >
MoFEMErrorCode registerInterface (const MOFEMuuid &uuid, bool error_if_registration_failed=true)
 Register interface. More...
 
template<class IFACE , bool VERIFY = false>
MoFEMErrorCode getInterface (const MOFEMuuid &uuid, IFACE *&iface) const
 Get interface by uuid and return reference to pointer of interface. More...
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE *&iface) const
 Get interface refernce 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 ()
 
virtual MoFEMErrorCode getLibVersion (Version &version) const
 Get library version. More...
 
virtual const MoFEMErrorCode getFileVersion (moab::Interface &moab, Version &version) const
 Get database major version. More...
 
virtual MoFEMErrorCode getInterfaceVersion (Version &version) const
 Get database major version. More...
 
template<>
MoFEMErrorCode getInterface (const MOFEMuuid &uuid, UnknownInterface *&iface) const
 

Public Attributes

DataForcesAndSourcesCoredataTrianglesOnly
 
DataForcesAndSourcesCoredataTroughThickness
 
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)
 
DataForcesAndSourcesCoredAta
 
const FieldSpace sPace
 
const FieldApproximationBase bAse
 
const FieldApproximationBase copyNodeBase
 
const FEMethodfePtr
 

Additional Inherited Members

- Protected Member Functions inherited from MoFEM::EntPolynomialBaseCtx
MoFEMErrorCode setBase ()
 
- Protected Member Functions inherited from MoFEM::UnknownInterface
boost::typeindex::type_index getClassIdx (const MOFEMuuid &uid) const
 Get type name for interface Id. More...
 
MOFEMuuid getUId (const boost::typeindex::type_index &class_idx) const
 Get interface Id for class name. More...
 

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 33 of file FatPrismPolynomialBase.hpp.

Constructor & Destructor Documentation

◆ FatPrismPolynomialBaseCtx()

FatPrismPolynomialBaseCtx::FatPrismPolynomialBaseCtx ( DataForcesAndSourcesCore data,
DataForcesAndSourcesCore data_triangles_only,
DataForcesAndSourcesCore 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 64 of file FatPrismPolynomialBase.cpp.

75  :
76 EntPolynomialBaseCtx(data,space,base,copy_node_base),
77 dataTrianglesOnly(data_triangles_only),
78 dataTroughThickness(data_trough_thickness),
79 gaussPtsTrianglesOnly(gauss_pts_triangles_only),
80 gaussPtsThroughThickness(gauss_pts_through_thickness),
81 mOab(moab),
82 fePtr(fe_ptr) {
83 
84  ierr = setBase(); CHKERRABORT(PETSC_COMM_WORLD,ierr);
85 }
DataForcesAndSourcesCore & dataTroughThickness
EntPolynomialBaseCtx(DataForcesAndSourcesCore &data, const FieldSpace space, const FieldApproximationBase base, const FieldApproximationBase copy_node_base=LASTBASE)
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Common.hpp:80
DataForcesAndSourcesCore & dataTrianglesOnly
const NumeredEntFiniteElement * fePtr

◆ ~FatPrismPolynomialBaseCtx()

FatPrismPolynomialBaseCtx::~FatPrismPolynomialBaseCtx ( )

Definition at line 86 of file FatPrismPolynomialBase.cpp.

86  {
87 }

Member Function Documentation

◆ query_interface()

MoFEMErrorCode FatPrismPolynomialBaseCtx::query_interface ( const MOFEMuuid uuid,
MoFEM::UnknownInterface **  iface 
) const
virtual

Reimplemented from MoFEM::EntPolynomialBaseCtx.

Definition at line 48 of file FatPrismPolynomialBase.cpp.

48  {
49 
51  *iface = NULL;
52  if(
54  ) {
55  *iface = const_cast<FatPrismPolynomialBaseCtx*>(this);
57  } else {
58  SETERRQ(PETSC_COMM_WORLD,MOFEM_DATA_INCONSISTENCY,"wrong interference");
59  }
62 }
Class used to pass element data to calculate base functions on fat prism.
MoFEMErrorCode query_interface(const MOFEMuuid &uuid, UnknownInterface **iface) const
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:522
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:565
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:528
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Common.hpp:80
static const MOFEMuuid IDD_FATPRISM_BASE_FUNCTION

Member Data Documentation

◆ dataTrianglesOnly

DataForcesAndSourcesCore& MoFEM::FatPrismPolynomialBaseCtx::dataTrianglesOnly

Definition at line 37 of file FatPrismPolynomialBase.hpp.

◆ dataTroughThickness

DataForcesAndSourcesCore& MoFEM::FatPrismPolynomialBaseCtx::dataTroughThickness

Definition at line 38 of file FatPrismPolynomialBase.hpp.

◆ fePtr

const NumeredEntFiniteElement* MoFEM::FatPrismPolynomialBaseCtx::fePtr

Definition at line 44 of file FatPrismPolynomialBase.hpp.

◆ gaussPtsThroughThickness

MatrixDouble& MoFEM::FatPrismPolynomialBaseCtx::gaussPtsThroughThickness

Definition at line 41 of file FatPrismPolynomialBase.hpp.

◆ gaussPtsTrianglesOnly

MatrixDouble& MoFEM::FatPrismPolynomialBaseCtx::gaussPtsTrianglesOnly

Definition at line 40 of file FatPrismPolynomialBase.hpp.

◆ mOab

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

Definition at line 43 of file FatPrismPolynomialBase.hpp.


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