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_apply_flag_to_skin_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: Suneth Warnakulasuriya
11 //
12 
13 #if !defined(KRATOS_RANS_APPLY_FLAG_PROCESS_H_INCLUDED)
14 #define KRATOS_RANS_APPLY_FLAG_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 
42 class KRATOS_API(RANS_APPLICATION) RansApplyFlagToSkinProcess : public Process
43 {
44 public:
47 
50 
54 
57  Model& rModel,
58  Parameters rParameters);
59 
61  ~RansApplyFlagToSkinProcess() override = default;
62 
65 
68 
72 
73  void ExecuteInitialize() override;
74 
75  const Parameters GetDefaultParameters() const override;
76 
80 
82  std::string Info() const override;
83 
85  void PrintInfo(std::ostream& rOStream) const override;
86 
88  void PrintData(std::ostream& rOStream) const override;
89 
91 
92 private:
95 
96  Model& mrModel;
97  int mEchoLevel;
98 
99  std::string mModelPartName;
100  std::string mFlagVariableName;
101 
102  bool mFlagVariableValue;
103 
104  std::vector<std::string> mModelPartsForConditionFlags;
105 
109 
117  void ApplyNodeFlags();
118 
128  void ApplyConditionFlags(
129  ModelPart& rModelPart);
130 
132 
133 }; // Class RansApplyFlagToSkinProcess
134 
138 
140 inline std::ostream& operator<<(
141  std::ostream& rOStream,
142  const RansApplyFlagToSkinProcess& rThis);
143 
145 
147 
148 } // namespace Kratos.
149 
150 #endif // KRATOS_RANS_APPLY_FLAG_PROCESS_H_INCLUDED defined
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
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
Apply a specific flag for nodes and conditions.
Definition: rans_apply_flag_to_skin_process.h:43
RansApplyFlagToSkinProcess(RansApplyFlagToSkinProcess const &rOther)=delete
Copy constructor.
~RansApplyFlagToSkinProcess() override=default
Destructor.
KRATOS_CLASS_POINTER_DEFINITION(RansApplyFlagToSkinProcess)
Pointer definition of RansApplyFlagToSkinProcess.
RansApplyFlagToSkinProcess & operator=(RansApplyFlagToSkinProcess const &rOther)=delete
Assignment operator.
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