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.
mesher_process.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosDelaunayMeshingApplication $
3 // Created by: $Author: JMCarbonell $
4 // Last modified by: $Co-Author: $
5 // Date: $Date: August 2016 $
6 // Revision: $Revision: 0.0 $
7 //
8 //
9 
10 #if !defined(KRATOS_MESHER_PROCESS_H_INCLUDED)
11 #define KRATOS_MESHER_PROCESS_H_INCLUDED
12 
13 
14 
15 // System includes
16 
17 // External includes
18 
19 // Project includes
20 #include "includes/model_part.h"
22 #include "processes/process.h"
23 
24 namespace Kratos
25 {
26 
29 
31 
36 class MesherProcess : public Process
37 {
38 public:
41 
44 
48 
51 
53  MesherProcess(Flags options) : Process( options ) {}
54 
56  virtual ~MesherProcess() {}
57 
58 
62 
64  void operator()()
65  {
66  Execute();
67  }
68 
72 
73 
75  void Execute() override
76  {
77  KRATOS_WARNING(" MesherProcess ") << " this method must be implemented and override " << std::endl;
78  }
79 
82  void ExecuteInitialize() final override
83  {
84  KRATOS_WARNING(" MesherProcess ") << " method not available " << std::endl;
85  }
86 
89  void ExecuteBeforeSolutionLoop() final override
90  {
91  KRATOS_WARNING(" MesherProcess ") << " method not available " << std::endl;
92  }
93 
95  void ExecuteInitializeSolutionStep() final override
96  {
97  KRATOS_WARNING(" MesherProcess ") << " method not available " << std::endl;
98  }
99 
100 
102  void ExecuteFinalizeSolutionStep() final override
103  {
104  KRATOS_WARNING(" MesherProcess ") << " method not available " << std::endl;
105  }
106 
107 
109  void ExecuteBeforeOutputStep() final override
110  {
111  KRATOS_WARNING(" MesherProcess ") << " method not available " << std::endl;
112  }
113 
114 
116  void ExecuteAfterOutputStep() final override
117  {
118  KRATOS_WARNING(" MesherProcess ") << " method not available " << std::endl;
119  }
120 
121 
124  void ExecuteFinalize() final override
125  {
126  KRATOS_WARNING(" MesherProcess ") << " method not available " << std::endl;
127  }
128 
129 
133 
134 
138 
139 
143 
145  std::string Info() const override
146  {
147  return "MesherProcess";
148  }
149 
151  void PrintInfo(std::ostream& rOStream) const override
152  {
153  rOStream << "MesherProcess";
154  }
155 
157  void PrintData(std::ostream& rOStream) const override
158  {
159  }
160 
161 
166 
167 protected:
168 
177 
179  MesherProcess(MesherProcess const& rOther);
180 
194 
195 private:
196 
211 
213  MesherProcess& operator=(MesherProcess const& rOther);
214 
215 
225 
226 }; // Class MesherProcess
227 
229 
232 
233 
237 
238 
240 inline std::istream& operator >> (std::istream& rIStream,
241  MesherProcess& rThis);
242 
244 inline std::ostream& operator << (std::ostream& rOStream,
245  const MesherProcess& rThis)
246 {
247  rThis.PrintInfo(rOStream);
248  rOStream << std::endl;
249  rThis.PrintData(rOStream);
250 
251  return rOStream;
252 }
254 
255 
256 } // namespace Kratos.
257 
258 #endif // KRATOS_MESHER_PROCESS_H_INCLUDED defined
Definition: flags.h:58
The base class for processes passed to the solution scheme.
Definition: mesher_process.hpp:37
void ExecuteBeforeSolutionLoop() final override
Definition: mesher_process.hpp:89
MesherProcess(Flags options)
Constructor.
Definition: mesher_process.hpp:53
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: mesher_process.hpp:151
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: mesher_process.hpp:157
void ExecuteBeforeOutputStep() final override
this function will be executed at every time step BEFORE writing the output
Definition: mesher_process.hpp:109
virtual ~MesherProcess()
Destructor.
Definition: mesher_process.hpp:56
void ExecuteAfterOutputStep() final override
this function will be executed at every time step AFTER writing the output
Definition: mesher_process.hpp:116
KRATOS_CLASS_POINTER_DEFINITION(MesherProcess)
Pointer definition of MesherProcess.
void ExecuteFinalize() final override
Definition: mesher_process.hpp:124
MesherProcess()
Default constructor.
Definition: mesher_process.hpp:50
void ExecuteInitializeSolutionStep() final override
this function will be executed at every time step BEFORE performing the solve phase
Definition: mesher_process.hpp:95
void ExecuteFinalizeSolutionStep() final override
this function will be executed at every time step AFTER performing the solve phase
Definition: mesher_process.hpp:102
void Execute() override
Execute method is used to execute the MesherProcess algorithms.
Definition: mesher_process.hpp:75
void operator()()
This operator is provided to call the process as a function and simply calls the Execute method.
Definition: mesher_process.hpp:64
MesherProcess(MesherProcess const &rOther)
Copy constructor.
std::string Info() const override
Turn back information as a string.
Definition: mesher_process.hpp:145
void ExecuteInitialize() final override
Definition: mesher_process.hpp:82
The base class for all processes in Kratos.
Definition: process.h:49
#define KRATOS_WARNING(label)
Definition: logger.h:265
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432