KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
mapping_application.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Philipp Bucher, Jordi Cotela
11 //
12 // See Master-Thesis P.Bucher
13 // "Development and Implementation of a Parallel
14 // Framework for Non-Matching Grid Mapping"
15 
16 #pragma once
17 
18 // System includes
19 
20 // External includes
21 
22 // Project includes
23 #include "includes/define.h"
27 
28 namespace Kratos
29 {
30 
33 
37 
41 
45 
49 
51 
53 class KRATOS_API(MAPPING_APPLICATION) KratosMappingApplication : public KratosApplication
54 {
55 public:
58 
59 
62 
66 
69 
72 
73 
77 
78 
82 
83  void Register() override;
84 
85 
86 
90 
91 
95 
96 
100 
102  std::string Info() const override
103  {
104  return "KratosMappingApplication";
105  }
106 
108  void PrintInfo(std::ostream& rOStream) const override
109  {
110  rOStream << Info();
111  PrintData(rOStream);
112  }
113 
115  void PrintData(std::ostream& rOStream) const override
116  {
117  KRATOS_WATCH("in my application");
119 
120  rOStream << "Variables:" << std::endl;
122  rOStream << std::endl;
123  rOStream << "Elements:" << std::endl;
124  KratosComponents<Element>().PrintData(rOStream);
125  rOStream << std::endl;
126  rOStream << "Conditions:" << std::endl;
127  KratosComponents<Condition>().PrintData(rOStream);
128  }
129 
133 
134 
136 
137 protected:
140 
141 
145 
146 
150 
151 
155 
156 
160 
161 
165 
166 
170 
171 
173 
174 private:
177 
178  // static const ApplicationCondition msApplicationCondition;
179 
183 
184  const InterfaceObject mInterfaceObject;
185  const InterfaceNode mInterfaceNode;
186  const InterfaceGeometryObject mInterfaceGeometryObject;
187 
188  const MappingGeometriesModeler mMappingGeometriesModeler;
189 
193 
194 
198 
199 
203 
204 
208 
209 
213 
216 
219 
220 
222 
223 }; // Class KratosMappingApplication
224 
228 
232 
234 
235 } // namespace Kratos.
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Definition: interface_object.h:190
Definition: interface_object.h:157
Object used by the bin-search.
Definition: interface_object.h:40
This class defines the interface with kernel for all applications in Kratos.
Definition: kratos_application.h:91
Definition: kratos_components.h:253
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: kratos_components.h:403
KratosComponents class encapsulates a lookup table for a family of classes in a generic way.
Definition: kratos_components.h:49
Short class definition.
Definition: mapping_application.h:54
~KratosMappingApplication() override
Destructor.
Definition: mapping_application.h:71
std::string Info() const override
Turn back information as a string.
Definition: mapping_application.h:102
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: mapping_application.h:115
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: mapping_application.h:108
KRATOS_CLASS_POINTER_DEFINITION(KratosMappingApplication)
Pointer definition of KratosMappingApplication.
Short class definition.
Definition: mapping_geometries_modeler.h:36
#define KRATOS_WATCH(variable)
Definition: define.h:806
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KRATOS_API_EXTERN template class KratosComponents< Condition >
Definition: condition.h:1191
KRATOS_API_EXTERN template class KratosComponents< Element >
Definition: element.h:1240