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.
hrom_visualization_mesh_modeler.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: Ruben Zorrilla
11 //
12 //
13 
14 #ifndef KRATOS_HROM_VISUALIZATION_MESH_MODELER_H
15 #define KRATOS_HROM_VISUALIZATION_MESH_MODELER_H
16 
17 // System includes
18 
19 // External includes
20 
21 // Project includes
22 #include "containers/model.h"
23 #include "includes/define.h"
25 #include "modeler/modeler.h"
26 
27 // Application includes
28 
29 
30 namespace Kratos
31 {
34 
37 
41 
45 
49 
53 
62 class KRATOS_API(ROM_APPLICATION) HRomVisualizationMeshModeler : public Modeler
63 {
64 public:
67 
68  using NodeType = Node;
69 
70  using SizeType = std::size_t;
71 
72  using IndexType = std::size_t;
73 
76 
80 
83  : Modeler()
84  , mpHRomModelPart(nullptr)
85  , mpVisualizationModelPart(nullptr)
86  {
87  }
88 
91  Model& rModel,
92  Parameters rParameters);
93 
96  {
97  }
98 
100  Modeler::Pointer Create(
101  Model &rModel,
102  const Parameters ModelParameters) const override
103  {
104  return Kratos::make_shared<HRomVisualizationMeshModeler>(rModel, ModelParameters);
105  }
106 
110 
113 
116 
120 
121  void SetupModelPart() override;
122 
123  const Parameters GetDefaultParameters() const override;
124 
128 
132 
136 
138  std::string Info() const override
139  {
140  std::stringstream buffer;
141  buffer << "HRomVisualizationMeshModeler" ;
142  return buffer.str();
143  }
144 
146  void PrintInfo(std::ostream& rOStream) const override
147  {
148  rOStream << "HRomVisualizationMeshModeler";
149  }
150 
152  void PrintData(std::ostream& rOStream) const override
153  {
154  }
155 
159 
161 private:
164 
168 
169  std::string mRomSettingsFilename;
170 
171  const ModelPart* mpHRomModelPart;
172  ModelPart* mpVisualizationModelPart;
173 
174  std::vector<const Variable<double>*> mRomVariablesList;
175 
179 
183 
184 
188 
189 
193 
194 
198 
199 
201 }; // Class HRomVisualizationMeshModeler
202 
206 
210 
212 
214 
215 }; // namespace Kratos.
216 
217 #endif // KRATOS_HROM_VISUALIZATION_MESH_MODELER_H
Modeler for setting up HROM visualization meshes This modeler is intended to be used for setting up H...
Definition: hrom_visualization_mesh_modeler.h:63
std::string Info() const override
Turn back information as a string.
Definition: hrom_visualization_mesh_modeler.h:138
HRomVisualizationMeshModeler()
Default constructor.
Definition: hrom_visualization_mesh_modeler.h:82
KRATOS_CLASS_POINTER_DEFINITION(HRomVisualizationMeshModeler)
Pointer definition of HRomVisualizationMeshModeler.
HRomVisualizationMeshModeler & operator=(HRomVisualizationMeshModeler const &rOther)=delete
Assignment operator.
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: hrom_visualization_mesh_modeler.h:152
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: hrom_visualization_mesh_modeler.h:146
HRomVisualizationMeshModeler(HRomVisualizationMeshModeler const &rOther)=delete
Copy constructor.
~HRomVisualizationMeshModeler() override
Destructor.
Definition: hrom_visualization_mesh_modeler.h:95
Modeler::Pointer Create(Model &rModel, const Parameters ModelParameters) const override
Creates the Modeler Pointer.
Definition: hrom_visualization_mesh_modeler.h:100
This class aims to manage different model parts across multi-physics simulations.
Definition: model.h:60
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
Modeler to interact with ModelParts.
Definition: modeler.h:39
std::size_t IndexType
Definition: modeler.h:48
std::size_t SizeType
Definition: modeler.h:47
This class defines the node.
Definition: node.h:65
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21