ISEC Model Respository

SPHysics Downloads

Code history
Versions available:
SPHysics_2D_v1.0 - August 2007
SPHysics_3D_v1.0 - August 2007
SPHysics_2D_v1.2 - April 2008
SPHysics_3D_v1.2 - April 2008
SPHysics_2D_v1.4 - February 2009
SPHysics_3D_v1.4 - February 2009
SPHYSICS_2D_v2.0 - January 2010
SPHYSICS_3D_v2.0 - January 2010
SPHysics_2D_v1.0 (August 2007) Download now

Disclaimers: none at this time

Relevant Users Guide

What changed since last version: Corrected undefined tangents in updateNormals_2D.f;
Corrected bugs and updated plotting routines, e.g. SPHYSICSgen2D/3D_Plot.m;
Corrected bugs in subroutines fill_part & wavemaker for iBC=2 in SPHYSICSgen2D/3D.f;
Changed parameters in some CaseN.txt files to obtain improved results
What it includes: README file describing contents and how to execute
SPHysics source code
Visualization codes for use on Matlab and ParaView
Four example cases
Copy of user guide
What you need to run it: Fortran compiler;
For visualization, Matlab or ParaView

SPHysics_3D_v1.0 (August 2007) Download now

Disclaimers: none at this time

Relevant Users Guide

What changed since last version: Corrected undefined tangents in updateNormals_2D.f;
Corrected bugs and updated plotting routines, e.g. SPHYSICSgen2D/3D_Plot.m;
Corrected bugs in subroutines fill_part & wavemaker for iBC=2 in SPHYSICSgen2D/3D.f;
Changed parameters in some CaseN.txt files to obtain improved results

What it includes: README file describing contents and how to execute
SPHysics source code
Visualization codes for use on Matlab and ParaView
Four example cases
What you need to run it: Fortran compiler;

For visualization, Matlab or ParaView


SPHysics_2D_v1.2 (April 2008) Download now

Disclaimers: none at this time

Relevant Users Guide

What changed since last version: New version with Faster linked list and routines
Moving Least Squares (MLS) Density Reinitialization added
RESTART option for stopping and restarting each simulation
New option for different Equations of State
Guide updated
What it includes: Same as V1.0
What you need to run it: Fortran compiler;
For visualization, Matlab or ParaView

SPHysics_3D_v1.2 (April 2008) Download now

Disclaimers: none at this time

Relevant Users Guide

What changed since last version: New version with Faster linked list and routines
Moving Least Squares (MLS) Density Reinitialization added
RESTART option for stopping and restarting each simulation
New option for different Equations of State
Guide updated
What it includes: Same as V1.0
What you need to run it: Fortran compiler;
For visualization, Matlab or ParaView

SPHysics_2D_v1.4 (February 2009) Download now

Disclaimers: none at this time

Relevant Users Guide

What changed since last version: Source code:
      Optimisations for gfortran and ifort compilers (-ipo)(SPHysicsgen.f)
      CFL_number is input in CaseN.txt to calculate dt (SPHysicsgen.f;
      getdata.f; variable_time_step.f)
      dt corrected for Predictor-corrector algorithm
      (step_predictor_corrector.f)
      Equation of state for an ideal gas (SPHysicsgen.f ; EoS_IdealGas.f)
      Changes in common (obsolete variables removed) (common.2D/3D)
      The Beeman time-stepping algorithm is implemented (SPHysicsgen.f; step_beeman.f)
      The parameter KIND has been removed from subroutines ac, celij, self, kernel, viscosity.

BATCH files:
      sph.out: output data from SPHYSICS is created in the code and some
      information appears on the screen, too.
      Now SPHYSICSgen is automatically compiled using
      SPHYSICSgen_compiler.mak files

CaseN.txt:
      Case3_3D: Case3.txt.highRes or Case3.txt.lowRes
      Changes due to new compiling options.

Postprocessing:
      Paraview programs in Fortran. New file in
      Postprocessing/fortranRoutines: PART2VTU_2D/3D.f
What it includes: Same as V1.0
What you need to run it: Fortran compiler;
For visualization, Matlab or ParaView

SPHysics_3D_v1.4 (February 2009) Download now

Disclaimers: none at this time

Relevant Users Guide

