v0.13.0
QuadPolynomialBase.hpp
Go to the documentation of this file.
1 /** \file QuadPolynomialBase.hpp
2 \brief Implementation of H1 base on a quad face
3 
4 \todo Quad element can be integrated exploiting tonsorial product. Current
5 implementation do not take that opportunity. That can be viewed as a bug.
6 
7 */
8 
9 /* This file is part of MoFEM.
10  * MoFEM is free software: you can redistribute it and/or modify it under
11  * the terms of the GNU Lesser General Public License as published by the
12  * Free Software Foundation, either version 3 of the License, or (at your
13  * option) any later version.
14  *
15  * MoFEM is distributed in the hope that it will be useful, but WITHOUT
16  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
17  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
18  * License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with MoFEM. If not, see <http://www.gnu.org/licenses/>. */
22 
23 #ifndef __H1QUADPOLYNOMIAL_HPP__
24 #define __H1QUADPOLYNOMIAL_HPP__
25 
26 namespace MoFEM {
27 
28 /**
29  * \brief Calculate base functions on triangle
30  *
31  * \ingroup mofem_base_functions
32  */
34 
35  MoFEMErrorCode query_interface(boost::typeindex::type_index type_index, UnknownInterface **iface) const;
36 
37  QuadPolynomialBase() = default;
38  ~QuadPolynomialBase() = default;
39 
41  boost::shared_ptr<BaseFunctionCtx> ctx_ptr);
42 
43 private:
45 
50 
56 
59 
60 };
61 
62 } // namespace MoFEM
63 
64 #endif //__H1QUADPOLYNOMIAL_HPP__
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:67
UBlasMatrix< double > MatrixDouble
Definition: Types.hpp:88
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:21
Base class if inherited used to calculate base functions.
Class used to pass element data to calculate base functions on tet,triangle,edge.
Calculate base functions on triangle.
MoFEMErrorCode getValueHdiv(MatrixDouble &pts)
MoFEMErrorCode getValueL2DemkowiczBase(MatrixDouble &pts)
MoFEMErrorCode getValueH1AinsworthBase(MatrixDouble &pts)
MoFEMErrorCode getValueH1(MatrixDouble &pts)
MoFEMErrorCode getValueHcurlDemkowiczBase(MatrixDouble &pts)
MoFEMErrorCode getValueHcurl(MatrixDouble &pts)
MoFEMErrorCode query_interface(boost::typeindex::type_index type_index, UnknownInterface **iface) const
MoFEMErrorCode getValueL2(MatrixDouble &pts)
EntPolynomialBaseCtx * cTx
MoFEMErrorCode getValueH1DemkowiczBase(MatrixDouble &pts)
MoFEMErrorCode getValue(MatrixDouble &pts, boost::shared_ptr< BaseFunctionCtx > ctx_ptr)
MoFEMErrorCode getValueHdivDemkowiczBase(MatrixDouble &pts)
base class for all interface classes