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.
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_POROSITY_SOLUTION_TRANSIENT_BODY_FORCE_PROCESS_H
15 #define KRATOS_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) PorositySolutionTransientBodyForceProcess : public Process
56 {
57 public:
60 
63 
67 
70  ModelPart& rModelPart);
71 
74  ModelPart& rModelPart,
75  Parameters& rParameters);
76 
79  Model& rModel,
80  Parameters& rParameters);
81 
84 
88 
89  void Execute() override;
90 
91  void ExecuteInitialize() override;
92 
93  void ExecuteBeforeSolutionLoop() override;
94 
95  void ExecuteInitializeSolutionStep() override;
96 
97  void ExecuteFinalizeSolutionStep() override;
98 
102 
106 
110 
114 
116  std::string Info() const override
117  {
118  std::stringstream buffer;
119  buffer << "PorositySolutionTransientBodyForceProcess" ;
120  return buffer.str();
121  }
122 
124  void PrintInfo(std::ostream& rOStream) const override {rOStream << "PorositySolutionTransientBodyForceProcess";}
125 
127  void PrintData(std::ostream& rOStream) const override {}
128 
129 
133 
135 
138 
142 
144  double mDensity;
145  double mViscosity;
147  double mAlpha;
148  double mUchar;
151 
152 
156 
157  void CheckDefaultsAndProcessSettings(Parameters &rParameters);
158 
159  const Parameters GetDefaultParameters() const override;
160 
161  void SetInitialBodyForceAndPorosityField();
162 
163  void SetBodyForceAndPorosityField();
164 
165  void SetFluidProperties();
166 
168 private:
169 
172 
173 
177 
178 
182 
185 
188 
191 
193 
194 }; // Class PorositySolutionTransientBodyForceProcess
195 
199 
203 
205 
207 
208 }; // namespace Kratos.
209 
210 #endif // KRATOS_POROSITY_SOLUTION_TRANSIENT_BODY_FORCE_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 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
Definition: porosity_solution_transient_body_force_process.h:56
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: porosity_solution_transient_body_force_process.h:124
std::string Info() const override
Turn back information as a string.
Definition: porosity_solution_transient_body_force_process.h:116
bool mAlternativeFormulation
Definition: porosity_solution_transient_body_force_process.h:150
double mUchar
Definition: porosity_solution_transient_body_force_process.h:148
KRATOS_CLASS_POINTER_DEFINITION(PorositySolutionTransientBodyForceProcess)
Pointer definition of PorositySolutionTransientBodyForceProcess.
double mAlpha
Definition: porosity_solution_transient_body_force_process.h:147
bool mInitialConditions
Definition: porosity_solution_transient_body_force_process.h:149
~PorositySolutionTransientBodyForceProcess() override
Destructor.
Definition: porosity_solution_transient_body_force_process.h:83
double mDensity
Definition: porosity_solution_transient_body_force_process.h:144
double mPermeability
Definition: porosity_solution_transient_body_force_process.h:146
double mViscosity
Definition: porosity_solution_transient_body_force_process.h:145
ModelPart & mrModelPart
Definition: porosity_solution_transient_body_force_process.h:143
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: porosity_solution_transient_body_force_process.h:127
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