What changed since last version: Source code:
      Optimisations for gfortran and ifort compilers (-ipo)(SPHysicsgen.f)
      CFL_number is input in CaseN.txt to calculate dt (SPHysicsgen.f;
      getdata.f; variable_time_step.f)
      dt corrected for Predictor-corrector algorithm
      (step_predictor_corrector.f)
      Equation of state for an ideal gas (SPHysicsgen.f ; EoS_IdealGas.f)
      Changes in common (obsolete variables removed) (common.2D/3D)
      The Beeman time-stepping algorithm is implemented (SPHysicsgen.f; step_beeman.f)
      The parameter KIND has been removed from subroutines ac, celij, self, kernel, viscosity.

BATCH files:
      sph.out: output data from SPHYSICS is created in the code and some
      information appears on the screen, too.
      Now SPHYSICSgen is automatically compiled using
      SPHYSICSgen_compiler.mak files

CaseN.txt:
      Case3_3D: Case3.txt.highRes or Case3.txt.lowRes
      Changes due to new compiling options.

Postprocessing:
      Paraview programs in Fortran. New file in
      Postprocessing/fortranRoutines: PART2VTU_2D/3D.f
What it includes: Same as V1.0
What you need to run it: Fortran compiler;
For visualization, Matlab or ParaView

SPHYSICS_2D_v2.0 (January 2010) Download now

Disclaimers: none at this time

Relevant Users Guide

What changed since last version: For version 2.0, there are many new features including kernel correction schemes, floating objects, Riemann solvers. Details can be found in the new SPHysics_v2.0.000_GUIDE.pdf

Features:

kernel gradient correction
floating objects
Riemann solvers
New cases added:
o Case6 - floating boxes in waves (2-D & 3-D)
o Case7 - Focused wave group approaching a trapezoidal coastal defence structure (2-D & 3-D)
o Case8 - Dam-break with 2 falling boxes with X-periodic boundaries (2-D)

Source code bugs:

Have separate subroutines : poute_2D & poute_Conservative_2D
INDAT always in columns (better to read files from Matlab)
Normalization coefficients for Wendland 3D: AWen = 21/(16.pi) and BWen = AWen*-5
Shepard & MLS filters now appear with ac_Shepard / pre_celij_Shepard / pre_self_Shepard
Correct TIME for each PART
ipoute is used instead of ivort_calc
use vortx/y/z_temp in poute instead of vortx(npar)
Variables xm1 in Verlet were obsolete and removed
Some variables xdoto, xdotm1 in Beeman were obsolete and removed
Vorticity calculation as an option
Velocity gradients, CSPH, in separate routines
if(i.ge. nstart_ MLS.and.j.ge. nstart_ MLS)then before drx and call kernel in pre_MLS
nstart_Shepard = nbp1 !nstart and nstart_MLS = nbp1 !nstart
if(rr2.lt.fourh2.and.rr2.gt.1.e-18) then instead of if(rr2.le.fourh2.and.rr2.ge.1.e-18) then
Checkpointing (i.e. using RESTART repetitively for batch submissions on clusters)
nstart changed
Bug found by Arno Meyerhofer in LU_decomposition
message that Verlet and Beeman do not work with conservative formulation
Error Message for periodic boundaries cases with too few particles
Hughes and Graham (2010) suggestion to improve Dalrymple BC behaviour
Number of time steps to apply density filter, verlet or DBC correction as input data
AC replaced by AC_NONE
Floating bodies for Dalrymple BC
Paddle motion can be read from a file, e.g. Case7 for Focused wave group
Multiple trapezoids can be placed on a beach

COMPILERS:

Support has now been added for the Silverfrost FTN95 compiler on Windows, and for the GCC gfortran compiler on Cygwin (linux file system emulator)

BATCH files:

Batch files for unix/linux now report errors in compilation and successful completion of SPHYSICSgen
New batch files for Silverfrost FTN95 (formerly Salford FTN95)

CaseN.txt:

Multiple Changes due to new compiling options.
Option for precision of XYZ variables: single or double

Postprocessing:

Matlab program to plot properties by colour (e.g. SPHYSICS2D_Plot_Magnitude.m)
Debugged PART2VTU_2D/3D.f
What it includes: "Same as V1.0"
What you need to run it: Fortran compiler;
For visualization, Matlab or ParaView

