-->
Code History

From SPHYSICS

(Difference between revisions)
Jump to: navigation, search
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page details code changes with their date and their version numbers
+
__FORCETOC__
  
 +
== '''[[Downloads#GPU_codes| DualSPHysics]]''' ==
  
'''12 November 2007 (v1.0.003): '''
+
Code release Imminent (Jan 2011)
 +
 
 +
== '''[[Downloads#Parallel_code| parallelSPHysics]]''' ==
 +
 
 +
Released Jan 2011, straight to v2.0 (to correspond to serial code)
 +
 
 +
== '''[[Downloads#Serial_code| serial SPHysics]]''' ==
 +
 
 +
'''23 January 2010  - v2.2.001: '''
 +
 
 +
Multiple bug fixes including:
 +
:* SPHYSICSgen_2D.f: corrected moment of inertia for rectangles
 +
:* SPHYSICSgen_2D.f: corrected read(*,*)  iopt_opt  TO:  read(*,*)  iopt_wavemaker
 +
:* densityFilter_Shepard: updated value of pVol(i) after filter
 +
:* ac_KC_3D.f:  added missing ycor(i) = eps*vx(i) * one_over_sum_wab
 +
:* ac_3D.f, ac_MLS_3D.f, ac_KGC_3D.f ac_conservative_3D.f: added ly2=0  to initialise variable
 +
:* movingObjects_3D.f added the following line:
 +
inquire(file="MULT_MV",EXIST=mult_mv) BEFORE (line 38) if(mult_mv) call move_ext_file !arno
 +
 
 +
:* getdata_3D.f line 573 inserted mult_mv variable into:
 +
      if(iopt_gate        .eq.1.or.
 +
    &    iopt_wavemaker    .eq.1.or.
 +
    &    iopt_RaichlenWedge.eq.1.or.
 +
    &    iopt_FloatingBodies.eq.1.or.
 +
    &    mult_mv) then !arno
 +
        iopt_movingObject = 1
 +
:* Gfortran version check for 3-D
 +
 
 +
'''04 October 2010  - v2.2.000: '''
 +
 
 +
For version 2.2, there are numerous bug features, but most importantly the addition of new complex geometry generator in 3-D.  Details can be found in the new '''[[Media:Blender_for_SPHysics_v2.2_GUIDE.pdf| Blender_for_SPHysics_v2.2_GUIDE.pdf]]'''
 +
Multiple bug fixes including:
 +
:* SPHYSICSgen_3D.f bug for h=sqrt(dx*dx + dy*dy + dz*dz)
 +
:* SPHYSICSgen_3D.f bug for fill_part for floating objects (ytmin & ytmax)
 +
:* Multiple moving objects interacting with object number 1
 +
:* File DT being unfinished until end of simulation (now opened and closed consistently)
 +
:* Floating_Objects.RESTART file added for restarting simulation
 +
:* Intel Visual Fortran replaces Compaq Visual Fortran (CVF)
 +
 
 +
 
 +
'''3 February 2010  - v2.0.001: '''
 +
For version 2.0, see details below of new code.
 +
:*Corrected bug movingPaddle_2D/3D.f for single frequency piston paddle
 +
:*Corrected bug in SPHYSICSgen_3D.f for ifort for Cases 6 & 7.
 +
 
 +
 
 +
