v0.14.0
FlatPrismPolynomialBase.hpp
Go to the documentation of this file.
1 /** \file FlatPrismPolynomialBase.hpp
2 \brief Implementation of Ainsworth-Cole H1 base on tetrahedral
3 
4 */
5 
6 
7 
8 #ifndef __FLATPRISMPOLYNOMIALBASE_HPP__
9 #define __FLATPRISMPOLYNOMIALBASE_HPP__
10 
11 namespace MoFEM {
12 
13 /**
14  * \brief Class used to pass element data to calculate base functions on flat
15  * prism
16  *
17  * \ingroup mofem_base_functions
18  * FIXME: Need moab and mofem finite element structure to work (that not
19  * perfect)
20  */
22 
23  MoFEMErrorCode query_interface(boost::typeindex::type_index type_index,
24  UnknownInterface **iface) const;
25 
28 
31  const NumeredEntFiniteElement *fe_ptr, const FieldSpace space,
32  const FieldApproximationBase base,
33  const FieldApproximationBase copy_node_base = LASTBASE);
34 
36 };
37 
38 /**
39  * \brief Calculate base functions on tetrahedral
40  * \ingroup mofem_base_functions
41  * FIXME: Need moab and mofem finite element structure to work (that not
42  * perfect)
43  */
45 
46  MoFEMErrorCode query_interface(boost::typeindex::type_index type_index,
47  UnknownInterface **iface) const;
48 
51 
53  boost::shared_ptr<BaseFunctionCtx> ctx_ptr);
54 
55 private:
57 
59 
61 
63 
65 
66  int numNodes;
70  int faceNodes[2][3];
73 };
74 
75 } // namespace MoFEM
76 
77 #endif //__FLATPRISMPOLYNOMIALBASE_HPP__
UBlasMatrix< double >
MoFEM::FlatPrismPolynomialBase::query_interface
MoFEMErrorCode query_interface(boost::typeindex::type_index type_index, UnknownInterface **iface) const
Definition: FlatPrismPolynomialBase.cpp:27
MoFEM::FlatPrismPolynomialBase::getValueHdiv
MoFEMErrorCode getValueHdiv(MatrixDouble &pts)
Definition: FlatPrismPolynomialBase.cpp:224
LASTBASE
@ LASTBASE
Definition: definitions.h:69
MoFEM::FlatPrismPolynomialBase::connFace3
const EntityHandle * connFace3
Definition: FlatPrismPolynomialBase.hpp:68
EntityHandle
MoFEM::FlatPrismPolynomialBase::getValue
MoFEMErrorCode getValue(MatrixDouble &pts, boost::shared_ptr< BaseFunctionCtx > ctx_ptr)
Definition: FlatPrismPolynomialBase.cpp:37
MoFEM::FlatPrismPolynomialBase::~FlatPrismPolynomialBase
~FlatPrismPolynomialBase()
Definition: FlatPrismPolynomialBase.cpp:33
MoFEM::EntPolynomialBaseCtx
Class used to pass element data to calculate base functions on tet,triangle,edge.
Definition: EntPolynomialBaseCtx.hpp:22
MoFEM::FlatPrismPolynomialBase::getValueL2
MoFEMErrorCode getValueL2(MatrixDouble &pts)
Definition: FlatPrismPolynomialBase.cpp:218
MoFEM::FlatPrismPolynomialBase::faceNodes
int faceNodes[2][3]
Definition: FlatPrismPolynomialBase.hpp:70
MoFEM::Exceptions::MoFEMErrorCode
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:56
MoFEM::FlatPrismPolynomialBase::cTx
FlatPrismPolynomialBaseCtx * cTx
Definition: FlatPrismPolynomialBase.hpp:56
MoFEM::BaseFunction
Base class if inherited used to calculate base functions.
Definition: BaseFunction.hpp:40
MoFEM::FlatPrismPolynomialBase::FlatPrismPolynomialBase
FlatPrismPolynomialBase()
Definition: FlatPrismPolynomialBase.cpp:34
MoFEM::Interface
DeprecatedCoreInterface Interface
Definition: Interface.hpp:2010
FieldSpace
FieldSpace
approximation spaces
Definition: definitions.h:82
MoFEM::FlatPrismPolynomialBaseCtx::FlatPrismPolynomialBaseCtx
FlatPrismPolynomialBaseCtx(EntitiesFieldData &data, moab::Interface &moab, const NumeredEntFiniteElement *fe_ptr, const FieldSpace space, const FieldApproximationBase base, const FieldApproximationBase copy_node_base=LASTBASE)
Definition: FlatPrismPolynomialBase.cpp:15
MoFEM::FlatPrismPolynomialBaseCtx::fePtr
const NumeredEntFiniteElement * fePtr
Definition: FlatPrismPolynomialBase.hpp:27
MoFEM::FlatPrismPolynomialBase::diffN
MatrixDouble diffN
Definition: FlatPrismPolynomialBase.hpp:72
MoFEM
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:10
MoFEM::FlatPrismPolynomialBase
Calculate base functions on tetrahedral.
Definition: FlatPrismPolynomialBase.hpp:44
MoFEM::FlatPrismPolynomialBase::connFace4
const EntityHandle * connFace4
Definition: FlatPrismPolynomialBase.hpp:69
MoFEM::UnknownInterface
base class for all interface classes
Definition: UnknownInterface.hpp:34
MoFEM::FlatPrismPolynomialBaseCtx::mOab
moab::Interface & mOab
Definition: FlatPrismPolynomialBase.hpp:26
MoFEM::FlatPrismPolynomialBaseCtx::query_interface
MoFEMErrorCode query_interface(boost::typeindex::type_index type_index, UnknownInterface **iface) const
Definition: FlatPrismPolynomialBase.cpp:9
MoFEM::FlatPrismPolynomialBase::connPrism
const EntityHandle * connPrism
Definition: FlatPrismPolynomialBase.hpp:67
MoFEM::FlatPrismPolynomialBaseCtx
Class used to pass element data to calculate base functions on flat prism.
Definition: FlatPrismPolynomialBase.hpp:21
MoFEM::FlatPrismPolynomialBase::N
MatrixDouble N
Definition: FlatPrismPolynomialBase.hpp:71
FieldApproximationBase
FieldApproximationBase
approximation base
Definition: definitions.h:58
MoFEM::NumeredEntFiniteElement
Partitioned (Indexed) Finite Element in Problem.
Definition: FEMultiIndices.hpp:728
MoFEM::FlatPrismPolynomialBaseCtx::~FlatPrismPolynomialBaseCtx
~FlatPrismPolynomialBaseCtx()
Definition: FlatPrismPolynomialBase.cpp:25
MoFEM::EntitiesFieldData
data structure for finite element entity
Definition: EntitiesFieldData.hpp:40
MoFEM::FlatPrismPolynomialBase::getValueHcurl
MoFEMErrorCode getValueHcurl(MatrixDouble &pts)
Definition: FlatPrismPolynomialBase.cpp:228
MoFEM::FlatPrismPolynomialBase::numNodes
int numNodes
Definition: FlatPrismPolynomialBase.hpp:66
MoFEM::FlatPrismPolynomialBase::getValueH1
MoFEMErrorCode getValueH1(MatrixDouble &pts)
Definition: FlatPrismPolynomialBase.cpp:145