v0.14.0
EdgePolynomialBase.hpp
Go to the documentation of this file.
1 /** \file EdgePolynomialBase.hpp
2 \brief Implementation of base on tetrahedral for H1 bases.
3 
4 TODO:
5 \todo L2 base on edge
6 
7 */
8 
9 #ifndef __EDGEPOLYNOMIALBASE_HPP__
10 #define __EDGEPOLYNOMIALBASE_HPP__
11 
12 namespace MoFEM {
13 
14 /**
15  * \brief Calculate base functions on tetrahedral
16  *
17  * \ingroup mofem_base_functions
18  */
20 
21  MoFEMErrorCode query_interface(boost::typeindex::type_index type_index,
22  UnknownInterface **iface) const;
23 
24  EdgePolynomialBase() = default;
25  virtual ~EdgePolynomialBase() = default;
26 
28  boost::shared_ptr<BaseFunctionCtx> ctx_ptr);
29 
30 private:
32 
34 
36 
38 
40 
42 
44 
46 
48 
50 
52 
54 };
55 
56 } // namespace MoFEM
57 
58 #endif //__EDGEPOLYNOMIALBASE_HPP__
MoFEM::EntPolynomialBaseCtx
Class used to pass element data to calculate base functions on tet,triangle,edge.
Definition: EntPolynomialBaseCtx.hpp:22
MoFEM::EdgePolynomialBase::getValueL2
MoFEMErrorCode getValueL2(MatrixDouble &pts)
Definition: EdgePolynomialBase.cpp:305
MoFEM::EdgePolynomialBase::getValueH1AinsworthBase
MoFEMErrorCode getValueH1AinsworthBase(MatrixDouble &pts)
Definition: EdgePolynomialBase.cpp:198
MoFEM::Exceptions::MoFEMErrorCode
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:56
MoFEM::Types::MatrixDouble
UBlasMatrix< double > MatrixDouble
Definition: Types.hpp:77
MoFEM::BaseFunction
Base class if inherited used to calculate base functions.
Definition: BaseFunction.hpp:40
MoFEM::EdgePolynomialBase::getValueH1
MoFEMErrorCode getValueH1(MatrixDouble &pts)
Definition: EdgePolynomialBase.cpp:81
MoFEM::EdgePolynomialBase::~EdgePolynomialBase
virtual ~EdgePolynomialBase()=default
MoFEM::EdgePolynomialBase::query_interface
MoFEMErrorCode query_interface(boost::typeindex::type_index type_index, UnknownInterface **iface) const
Definition: EdgePolynomialBase.cpp:10
MoFEM::EdgePolynomialBase::L
VectorDouble L
Definition: EdgePolynomialBase.hpp:33
MoFEM::EdgePolynomialBase::getValueH1DemkowiczBase
MoFEMErrorCode getValueH1DemkowiczBase(MatrixDouble &pts)
Definition: EdgePolynomialBase.cpp:262
MoFEM
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:10
MoFEM::EdgePolynomialBase::getValueH1BernsteinBezierBase
MoFEMErrorCode getValueH1BernsteinBezierBase(MatrixDouble &pts)
Definition: EdgePolynomialBase.cpp:103
MoFEM::EdgePolynomialBase::getValueL2DemkowiczBase
MoFEMErrorCode getValueL2DemkowiczBase(MatrixDouble &pts)
Definition: EdgePolynomialBase.cpp:319
MoFEM::EdgePolynomialBase::diffL
VectorDouble diffL
Definition: EdgePolynomialBase.hpp:33
MoFEM::EdgePolynomialBase::EdgePolynomialBase
EdgePolynomialBase()=default
MoFEM::EdgePolynomialBase::getValue
MoFEMErrorCode getValue(MatrixDouble &pts, boost::shared_ptr< BaseFunctionCtx > ctx_ptr)
Definition: EdgePolynomialBase.cpp:17
MoFEM::UnknownInterface
base class for all interface classes
Definition: UnknownInterface.hpp:34
MoFEM::EdgePolynomialBase::cTx
EntPolynomialBaseCtx * cTx
Definition: EdgePolynomialBase.hpp:31
MoFEM::EdgePolynomialBase
Calculate base functions on tetrahedral.
Definition: EdgePolynomialBase.hpp:19
MoFEM::EdgePolynomialBase::getValueHcurl
MoFEMErrorCode getValueHcurl(MatrixDouble &pts)
Definition: EdgePolynomialBase.cpp:445
MoFEM::EdgePolynomialBase::getValueHdiv
MoFEMErrorCode getValueHdiv(MatrixDouble &pts)
Definition: EdgePolynomialBase.cpp:360
UBlasVector< double >
MoFEM::EdgePolynomialBase::getValueHcurlAinsworthBase
MoFEMErrorCode getValueHcurlAinsworthBase(MatrixDouble &pts)
Definition: EdgePolynomialBase.cpp:366
MoFEM::EdgePolynomialBase::getValueHcurlDemkowiczBase
MoFEMErrorCode getValueHcurlDemkowiczBase(MatrixDouble &pts)
Definition: EdgePolynomialBase.cpp:407