v0.13.0
Projection10NodeCoordsOnField.hpp
Go to the documentation of this file.
1 /** \file Projection10NodeCoordsOnField.hpp
2 
3 FIXME: Move code to cpp file.
4 
5 Project displacements/coordinates from 10 node tetrahedra on hierarchical
6 approximation base.
7 
8 This is example how to use MoFEM::DofMethod when some operator for each node
9 need to be applied.
10 
11 */
12 
13 /* This file is part of MoFEM.
14  * MoFEM is free software: you can redistribute it and/or modify it under
15  * the terms of the GNU Lesser General Public License as published by the
16  * Free Software Foundation, either version 3 of the License, or (at your
17  * option) any later version.
18  *
19  * MoFEM is distributed in the hope that it will be useful, but WITHOUT
20  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
22  * License for more details.
23  *
24  * You should have received a copy of the GNU Lesser General Public
25  * License along with MoFEM. If not, see <http://www.gnu.org/licenses/>. */
26 
27 #ifndef __PROJECTION10NODECOORDSONFIELD_HPP__
28 #define __PROJECTION10NODECOORDSONFIELD_HPP__
29 
30 using namespace boost::numeric;
31 
32 namespace MoFEM {
33 
34 /** \brief Projection of edge entities with one mid-node on hierarchical basis
35  */
37 
38  Projection10NodeCoordsOnField(Interface &m_field, std::string field_name,
39  int verb = 0);
40 
41  MoFEMErrorCode preProcess();
42 
43  MoFEMErrorCode operator()();
44 
45  MoFEMErrorCode postProcess();
46 
47 protected:
48 
50  std::string fieldName;
51  int vErbose;
52 
58 
59 };
60 
62 
63 
64  ProjectionFieldOn10NodeTet(Interface &m_field, std::string _fieldName,
65  bool set_nodes, bool on_coords,
66  std::string on_tag = "NoNE");
67 
68  MoFEMErrorCode preProcess();
69 
70  MoFEMErrorCode operator()();
71 
72 
73  bool setNodes;
74  bool onCoords;
75  std::string onTag;
76 
78 
79  Tag th;
80 
81 protected:
82 
83  Field_multiIndex::index<FieldName_mi_tag>::type::iterator field_it;
86 
87 };
88 
89 } // namespace MoFEM
90 
91 #endif // __PROJECTION10NODECOORDSONFIELD_HPP__
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:67
VectorBoundedArray< double, 3 > VectorDouble3
Definition: Types.hpp:103
UBlasVector< double > VectorDouble
Definition: Types.hpp:79
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:21
Deprecated interface functions.
Data structure to exchange data between mofem and User Loop Methods on entities.
Projection of edge entities with one mid-node on hierarchical basis.
Field_multiIndex::index< FieldName_mi_tag >::type::iterator field_it