v0.9.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 (const MOFEMuuid &uuid, BaseFunctionUnknownInterface **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 (DataForcesAndSourcesCore &data, const std::string field_name, const FieldSpace space, const FieldApproximationBase base, const FieldApproximationBase copy_node_base=LASTBASE)
 
- Public Member Functions inherited from MoFEM::BaseFunctionCtx
 BaseFunctionCtx ()
 
- Public Member Functions inherited from MoFEM::BaseFunctionUnknownInterface
virtual ~BaseFunctionUnknownInterface ()=default
 

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 std::string fieldName
 
const FieldApproximationBase copyNodeBase
 

Additional Inherited Members

- 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 38 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 41 of file FatPrismPolynomialBase.cpp.

50  : EntPolynomialBaseCtx(data, space, base, copy_node_base),
51  dataTrianglesOnly(data_triangles_only),
52  dataTroughThickness(data_trough_thickness),
53  gaussPtsTrianglesOnly(gauss_pts_triangles_only),
54  gaussPtsThroughThickness(gauss_pts_through_thickness), mOab(moab),
55  fePtr(fe_ptr) {
56 
57  ierr = setBase();
58  CHKERRABORT(PETSC_COMM_WORLD, ierr);
59 }
DataForcesAndSourcesCore & dataTroughThickness
EntPolynomialBaseCtx(DataForcesAndSourcesCore &data, const FieldSpace space, const FieldApproximationBase base, const FieldApproximationBase copy_node_base=LASTBASE)
DataForcesAndSourcesCore & dataTrianglesOnly
const NumeredEntFiniteElement * fePtr

◆ ~FatPrismPolynomialBaseCtx()

FatPrismPolynomialBaseCtx::~FatPrismPolynomialBaseCtx ( )

Definition at line 60 of file FatPrismPolynomialBase.cpp.

60 {}

Member Function Documentation

◆ query_interface()

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

Reimplemented from MoFEM::EntPolynomialBaseCtx.

Definition at line 25 of file FatPrismPolynomialBase.cpp.

26  {
27 
29  *iface = NULL;
30  if (uuid == IDD_FATPRISM_BASE_FUNCTION) {
31  *iface = const_cast<FatPrismPolynomialBaseCtx *>(this);
33  } else {
34  SETERRQ(PETSC_COMM_WORLD, MOFEM_DATA_INCONSISTENCY, "wrong interference");
35  }
37  CHKERRG(ierr);
39 }
MoFEMErrorCode query_interface(const MOFEMuuid &uuid, BaseFunctionUnknownInterface **iface) const
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:501
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:544
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:508
static const MOFEMuuid IDD_FATPRISM_BASE_FUNCTION

Member Data Documentation

◆ dataTrianglesOnly

DataForcesAndSourcesCore& MoFEM::FatPrismPolynomialBaseCtx::dataTrianglesOnly

Definition at line 43 of file FatPrismPolynomialBase.hpp.

◆ dataTroughThickness

DataForcesAndSourcesCore& MoFEM::FatPrismPolynomialBaseCtx::dataTroughThickness

Definition at line 44 of file FatPrismPolynomialBase.hpp.

◆ fePtr

const NumeredEntFiniteElement* MoFEM::FatPrismPolynomialBaseCtx::fePtr

Definition at line 50 of file FatPrismPolynomialBase.hpp.

◆ gaussPtsThroughThickness

MatrixDouble& MoFEM::FatPrismPolynomialBaseCtx::gaussPtsThroughThickness

Definition at line 47 of file FatPrismPolynomialBase.hpp.

◆ gaussPtsTrianglesOnly

MatrixDouble& MoFEM::FatPrismPolynomialBaseCtx::gaussPtsTrianglesOnly

Definition at line 46 of file FatPrismPolynomialBase.hpp.

◆ mOab

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

Definition at line 49 of file FatPrismPolynomialBase.hpp.


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