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.
sinusoidal_porosity_solution_transient_body_force_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: Joaquin Gonzalez-Usua
11 //
12 //
13 
14 #ifndef KRATOS_SINUSOIDAL_POROSITY_SOLUTION_TRANSIENT_BODY_FORCE_PROCESS_H
15 #define KRATOS_SINUSOIDAL_POROSITY_SOLUTION_TRANSIENT_BODY_FORCE_PROCESS_H
16 
17 // System includes
18 #include <string>
19 #include <iostream>
20 
21 // External includes
22 
23 // Project includes
24 #include "includes/define.h"
25 #include "processes/process.h"
27 
28 // Application includes
29 
30 
31 namespace Kratos
32 {
35 
38 
42 
46 
50 
54 
55 class KRATOS_API(SWIMMING_DEM_APPLICATION) SinusoidalPorositySolutionTransientBodyForceProcess : public Process
56 {
57 public:
60 
63 
67 
71  ModelPart& rModelPart);
72 
75  ModelPart& rModelPart,
76  Parameters& rParameters);
77 
80  Model& rModel,
81  Parameters& rParameters);
82 
85 
87 
89  double mDensity;
90  double mViscosity;
91  double mPermeability;
92  double mUchar;
93  double mDeltaAlpha;
94  double mLength;
96  double mOmega;
98  double mNSafety;
99  double mX1Origin;
100  double mX2Origin;
104  double mWaveNumber;
108 
111 
112  void Execute() override;
113 
114  void ExecuteInitialize() override;
115 
116  void ExecuteBeforeSolutionLoop() override;
117 
118  void ExecuteInitializeSolutionStep() override;
119 
120  void ExecuteFinalizeSolutionStep() override;
121 
125 
126  void CheckDefaultsAndProcessSettings(Parameters &rParameters);
127 
128  const Parameters GetDefaultParameters() const override;
129 
130  void CalculateKinematicViscosity(
131  double &rReynoldsNumber,
132  double &viscosity);
133 
134  void CalculatePermeability(
135  double &rDamKohlerNumber,
136  double &dynamic_viscosity,
137  double &permeability);
138 
139  void CalculateWaveNumber(
140  double &mMaxGradAlpha,
141  double &mReynoldsNumber,
142  double &dynamic_viscosity,
143  double &mDeltaAlpha,
144  double &mUchar,
145  double &mWaveNumber);
146 
147  void SetInitialBodyForceAndPorosityField();
148 
149  void SetBodyForceAndPorosityField();
150 
151  void SetFluidProperties();
152 
156 
160 
164 
166  std::string Info() const override
167  {
168  std::stringstream buffer;
169  buffer << "SinusoidalPorositySolutionTransientBodyForceProcess" ;
170  return buffer.str();
171  }
172 
174  void PrintInfo(std::ostream& rOStream) const override {rOStream << "SinusoidalPorositySolutionTransientBodyForceProcess";}
175 
177  void PrintData(std::ostream& rOStream) const override {}
178 
179 
183 
185 
186 private:
189 
193 
196 
200 
204 
205 
209 
210 
214 
216 
218 
221 
222 }; // Class SinusoidalPorositySolutionTransientBodyForceProcess
223 
227 
231 
233 
235 
236 }; // namespace Kratos.
237 
238 #endif // KRATOS_SINUSOIDAL_POROSITY_SOLUTION_TRANSIENT_BODY_FORCE_PROCESS_H
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 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
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:56
double mViscosity
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:90
~SinusoidalPorositySolutionTransientBodyForceProcess() override
Destructor.
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:84
double mX1Origin
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:99
double mDeltaAlpha
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:93
double mMaxSqueezeFraction
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:95
double mWaveNumber
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:104
double mPermeability
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:91
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:174
double mNSafety
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:98
ModelPart & mrModelPart
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:88
bool mInitialConditions
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:105
double mSqueezeAmplitude
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:97
double mX2Origin
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:100
double mLength
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:94
double mDensity
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:89
double mMaxGradAlpha
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:103
double mDamKohlerNumber
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:102
double mReynoldsNumber
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:101
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:177
bool mAlternativeFormulation
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:106
double mOmega
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:96
double mUchar
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:92
KRATOS_CLASS_POINTER_DEFINITION(SinusoidalPorositySolutionTransientBodyForceProcess)
Pointer definition of SinusoidalPorositySolutionTransientBodyForceProcess.
std::string Info() const override
Turn back information as a string.
Definition: sinusoidal_porosity_solution_transient_body_force_process.h:166
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
float viscosity
Definition: edgebased_var.py:8