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.
newtonian_two_fluid_3d_law.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: Daniel Diez
11 //
12 
13 #if !defined (KRATOS_NEWTONIAN_TWO_FLUID_3D_H_INCLUDED)
14 #define KRATOS_NEWTONIAN_TWO_FLUID_3D_H_INCLUDED
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
21 #include "newtonian_3d_law.h"
22 
23 
24 namespace Kratos
25 {
26 
33 class KRATOS_API(FLUID_DYNAMICS_APPLICATION) NewtonianTwoFluid3DLaw : public Newtonian3DLaw
34 {
35 public:
39  typedef std::size_t SizeType;
40 
46 
55 
60  ConstitutiveLaw::Pointer Clone() const override;
61 
66 
67 
71  ~NewtonianTwoFluid3DLaw() override;
72 
73 
83  int Check(
84  const Properties& rMaterialProperties,
85  const GeometryType& rElementGeometry,
86  const ProcessInfo& rCurrentProcessInfo) const override;
87 
95  std::string Info() const override;
96 
97 protected:
98 
110 
111  double GetEffectiveViscosity(ConstitutiveLaw::Parameters& rParameters) const override;
112 
114 private:
115 
121 
122 
126 
127 
132 
133  void EvaluateInPoint(double& rResult,
134  const Variable<double>& rVariable,
135  ConstitutiveLaw::Parameters& rParameters) const;
136 
137  double EquivalentStrainRate(ConstitutiveLaw::Parameters& rParameters) const;
138 
143 
147  friend class Serializer;
148 
149  void save(Serializer& rSerializer) const override;
150 
151  void load(Serializer& rSerializer) override;
152 
153 }; // Class NewtonianTwoFluid3DLaw
154 } // namespace Kratos.
155 #endif // KRATOS_NEWTONIAN_TWO_FLUID_3D_H_INCLUDED defined
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Geometry base class.
Definition: geometry.h:71
Definition: newtonian_3d_law.h:31
Definition: newtonian_two_fluid_3d_law.h:34
std::size_t SizeType
Definition: newtonian_two_fluid_3d_law.h:39
KRATOS_CLASS_POINTER_DEFINITION(NewtonianTwoFluid3DLaw)
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307
Definition: constitutive_law.h:189