SPHYSICS_3D_v2.0 (January 2010) Download now

Disclaimers: none at this time

Relevant Users Guide

What changed since last version: For version 2.0, there are many new features including kernel correction schemes, floating objects, Riemann solvers. Details can be found in the new SPHysics_v2.0.000_GUIDE.pdf

Features:

kernel gradient correction
floating objects
Riemann solvers
New cases added:
o Case6 - floating boxes in waves (2-D & 3-D)
o Case7 - Focused wave group approaching a trapezoidal coastal defence structure (2-D & 3-D)
o Case8 - Dam-break with 2 falling boxes with X-periodic boundaries (2-D)

Source code bugs:

Have separate subroutines : poute_2D & poute_Conservative_2D
INDAT always in columns (better to read files from Matlab)
Normalization coefficients for Wendland 3D: AWen = 21/(16.pi) and BWen = AWen*-5
Shepard & MLS filters now appear with ac_Shepard / pre_celij_Shepard / pre_self_Shepard
Correct TIME for each PART
ipoute is used instead of ivort_calc
use vortx/y/z_temp in poute instead of vortx(npar)
Variables xm1 in Verlet were obsolete and removed
Some variables xdoto, xdotm1 in Beeman were obsolete and removed
Vorticity calculation as an option
Velocity gradients, CSPH, in separate routines
if(i.ge. nstart_ MLS.and.j.ge. nstart_ MLS)then before drx and call kernel in pre_MLS
nstart_Shepard = nbp1 !nstart and nstart_MLS = nbp1 !nstart
if(rr2.lt.fourh2.and.rr2.gt.1.e-18) then instead of if(rr2.le.fourh2.and.rr2.ge.1.e-18) then
Checkpointing (i.e. using RESTART repetitively for batch submissions on clusters)
nstart changed
Bug found by Arno Meyerhofer in LU_decomposition
message that Verlet and Beeman do not work with conservative formulation
Error Message for periodic boundaries cases with too few particles
Hughes and Graham (2010) suggestion to improve Dalrymple BC behaviour
Number of time steps to apply density filter, verlet or DBC correction as input data
AC replaced by AC_NONE
Floating bodies for Dalrymple BC
Paddle motion can be read from a file, e.g. Case7 for Focused wave group
Multiple trapezoids can be placed on a beach

COMPILERS:

Support has now been added for the Silverfrost FTN95 compiler on Windows, and for the GCC gfortran compiler on Cygwin (linux file system emulator)

BATCH files:

Batch files for unix/linux now report errors in compilation and successful completion of SPHYSICSgen
New batch files for Silverfrost FTN95 (formerly Salford FTN95)

CaseN.txt:

Multiple Changes due to new compiling options.
Option for precision of XYZ variables: single or double

Postprocessing:

Matlab program to plot properties by colour (e.g. SPHYSICS2D_Plot_Magnitude.m)
Debugged PART2VTU_2D/3D.f
What it includes: "Same as V1.0"
What you need to run it: Fortran compiler;
For visualization, Matlab or ParaView

Code History

28 January 2009 - v2.0.000:

For version 2.0, there are many new features including kernel correction schemes, floating objects, Riemann solvers. Details can be found in the new SPHysics_v2.0.000_GUIDE.pdf

Features:

        kernel gradient correction
        floating objects
        Riemann solvers
        New cases added:
              o Case6 - floating boxes in waves (2-D & 3-D)
              o Case7 - Focused wave group approaching a trapezoidal coastal defence structure (2-D & 3-D)
              o Case8 - Dam-break with 2 falling boxes with X-periodic boundaries (2-D) 

