31 #ifndef FLUID_DYNAMICS_INNER_H 32 #define FLUID_DYNAMICS_INNER_H 34 #include "all_particle_dynamics.h" 36 #include "all_body_relations.h" 40 #include "riemann_solver.h" 44 namespace fluid_dynamics
46 typedef DataDelegateSimple<FluidBody, FluidParticles, Fluid> FluidDataSimple;
47 typedef DataDelegateInner<FluidBody, FluidParticles, Fluid> FluidDataInner;
75 Real W0_, rho0_, inv_sigma0_;
78 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
79 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
80 virtual Real ReinitializedDensity(Real rho_sum, Real rho_0, Real rho_n) {
return rho_sum; };
95 Real smoothing_length_;
99 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
115 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
131 StdLargeVec<int> &surface_indicator_;
135 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
151 Real smoothing_length_;
152 Real ReduceFunction(
size_t index_i, Real dt = 0.0)
override;
153 Real OutputResult(Real reduced_value)
override;
167 Real smoothing_length_;
169 Real ReduceFunction(
size_t index_i, Real dt = 0.0)
override;
170 Real OutputResult(Real reduced_value)
override;
197 StdLargeVec<AngularVecd> vorticity_;
198 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
227 virtual void Initialization(
size_t index_i, Real dt = 0.0)
override;
228 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
229 virtual Vecd computeNonConservativeAcceleration(
size_t index_i);
237 template <
class RiemannSolverType>
243 RiemannSolverType riemann_solver_;
246 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
264 virtual void Initialization(
size_t index_i, Real dt = 0.0)
override;
265 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
272 template <
class RiemannSolverType>
278 RiemannSolverType riemann_solver_;
281 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
313 virtual void Initialization(
size_t index_i, Real dt = 0.0)
override;
314 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
331 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
332 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
336 #endif //FLUID_DYNAMICS_INNER_H
Fluid body uses smoothing length to particle spacing 1.3 and carry out particle sorting every 100 ite...
Definition: fluid_body.h:43
virtual void Interaction(size_t index_i, Real dt=0.0) override
Definition: fluid_dynamics_inner.cpp:28
prepare data for inner particle dynamics
Definition: base_particle_dynamics.h:216
This is the derived class of base particle.
Simple particle dynamics without considering particle interaction.
Definition: particle_dynamics_algorithms.h:48
Abstract base class for all density relaxation schemes.
Definition: fluid_dynamics_inner.h:257
Set initial condition for a fluid body. This is a abstract class to be override for case specific ini...
Definition: fluid_dynamics_inner.h:54
Computing the acoustic time step size.
Definition: fluid_dynamics_inner.h:142
Pressure relaxation scheme with the mostly used Riemann solver.
Definition: fluid_dynamics_inner.h:305
virtual void Interaction(size_t index_i, Real dt=0.0) override
Definition: fluid_dynamics_inner.cpp:73
computing density by summation
Definition: fluid_dynamics_inner.h:68
Base abstract class for reduce.
Definition: particle_dynamics_algorithms.h:69
Abstract base class for all pressure relaxation schemes.
Definition: fluid_dynamics_inner.h:220
set initial condition for Oldroyd_B_Fluid dynamics This is a abstract class to be override for case s...
Definition: fluid_dynamics_inner.h:293
Density relaxation scheme with the mostly used Riemann solver.
Definition: fluid_dynamics_inner.h:321
Computing the advection time step size when viscosity is handled implicitly.
Definition: fluid_dynamics_inner.h:177
the viscosity force induced acceleration
Definition: fluid_dynamics_inner.h:87
Definition: fluid_dynamics_inner.h:273
This class includes an initialization, an interaction and a update steps.
Definition: particle_dynamics_algorithms.h:181
This is the class for particle interaction with other particles.
Definition: particle_dynamics_algorithms.h:115
Pure abstract base class for all fluid relaxation schemes.
Definition: fluid_dynamics_inner.h:205
the viscosity force induced acceleration, a formulation for conserving angular momentum, to be tested for its practical applications.
Definition: fluid_dynamics_inner.h:107
Template class for pressure relaxation scheme with the Riemann solver as template variable...
Definition: fluid_dynamics_inner.h:238
virtual void setupDynamics(Real dt=0.0) override
Definition: fluid_dynamics_inner.cpp:104
This is the class for bodies used for fluid.
This class includes an interaction and a update steps.
Definition: particle_dynamics_algorithms.h:160
The abstract relation within a SPH body.
Definition: base_body_relation.h:117
prepare data for simple particle dynamics.
Definition: base_particle_dynamics.h:185
This is the base classes of kernel functions. Implementation will be implemented in derived classes...
Describe the weakly compressible fluid which is used model incompressible fluids. Here...
transport velocity correction
Definition: fluid_dynamics_inner.h:122
compute vorticity in the fluid field
Definition: fluid_dynamics_inner.h:188
Definition: solid_body_supplementary.cpp:9
Computing the advection time step size.
Definition: fluid_dynamics_inner.h:160