v0.9.0
VertexElementForcesAndSourcesCore.hpp
Go to the documentation of this file.
1 /** \file ForcesAndSourcesCore.hpp
2 
3  \brief Implementation of elements on entities.
4 
5  Those element are inherited by user to implement specific implementation of
6  particular problem.
7 
8 */
9 
10 /* This file is part of MoFEM.
11  * MoFEM is free software: you can redistribute it and/or modify it under
12  * the terms of the GNU Lesser General Public License as published by the
13  * Free Software Foundation, either version 3 of the License, or (at your
14  * option) any later version.
15  *
16  * MoFEM is distributed in the hope that it will be useful, but WITHOUT
17  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
19  * License for more details.
20  *
21  * You should have received a copy of the GNU Lesser General Public
22  * License along with MoFEM. If not, see <http://www.gnu.org/licenses/>. */
23 
24 #ifndef __VERTEXELEMENTFORCESANDSOURCESCORE_HPP__
25 #define __VERTEXELEMENTFORCESANDSOURCESCORE_HPP__
26 
27 using namespace boost::numeric;
28 
29 namespace MoFEM {
30 
31 /** \brief Vertex finite element
32  * \ingroup mofem_forces_and_sources_vertex_element
33 
34  User is implementing own operator at Gauss points level, by own object
35  derived from VertexElementForcesAndSourcesCoreL::UserDataOperator. Arbitrary
36  number of operator added pushing objects to rowOpPtrVector and
37  rowColOpPtrVector.
38 
39  */
41 
43 
45 
46  /** \brief default operator for VERTEX element
47  \ingroup mofem_forces_and_sources_vertex_element
48  */
50 
52 
53  inline VectorDouble3 &getCoords();
54  };
55 
56  MoFEMErrorCode operator()();
57 
58 protected:
60  friend class UserDataOperator;
61 };
62 
64 VertexElementForcesAndSourcesCore::UserDataOperator::getCoords() {
65  return static_cast<VertexElementForcesAndSourcesCore *>(ptrFE)->coords;
66 }
67 
68 } // namespace MoFEM
69 
70 #endif //__VERTEXELEMENTFORCESANDSOURCESCORE_HPP__
71 
72 /**
73  * \defgroup mofem_forces_and_sources_vertex_element Vertex Element
74  * \brief Finite element and operators for vertex entity
75  *
76  * \ingroup mofem_forces_and_sources
77  **/
Vertex finite elementUser is implementing own operator at Gauss points level, by own object derived f...
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:21
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:66
ForcesAndSourcesCore::UserDataOperator UserDataOperator
VectorBoundedArray< double, 3 > VectorDouble3
Definition: Types.hpp:85
structure to get information form mofem into DataForcesAndSourcesCore
Data operator to do calculations at integration points.Is inherited and implemented by user to do cal...