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.
rans_compute_reactions_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: Dharmin Shah
11 //
12 
13 #if !defined(KRATOS_RANS_COMPUTE_REACTIONS_PROCESS_H_INCLUDED)
14 #define KRATOS_RANS_COMPUTE_REACTIONS_PROCESS_H_INCLUDED
15 
16 // System includes
17 #include <string>
18 
19 // External includes
20 
21 // Project includes
22 #include "containers/model.h"
23 #include "processes/process.h"
24 
25 namespace Kratos
26 {
29 
32 
48 class KRATOS_API(RANS_APPLICATION) RansComputeReactionsProcess : public Process
49 {
50 public:
53 
56 
60 
62  RansComputeReactionsProcess(Model& rModel, Parameters rParameters);
63 
65  ~RansComputeReactionsProcess() override = default;
66 
69  RansComputeReactionsProcess const& rOther) = delete;
70 
73 
77 
78  void ExecuteInitialize() override;
79 
80  void ExecuteFinalizeSolutionStep() override;
81 
82  int Check() override;
83 
84  const Parameters GetDefaultParameters() const override;
85 
89 
91  std::string Info() const override;
92 
94  void PrintInfo(std::ostream& rOStream) const override;
95 
97  void PrintData(std::ostream& rOStream) const override;
98 
100 
101 private:
104 
105  Model& mrModel;
106 
107  std::string mModelPartName;
108 
109  int mEchoLevel;
110  bool mPeriodic;
111 
115 
124  void CalculateReactionValues(
125  ModelPart::ConditionType& rCondition);
126 
136  void CorrectPeriodicNodes(
137  ModelPart& rModelPart,
138  const Variable<array_1d<double, 3>>& rVariable);
139 
141 
142 }; // Class RansComputeReactionsProcess
143 
147 
149 inline std::ostream& operator<<(
150  std::ostream& rOStream,
151  const RansComputeReactionsProcess& rThis);
152 
155 
156 } // namespace Kratos.
157 
158 #endif // KRATOS_RANS_COMPUTE_REACTIONS_PROCESS_H_INCLUDED defined
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
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Base class for all Conditions.
Definition: condition.h:59
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
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
Computes the reaction forces for slip modelpart, can be further used for drag calculation.
Definition: rans_compute_reactions_process.h:49
KRATOS_CLASS_POINTER_DEFINITION(RansComputeReactionsProcess)
Pointer definition of RansComputeReactionsProcess.
RansComputeReactionsProcess(RansComputeReactionsProcess const &rOther)=delete
Copy constructor.
RansComputeReactionsProcess & operator=(RansComputeReactionsProcess const &rOther)=delete
Assignment operator.
~RansComputeReactionsProcess() override=default
Destructor.
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432