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.
two_fluids_inlet_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: Simon Wenczowski
11 //
12 //
13 
14 #ifndef KRATOS_TWO_FLUIDS_INLET_PROCESS_H
15 #define KRATOS_TWO_FLUIDS_INLET_PROCESS_H
16 
17 // System includes
18 
19 // External includes
20 
21 // Project includes
22 #include "processes/process.h"
23 
24 // Application includes
25 
26 
27 namespace Kratos
28 {
31 
34 
38 
42 
46 
50 
51 class KRATOS_API(FLUID_DYNAMICS_APPLICATION) TwoFluidsInletProcess : public Process
52 {
53 public:
56 
59 
60  typedef Node NodeType;
62 
66 
68 
78  ModelPart& rModelPart,
79  Parameters& rParameters,
80  Process::Pointer pDistanceProcess );
81 
83  ~TwoFluidsInletProcess() override {}
84 
88 
92 
97  void SmoothDistanceField();
98 
102 
106 
110 
112  std::string Info() const override
113  {
114  std::stringstream buffer;
115  buffer << "TwoFluidsInletProcess";
116  return buffer.str();
117  }
118 
120  void PrintInfo(std::ostream& rOStream) const override {rOStream << "TwoFluidsInletProcess";}
121 
123  void PrintData(std::ostream& rOStream) const override {}
124 
125 
129 
131 
132 private:
135 
139 
140  ModelPart& mrInletModelPart;
141 
142  array_1d<double,3> mInterfaceNormal;
143 
144  array_1d<double,3> mInterfacePoint;
145 
146  double mInletRadius;
147 
151 
155 
159 
163 
167 
169 
170 }; // Class DistanceModificationProcess
171 
175 
179 
181 
183 
184 }; // namespace Kratos.
185 
186 #endif // KRATOS_TWO_FLUIDS_INLET_PROCESS_H
Geometry base class.
Definition: geometry.h:71
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
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
Definition: two_fluids_inlet_process.h:52
Node NodeType
Definition: two_fluids_inlet_process.h:60
Geometry< NodeType > GeometryType
Definition: two_fluids_inlet_process.h:61
~TwoFluidsInletProcess() override
Destructor.
Definition: two_fluids_inlet_process.h:83
KRATOS_CLASS_POINTER_DEFINITION(TwoFluidsInletProcess)
Pointer definition of DistanceModificationProcess.
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: two_fluids_inlet_process.h:123
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: two_fluids_inlet_process.h:120
std::string Info() const override
Turn back information as a string.
Definition: two_fluids_inlet_process.h:112
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21