31 #ifndef WEAKLY_COMPRESSIBLE_FLUID_H 32 #define WEAKLY_COMPRESSIBLE_FLUID_H 48 :
Fluid(rho0, mu), c0_(c0),
p0_(rho0 * c0 * c0)
50 material_type_name_ =
"WeaklyCompressibleFluid";
54 Real ReferenceSoundSpeed() {
return c0_; };
55 virtual Real getPressure(Real rho)
override;
56 virtual Real DensityFromPressure(Real p)
override;
57 virtual Real getSoundSpeed(Real p = 0.0, Real rho = 1.0)
override;
58 virtual WeaklyCompressibleFluid *ThisObjectPtr()
override {
return this; };
65 template <
class WeaklyCompressibleFlu
idType>
69 Real cutoff_pressure_, cutoff_density_;
72 template <
typename... ConstructorArgs>
75 cutoff_pressure_(cutoff_pressure),
76 cutoff_density_(WeaklyCompressibleFluidType::DensityFromPressure(cutoff_pressure))
78 WeaklyCompressibleFluidType::aterial_type_ +=
"FreeSurface";
82 virtual Real getPressure(Real rho)
override 84 return rho < cutoff_density_ ? cutoff_pressure_ : WeaklyCompressibleFluid::getPressure(rho);
100 material_type_name_ =
"SymmetricTaitFluid";
104 virtual Real getPressure(Real rho)
override;
105 virtual Real DensityFromPressure(Real p)
override;
106 virtual Real getSoundSpeed(Real p = 0.0, Real rho = 1.0)
override;
120 explicit Oldroyd_B_Fluid(Real rho0, Real c0, Real mu, Real lambda, Real mu_p)
123 material_type_name_ =
"Oldroyd_B_Fluid";
127 Real getReferenceRelaxationTime() {
return lambda_; };
128 Real ReferencePolymericViscosity() {
return mu_p_; };
129 virtual Oldroyd_B_Fluid *ThisObjectPtr()
override {
return this; };
132 #endif // WEAKLY_COMPRESSIBLE_FLUID_H Equation of state (EOS) with cut-off pressure.
Definition: weakly_compressible_fluid.h:66
linear EOS with relaxation time and polymetric viscosity.
Definition: weakly_compressible_fluid.h:113
Tait EOS for positive and negative pressure symmetrically.
Definition: weakly_compressible_fluid.h:92
Base class of all fluids.
Definition: base_material.h:89
Real p0_
Definition: weakly_compressible_fluid.h:45
Real mu_p_
Definition: weakly_compressible_fluid.h:117
This is the base classes of all materials. A function in a derived material class returns a value wit...
int gamma_
Definition: weakly_compressible_fluid.h:95
Linear equation of state (EOS).
Definition: weakly_compressible_fluid.h:42
Real lambda_
Definition: weakly_compressible_fluid.h:116
Definition: solid_body_supplementary.cpp:9