v0.14.0
EntPolynomialBaseCtx.hpp
Go to the documentation of this file.
1 /** \file EntPolynomialBaseCtx.hpp
2 \brief Implementation of Ainsworth-Cole H1 base on tetrahedral
3 
4 */
5 
6 
7 
8 #ifndef __ENTPOLYNOMIALCTX_HPP__
9 #define __ENTPOLYNOMIALCTX_HPP__
10 
11 namespace MoFEM {
12 
13 struct EntitiesFieldData;
14 struct FEMethod;
15 
16 /**
17  * \brief Class used to pass element data to calculate base functions on
18  * tet,triangle,edge
19  *
20  * \ingroup mofem_base_functions
21  */
23 
24  MoFEMErrorCode query_interface(boost::typeindex::type_index type_index,
25  UnknownInterface **iface) const;
26 
27  PetscErrorCode (*basePolynomialsType0)(int p, double s, double *diff_s,
28  double *L, double *diffL,
29  const int dim);
30 
31  PetscErrorCode (*basePolynomialsType1)(int p, double alpha, double x,
32  double t, double *diff_x,
33  double *diff_t, double *L,
34  double *diffL, const int dim);
35 
40  const std::string fieldName;
42 
44  const FieldContinuity continuity,
45  const FieldApproximationBase base,
46  const FieldApproximationBase copy_node_base = LASTBASE);
47 
48  EntPolynomialBaseCtx(EntitiesFieldData &data, const std::string field_name,
49  const FieldSpace space, const FieldContinuity continuity,
50  const FieldApproximationBase base,
51  const FieldApproximationBase copy_node_base = LASTBASE);
52 
53 protected:
55 };
56 
57 } // namespace MoFEM
58 
59 #endif //__ENTPOLYNOMIALCTX_HPP__
MoFEM::EntPolynomialBaseCtx::query_interface
MoFEMErrorCode query_interface(boost::typeindex::type_index type_index, UnknownInterface **iface) const
Definition: EntPolynomialBaseCtx.cpp:11
LASTBASE
@ LASTBASE
Definition: definitions.h:69
MoFEM::EntPolynomialBaseCtx
Class used to pass element data to calculate base functions on tet,triangle,edge.
Definition: EntPolynomialBaseCtx.hpp:22
MoFEM::Exceptions::MoFEMErrorCode
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:56
MoFEM::EntPolynomialBaseCtx::dAta
EntitiesFieldData & dAta
Definition: EntPolynomialBaseCtx.hpp:36
MoFEM::EntPolynomialBaseCtx::basePolynomialsType1
PetscErrorCode(* basePolynomialsType1)(int p, double alpha, double x, double t, double *diff_x, double *diff_t, double *L, double *diffL, const int dim)
Definition: EntPolynomialBaseCtx.hpp:31
MoFEM::BaseFunctionCtx
Base class used to exchange data between element data structures and class calculating base functions...
Definition: BaseFunction.hpp:28
FieldSpace
FieldSpace
approximation spaces
Definition: definitions.h:82
MoFEM::EntPolynomialBaseCtx::copyNodeBase
const FieldApproximationBase copyNodeBase
Definition: EntPolynomialBaseCtx.hpp:41
FEMethod
MoFEM
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:10
FieldContinuity
FieldContinuity
Field continuity.
Definition: definitions.h:99
MoFEM::EntPolynomialBaseCtx::sPace
const FieldSpace sPace
Definition: EntPolynomialBaseCtx.hpp:37
MoFEM::L
VectorDouble L
Definition: Projection10NodeCoordsOnField.cpp:124
t
constexpr double t
plate stiffness
Definition: plate.cpp:58
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::EntPolynomialBaseCtx::bAse
const FieldApproximationBase bAse
Definition: EntPolynomialBaseCtx.hpp:39
field_name
constexpr auto field_name
Definition: poisson_2d_homogeneous.cpp:13
MoFEM::UnknownInterface
base class for all interface classes
Definition: UnknownInterface.hpp:34
MoFEM::EntPolynomialBaseCtx::spaceContinuity
const FieldContinuity spaceContinuity
Definition: EntPolynomialBaseCtx.hpp:38
MoFEM::EntPolynomialBaseCtx::fieldName
const std::string fieldName
Definition: EntPolynomialBaseCtx.hpp:40
FieldApproximationBase
FieldApproximationBase
approximation base
Definition: definitions.h:58
MoFEM::EntitiesFieldData
data structure for finite element entity
Definition: EntitiesFieldData.hpp:40
MoFEM::EntPolynomialBaseCtx::basePolynomialsType0
PetscErrorCode(* basePolynomialsType0)(int p, double s, double *diff_s, double *L, double *diffL, const int dim)
Definition: EntPolynomialBaseCtx.hpp:27
MoFEM::EntPolynomialBaseCtx::setBase
MoFEMErrorCode setBase()
Definition: EntPolynomialBaseCtx.cpp:38