Source code bugs:

        Have separate subroutines : poute_2D & poute_Conservative_2D
        INDAT always in columns (better to read files from Matlab)
        Normalization coefficients for Wendland 3D: AWen = 21/(16.pi) and BWen = AWen*-5
        Shepard & MLS filters now appear with ac_Shepard / pre_celij_Shepard / pre_self_Shepard
        Correct TIME for each PART
        ipoute is used instead of ivort_calc
        use vortx/y/z_temp in poute instead of vortx(npar)
        Variables xm1 in Verlet were obsolete and removed
        Some variables xdoto, xdotm1 in Beeman were obsolete and removed
        Vorticity calculation as an option
        Velocity gradients, CSPH, in separate routines
        if(i.ge. nstart_ MLS.and.j.ge. nstart_ MLS)then before drx and call kernel in pre_MLS
        nstart_Shepard = nbp1  !nstart and nstart_MLS = nbp1  !nstart
        if(rr2.lt.fourh2.and.rr2.gt.1.e-18) then instead of if(rr2.le.fourh2.and.rr2.ge.1.e-18) then
        Checkpointing (i.e. using RESTART repetitively for batch submissions on clusters)
        nstart changed
        Bug found by Arno Meyerhofer in LU_decomposition
        message that Verlet and Beeman do not work with conservative formulation
        Error Message for periodic boundaries cases with too few particles
        Hughes and Graham (2010) suggestion to improve Dalrymple BC behaviour
        Number of time steps to apply density filter, verlet or DBC correction as input data
        AC replaced by AC_NONE
        Floating bodies for Dalrymple BC
        Paddle motion can be read from a file, e.g. Case7 for Focused wave group
        Multiple trapezoids can be placed on a beach 

COMPILERS:

        Support has now been added for the Silverfrost FTN95 compiler on Windows, and for the GCC gfortran compiler on Cygwin (linux file system emulator) 

BATCH files:

        Batch files for unix/linux now report errors in compilation and successful completion of SPHYSICSgen
        New batch files for Silverfrost FTN95 (formerly Salford FTN95) 

CaseN.txt:

        Multiple Changes due to new compiling options.
        Option for precision of XYZ variables: single or double 

Postprocessing:

        Matlab program to plot properties by colour (e.g. SPHYSICS2D_Plot_Magnitude.m)
        Debugged PART2VTU_2D/3D.f 


11 February 2009 - v1.4.000:

Source code:

        Optimisations for gfortran and ifort compilers (-ipo)(SPHysicsgen.f)
        CFL_number is input in CaseN.txt to calculate dt (SPHysicsgen.f; getdata.f; variable_time_step.f)
        dt corrected for Predictor-corrector algorithm (step_predictor_corrector.f)
        Equation of state for an ideal gas (SPHysicsgen.f ; EoS_IdealGas.f)
        Changes in common (obsolete variables removed) (common.2D/3D)
        The Beeman time-stepping algorithm is implemented (SPHysicsgen.f ; step_beeman.f)
        The parameter KIND has been removed from subroutines ac, celij, self, kernel, viscosity. 

BATCH files:

        sph.out: output data from SPHYSICS is created in the code and some information appears on the screen, too.
        Now SPHYSICSgen is automatically compiled using SPHYSICSgen_compiler.mak files 

CaseN.txt:

        Case3_3D: Case3.txt.highRes or Case3.txt.lowRes
        Changes due to new compiling options. 

Postprocessing:

        Paraview programs in Fortran. New file in Postprocessing/fortranRoutines: PART2VTU_2D/3D.f 


22 April 2008 - v1.2.000 :

        New version with Faster linked list and routines
              o (changes to divide_2D/3D.f, ini_divide_2D/3D.f, keep_list_2D/3D.f, recover_list_2D/3D.f, celij_BC_#choice#_2D/3D.f, self_BC_#choice#_2D/3D.f) 
        Moving Least Squares (MLS) Density Reinitialization added
        RESTART option for stopping and restarting each simulation
        New option for different Equations of State
        Guide updated 

12 November 2007 - v1.0.003 :

        Corrected undefined tangents in updateNormals_2D.f
        Corrected bugs and updated plotting routines, e.g. SPHYSICSgen2D/3D_Plot.m
        Corrected bugs in subroutines fill_part & wavemaker for iBC=2 in SPHYSICSgen2D/3D.f
        Changed parameters in some CaseN.txt files to obtain improved results 

08 August 2007 - v1.0.002 :

        Corrected permissions on linux .bat files
        Edited README files for compiler choice 

06 August 2007 - v1.0.001 :

        Corrected directory SPHYSICS_2D to SPHYSICS2D CaseN_cvf.bat (same for 3D)
        Corrected ..\Release to ..\..\execs in subroutine tocompile_cvf in SPHYSICSgen_2D.f & SPHYSICSgen_3D.f 

01 August 2007 - v1.0 :

        CODE RELEASED!