Fluid model
IncompressibleNavierStokesSPH
Incompressible Navier-Stokes equations discretized with smoothed particle hydrodynamics (SPH).
Overview
IncompressibleNavierStokesSPH is the particle-based SPH fluid model...
Use cases
This model is appropriate for:
- SPH verification with pressure and viscosity
- meshfree compressible-fluid experiments
- testing particle-based viscosity and pressure pushers
Governing equations
PDEs solved by model:
Incompressible Navier-Stokes:
where is the viscous stress tensor.
The viscous stress tensor for a Newtonian fluid is given by:
where is the dynamic (shear) viscosity and is the identity tensor.
Normalization
The characteristic speed is thermal:
Discretization
Time integration is performed by the following propagators (in sequence):
struphy.propagators.push_eta.PushEtastruphy.propagators.push_vxb.PushVxB(ifwith_B0is True)struphy.propagators.push_vin_viscous_potential.PushVinViscousPotential(ifwith_viscosityis True)struphy.propagators.poisson_solve.PoissonSolvestruphy.propagators.push_vin_efield.PushVinEfield
Diagnostics
The following scalars are tracked during simulation:
- SPH kinetic energy:
en_kin
Example
Create and initialize the viscous Euler SPH model:
from struphy.models import ViscousEulerSPH
model = ViscousEulerSPH() model.euler_fluid.var