'''28 January 2010  - 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 '''[[Media:SPHysics_v2.0.000_GUIDE.pdf| SPHysics_v2.0.000_GUIDE.pdf]]'''
 +
 
 +
''Features:''
 +
:*kernel gradient correction
 +
:*floating objects
 +
:*Riemann solvers
 +
:*New cases added:
 +
:**Case6 - floating boxes in waves (2-D & 3-D)
 +
:**Case7 - Focused wave group approaching a trapezoidal coastal defence structure (2-D & 3-D)
 +
:**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
 +
:**(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 undefined tangents in updateNormals_2D.f
 
:*Corrected bugs and updated plotting routines, e.g. SPHYSICSgen2D/3D_Plot.m
 
:*Corrected bugs and updated plotting routines, e.g. SPHYSICSgen2D/3D_Plot.m
Line 8: Line 142:
 
:*Changed parameters in some CaseN.txt files to obtain improved results
 
:*Changed parameters in some CaseN.txt files to obtain improved results
  
'''08 August 2007 (v1.0.002): '''
+
'''08 August 2007 - v1.0.002 : '''
 
:*Corrected permissions on linux .bat files
 
:*Corrected permissions on linux .bat files
 
:*Edited README files for compiler choice
 
:*Edited README files for compiler choice
  
'''06 August 2007 (v1.0.001): '''
+
'''06 August 2007 - v1.0.001 : '''
 
:*Corrected directory SPHYSICS_2D to SPHYSICS2D CaseN_cvf.bat (same for 3D)
 
:*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
 
:*Corrected ..\Release to ..\..\execs in ''subroutine tocompile_cvf'' in SPHYSICSgen_2D.f & SPHYSICSgen_3D.f
  
'''01 August 2007 (v1.0.): '''
+
'''01 August 2007 - v1.0 : '''
 
:*CODE RELEASED!
 
:*CODE RELEASED!

Latest revision as of 20:28, 23 January 2011


Contents

DualSPHysics

Code release Imminent (Jan 2011)

parallelSPHysics

Released Jan 2011, straight to v2.0 (to correspond to serial code)

serial SPHysics

23 January 2010 - v2.2.001:

Multiple bug fixes including:

  • SPHYSICSgen_2D.f: corrected moment of inertia for rectangles
  • SPHYSICSgen_2D.f: corrected read(*,*) iopt_opt TO: read(*,*) iopt_wavemaker
  • densityFilter_Shepard: updated value of pVol(i) after filter
  • ac_KC_3D.f: added missing ycor(i) = eps*vx(i) * one_over_sum_wab
  • ac_3D.f, ac_MLS_3D.f, ac_KGC_3D.f ac_conservative_3D.f: added ly2=0 to initialise variable
  • movingObjects_3D.f added the following line:

inquire(file="MULT_MV",EXIST=mult_mv) BEFORE (line 38) if(mult_mv) call move_ext_file !arno

  • getdata_3D.f line 573 inserted mult_mv variable into:
     if(iopt_gate         .eq.1.or.
   &    iopt_wavemaker    .eq.1.or.
   &    iopt_RaichlenWedge.eq.1.or.
   &    iopt_FloatingBodies.eq.1.or.
   &    mult_mv) then !arno
       iopt_movingObject = 1
  • Gfortran version check for 3-D

04 October 2010 - v2.2.000:

For version 2.2, there are numerous bug features, but most importantly the addition of new complex geometry generator in 3-D. Details can be found in the new Blender_for_SPHysics_v2.2_GUIDE.pdf Multiple bug fixes including:

  • SPHYSICSgen_3D.f bug for h=sqrt(dx*dx + dy*dy + dz*dz)
  • SPHYSICSgen_3D.f bug for fill_part for floating objects (ytmin & ytmax)
  • Multiple moving objects interacting with object number 1
  • File DT being unfinished until end of simulation (now opened and closed consistently)
  • Floating_Objects.RESTART file added for restarting simulation
  • Intel Visual Fortran replaces Compaq Visual Fortran (CVF)


3 February 2010 - v2.0.001: For version 2.0, see details below of new code.

  • Corrected bug movingPaddle_2D/3D.f for single frequency piston paddle
  • Corrected bug in SPHYSICSgen_3D.f for ifort for Cases 6 & 7.


28 January 2010 - 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:
    • Case6 - floating boxes in waves (2-D & 3-D)
    • Case7 - Focused wave group approaching a trapezoidal coastal defence structure (2-D & 3-D)
    • 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
    • (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!