34 #include "all_particle_dynamics.h" 37 #include "riemann_solver.h" 41 namespace eulerian_weakly_compressible_fluid_dynamics
43 typedef DataDelegateSimple<EulerianFluidBody, WeaklyCompressibleFluidParticles, Fluid> EulerianWeaklyCompressibleFluidDataSimple;
44 typedef DataDelegateInner<EulerianFluidBody, WeaklyCompressibleFluidParticles, Fluid> EulerianWeaklyCompressibleFluidDataInner;
63 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
81 Real thereshold_by_dimensions_;
83 StdLargeVec<int>& surface_indicator_;
85 Real smoothing_length_;
87 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
88 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
103 Real smoothing_length_;
107 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
123 Real smoothing_length_;
124 Real ReduceFunction(
size_t index_i, Real dt = 0.0)
override;
125 Real OutputResult(Real reduced_value)
override;
141 StdLargeVec<AngularVecd> vorticity_;
142 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
169 virtual void Initialization(
size_t index_i, Real dt = 0.0)
override;
170 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
178 template<
class RiemannSolverType>
184 RiemannSolverType riemann_solver_;
186 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
204 virtual void Initialization(
size_t index_i, Real dt = 0.0)
override {};
205 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
212 template<
class RiemannSolverType>
218 RiemannSolverType riemann_solver_;
220 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
238 rho_(particles_->rho_), p_(particles_->p_), vel_(particles_->vel_),
239 mom_(particles_->mom_), pos_(particles_->pos_), mass_(particles_->mass_), Vol_(particles_->Vol_),
240 surface_indicator_(particles_->surface_indicator_)
242 particles_->registerVariable(n_,
"NormalDirection");
246 Real p_farfield_, rho_farfield_, gamma_, sound_speed_;
251 StdLargeVec<int>& surface_indicator_;
253 virtual void Interaction(
size_t index_i, Real dt = 0.0)
override;
prepare data for inner particle dynamics
Definition: base_particle_dynamics.h:216
indicate the particles near the free surface of a fluid body. Note that, SPHinXsys does not require t...
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.h:73
Simple particle dynamics without considering particle interaction.
Definition: particle_dynamics_algorithms.h:48
Here, we define the algorithm classes for fluid dynamics within the body.
Abstract base class for all pressure relaxation schemes.
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.h:163
compute vorticity in the fluid field
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.h:132
A wrapper to provide an ownership for a new derived object which previous often generated by new a ra...
Definition: ownership.h:90
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.h:46
Base abstract class for reduce.
Definition: particle_dynamics_algorithms.h:69
the viscosity force induced acceleration
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.h:95
Eulerian Fluid body uses smoothing length to particle spacing 1.3.
Definition: fluid_body.h:60
Template class for pressure relaxation scheme with the Riemann solver as template variable...
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.h:179
virtual void setupDynamics(Real dt=0.0) override
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.cpp:31
Computing the acoustic time step size.
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.h:114
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
this function is applied to non_reflective flows
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.h:233
SPHBody is a base body with basic data and functions. Its derived class can be a real fluid body...
Definition: base_body.h:61
Here, we define the base external force class.
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
virtual void Update(size_t index_i, Real dt=0.0) override
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.cpp:64
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...
Pure abstract base class for all fluid relaxation schemes.
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.h:149
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.h:213
Definition: eulerian_weakly_compressible_fluid_dynamics_inner.h:198
The gravity force, derived class of External force.
Definition: external_force.h:55
Definition: solid_body_supplementary.cpp:9