tfix output file write, test cohesion - Granular.jl - Julia package for granular dynamics simulation
 (HTM) git clone git://src.adamsgaard.dk/Granular.jl
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit c30185511c7d49018623d283187fefe84603e3dd
 (DIR) parent ff34b28e15248e7fc441713dccec15de1152fffa
 (HTM) Author: Anders Damsgaard <andersd@riseup.net>
       Date:   Fri, 26 May 2017 11:15:42 -0400
       
       fix output file write, test cohesion
       
       Diffstat:
         M src/simulation.jl                   |      10 ++++------
         M test/cohesion.jl                    |      30 ++++++++++++++----------------
       
       2 files changed, 18 insertions(+), 22 deletions(-)
       ---
 (DIR) diff --git a/src/simulation.jl b/src/simulation.jl
       t@@ -85,14 +85,13 @@ function run!(simulation::Simulation;
        
            checkTimeParameters(simulation)
        
       -    it_file = Int(round(simulation.file_time_since_output_file/
       -                        simulation.time_step))
       -    n_file_time_step = Int(round(simulation.file_time_step/
       -                                 simulation.time_step))
       +    # number of time steps between output files
       +    n_file_time_step = Int(ceil(simulation.file_time_step/simulation.time_step))
        
            while simulation.time <= simulation.time_total
        
       -        if simulation.file_time_step > 0.0 && it_file >= n_file_time_step
       +        if simulation.file_time_step > 0.0 &&
       +            simulation.time_iteration % n_file_time_step == 0
        
                    if show_file_output
                        println()
       t@@ -120,7 +119,6 @@ function run!(simulation::Simulation;
        
                # Update time variables
                simulation.time_iteration += 1
       -        n_file_time_step += 1
                incrementCurrentTime!(simulation, simulation.time_step)
        
                if single_step
 (DIR) diff --git a/test/cohesion.jl b/test/cohesion.jl
       t@@ -8,8 +8,8 @@ info("#### $(basename(@__FILE__)) ####")
        verbose=false
        
        sim_init = SeaIce.createSimulation()
       -SeaIce.addIceFloeCylindrical(sim_init, [0., 0.], 10., 1., verbose=verbose)
       -SeaIce.addIceFloeCylindrical(sim_init, [18., 0.], 10., 1., verbose=verbose)
       +SeaIce.addIceFloeCylindrical(sim_init, [0., 0.], 10., 1.)
       +SeaIce.addIceFloeCylindrical(sim_init, [18., 0.], 10., 1.)
        sim_init.ice_floes[1].youngs_modulus = 1e-5  # repulsion is negligible
        sim_init.ice_floes[2].youngs_modulus = 1e-5  # repulsion is negligible
        SeaIce.setTimeStep!(sim_init, verbose=verbose)
       t@@ -21,19 +21,17 @@ sim.time_step = 1.
        SeaIce.run!(sim, verbose=verbose)
        @test sim.ice_floes[1].contact_age[1] ≈ sim.time
        
       -info("# Check if cohesion increases with time")
       +info("# Check if bonds add tensile strength")
        sim = SeaIce.createSimulation(id="cohesion")
       -SeaIce.addIceFloeCylindrical(sim, [0., 0.], 10., 1., verbose=verbose)
       -SeaIce.addIceFloeCylindrical(sim, [19.5, 0.], 10., 1., verbose=verbose)
       -sim.ice_floes[1].youngs_modulus = 1e-5  # repulsion is negligible
       -sim.ice_floes[2].youngs_modulus = 1e-5  # repulsion is negligible
       +SeaIce.addIceFloeCylindrical(sim, [0., 0.], 10., 1., tensile_strength=500e3)
       +SeaIce.addIceFloeCylindrical(sim, [20.1, 0.], 10., 1., tensile_strength=500e3)
       +sim.ice_floes[1].lin_vel[1] = 0.1
        SeaIce.setTimeStep!(sim)
       -SeaIce.setTotalTime!(sim, 24.*60.*60.)
       -sim.file_time_step = 60.
       -# let the contact age for a while
       -while sim.time_total*.9 > sim.time
       -    SeaIce.run!(sim, single_step=true, verbose=verbose)
       -end
       -#sim_init.ice_floes[1].youngs_modulus = 2e7
       -#sim_init.ice_floes[2].youngs_modulus = 2e7
       -#SeaIce.setTimeStep!(sim)
       +SeaIce.setTotalTime!(sim, 10.)
       +SeaIce.run!(sim, verbose=verbose)
       +@test sim.ice_floes[1].lin_vel[1] > 0.
       +@test sim.ice_floes[1].lin_vel[2] ≈ 0.
       +@test sim.ice_floes[2].lin_vel[1] > 0.
       +@test sim.ice_floes[2].lin_vel[2] ≈ 0.
       +@test sim.ice_floes[1].ang_vel ≈ 0.
       +@test sim.ice_floes[2].ang_vel ≈ 0.