(→''' serial SPHysics''') |
|||
(17 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | __FORCETOC__ | |
+ | == '''[[Downloads#GPU_codes| DualSPHysics]]''' == | ||
− | '''22 April 2008 | + | Code release Imminent (Jan 2011) |
− | :*New version with | + | |
+ | == '''[[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 | :*Moving Least Squares (MLS) Density Reinitialization added | ||
:*RESTART option for stopping and restarting each simulation | :*RESTART option for stopping and restarting each simulation | ||
Line 9: | Line 136: | ||
:*Guide updated | :*Guide updated | ||
− | '''12 November 2007 | + | '''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 15: | 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 | + | '''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 | + | '''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 | + | '''01 August 2007 - v1.0 : ''' |
:*CODE RELEASED! | :*CODE RELEASED! |
Contents |
Code release Imminent (Jan 2011)
Released Jan 2011, straight to v2.0 (to correspond to serial code)
23 January 2010 - v2.2.001:
Multiple bug fixes including:
inquire(file="MULT_MV",EXIST=mult_mv) BEFORE (line 38) if(mult_mv) call move_ext_file !arno
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
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:
3 February 2010 - v2.0.001:
For version 2.0, see details below of new code.
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:
Source code bugs:
COMPILERS:
BATCH files:
CaseN.txt:
Postprocessing:
11 February 2009 - v1.4.000:
Source code:
BATCH files:
CaseN.txt:
Postprocessing:
22 April 2008 - v1.2.000 :
12 November 2007 - v1.0.003 :
08 August 2007 - v1.0.002 :
06 August 2007 - v1.0.001 :
01 August 2007 - v1.0 :