v0.9.0
TriPolynomialBase.hpp
Go to the documentation of this file.
1 /** \file TriPolynomialBase.hpp
2 \brief Implementation of H1, Hcurl base on triangle
3 
4 */
5 
6 /* This file is part of MoFEM.
7  * MoFEM is free software: you can redistribute it and/or modify it under
8  * the terms of the GNU Lesser General Public License as published by the
9  * Free Software Foundation, either version 3 of the License, or (at your
10  * option) any later version.
11  *
12  * MoFEM is distributed in the hope that it will be useful, but WITHOUT
13  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15  * License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with MoFEM. If not, see <http://www.gnu.org/licenses/>. */
19 
20 #ifndef __H1TRIPOLYNOMIAL_HPP__
21 #define __H1TRIPOLYNOMIAL_HPP__
22 
23 namespace MoFEM {
24 
25 /**
26  * \brief Calculate base functions on triangle
27  *
28  * \ingroup mofem_base_functions
29  */
31 
33  BaseFunctionUnknownInterface **iface) const;
34 
37 
39  boost::shared_ptr<BaseFunctionCtx> ctx_ptr);
40 
41 private:
43 
47 
49 
50  ublas::matrix<MatrixDouble> N_face_edge;
51  ublas::vector<MatrixDouble> N_face_bubble;
52  ublas::matrix<MatrixDouble> diffN_face_edge;
53  ublas::vector<MatrixDouble> diffN_face_bubble;
54 
56 
58 
61 
64 
65 };
66 
67 } // namespace MoFEM
68 
69 #endif //__H1TRIPOLYNOMIAL_HPP__
MoFEM interface unique ID.
MoFEMErrorCode getValueHcurlAinsworthBase(MatrixDouble &pts)
MoFEMErrorCode getValueHcurl(MatrixDouble &pts)
MoFEMErrorCode getValueHdiv(MatrixDouble &pts)
ublas::vector< MatrixDouble > N_face_bubble
ublas::matrix< double, ublas::row_major, DoubleAllocator > MatrixDouble
Definition: Types.hpp:74
Class used to pass element data to calculate base functions on tet,triangle,edge.
MoFEMErrorCode query_interface(const MOFEMuuid &uuid, BaseFunctionUnknownInterface **iface) const
MoFEMErrorCode getValue(MatrixDouble &pts, boost::shared_ptr< BaseFunctionCtx > ctx_ptr)
ublas::matrix< MatrixDouble > diffN_face_edge
ublas::vector< MatrixDouble > diffN_face_bubble
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:21
MoFEMErrorCode getValueH1(MatrixDouble &pts)
EntPolynomialBaseCtx * cTx
MoFEMErrorCode getValueL2(MatrixDouble &pts)
Base class if inherited used to calculate base functions.
MoFEMErrorCode getValueHcurlDemkowiczBase(MatrixDouble &pts)
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:66
ublas::matrix< MatrixDouble > N_face_edge
Calculate base functions on triangle.
MoFEMErrorCode getValueHdivDemkowiczBase(MatrixDouble &pts)
MoFEMErrorCode getValueHdivAinsworthBase(MatrixDouble &pts)
MoFEMErrorCode getValueH1BernsteinBezierBase(MatrixDouble &pts)
MoFEMErrorCode getValueH1AinsworthBase(MatrixDouble &pts)