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.
compute_pressure_coefficient_process.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: Eduard Gómez
11 //
12 //
13 
14 #ifndef KRATOS_COMUTE_PRESSURE_COEFFICIENT_PROCESS_H
15 #define KRATOS_COMUTE_PRESSURE_COEFFICIENT_PROCESS_H
16 
17 // System includes
18 #include <string>
19 #include <iostream>
20 
21 // External includes
22 
23 // Project includes
24 #include "includes/model_part.h"
25 #include "includes/define.h"
26 #include "processes/process.h"
28 
29 // Application includes
30 
31 
32 namespace Kratos
33 {
36 
39 
43 
44 
48 
52 
56 
58 class KRATOS_API(FLUID_DYNAMICS_APPLICATION) ComputePressureCoefficientProcess : public Process
59 {
60 public:
64 
67 
71 
74  Model& rModel,
75  Parameters Params);
76 
79 
83 
87 
88  const Parameters GetDefaultParameters() const override;
89 
90  void Execute() override;
91 
92  void ExecuteInitialize() override;
93 
94  void ExecuteFinalizeSolutionStep() override;
95 
96  void ExecuteBeforeOutputStep() override;
97 
101 
105 
109 
111  std::string Info() const override
112  {
113  std::stringstream buffer;
114  buffer << "ComputePressureCoefficientProcess" ;
115  return buffer.str();
116  }
117 
119  void PrintInfo(std::ostream& rOStream) const override {rOStream << "ComputePressureCoefficientProcess";}
120 
122  void PrintData(std::ostream& rOStream) const override {}
123 
124 
128 
130 
131 private:
134 
138 
139  ModelPart& mrModelPart;
140  bool mComputeAsPostProcess;
141  double mFreestreamStaticPressure; // Freestream pressure
142  double mFreestreamDynamicPressure; // Freestream q=rho*V²/2
143  std::function<double(const NodeType&)> mGetPressure;
144 
148 
152 
153 
154  void SelectExecutionTime(Parameters Params);
155 
156  void SelectPressureGetter(Parameters Params);
157 
158  void ReadFreestreamValues(Parameters Params);
159 
163 
164 
168 
169 
173 
176 
179 
182 
184 
185 }; // Class ComputePressureCoefficientProcess
186 
190 
194 
196 
198 
199 }; // namespace Kratos.
200 
201 #endif // KRATOS_COMUTE_PRESSURE_COEFFICIENT_PROCESS_H
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
void ExecuteFinalizeSolutionStep() override
this function will be executed at every time step AFTER performing the solve phase
Definition: periodic_interface_process.hpp:55
void ExecuteInitialize() override
Definition: periodic_interface_process.hpp:37
This process computes the pressure coefficient as a function of reference fluid properties.
Definition: compute_pressure_coefficient_process.h:59
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: compute_pressure_coefficient_process.h:119
KRATOS_CLASS_POINTER_DEFINITION(ComputePressureCoefficientProcess)
Pointer definition of ComputePressureCoefficientProcess.
std::string Info() const override
Turn back information as a string.
Definition: compute_pressure_coefficient_process.h:111
~ComputePressureCoefficientProcess() override
Destructor.
Definition: compute_pressure_coefficient_process.h:78
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: compute_pressure_coefficient_process.h:122
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
Node NodeType
Definition: model_part.h:117
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
The base class for all processes in Kratos.
Definition: process.h:49
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
TABLE_NUMBER_ANGULAR_VELOCITY TABLE_NUMBER_MOMENT I33 BEAM_INERTIA_ROT_UNIT_LENGHT_Y KRATOS_DEFINE_APPLICATION_VARIABLE(DEM_APPLICATION, double, BEAM_INERTIA_ROT_UNIT_LENGHT_Z) typedef std double
Definition: DEM_application_variables.h:182