Skip to content

This repository contains code to solve the 1D hydrodynamic equations using the Smooth Particle Hydrodynamic (SPH) method.

Notifications You must be signed in to change notification settings

alexobrads/sph-shock-tube-solution

Repository files navigation

This code performs the following. 

1. Solves the equations of hydrodynamics using the one dimensional Smoothed Particle Hydrodynamics method.

2. Solves for the propagation of a one dimensional isothermal linear wave.

3. Solves the Sod shock tube problem and compares the results to the exact solution.

STRUCTURE:

mem.f90
contains the parameters used for each set up. 
To run each set up with out changing the code, comment/uncomment the
problem block definitions for the different problems in mem.f90
there are a few options for each problem, aka if a variable smoothing length
is used or if viscosity is included. Please read how to use these in the mem.f90
file where instructions are listed.

utils.f90
contains output and the setup routines

accel.f90
contains the acceleration, derivative of the kernal and the viscosity routines

density.f90
contains the density calculation and the kernal subroutine

derivs.f90
Is a subroutine that calls calculations with a variable or non varying smoothing length

eos.f90
contains the isothermal and adiabatic equations of sate

ghosts.f90
contains the subroutine for setting ghosts

step.f90
contains the time stepping routine


.defaults and .limits 
These are saved splash settings for both the isothermal shock tube and
the sod shock tube.


HOW TO USE:

make clean
make
./run

PLOTTING:

splash snap* -p iso.

or

splash snap* -p sod.


solutions can then be plotted by using the saved multiplot setting 11 in splash

About

This repository contains code to solve the 1D hydrodynamic equations using the Smooth Particle Hydrodynamic (SPH) method.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published