tadd tests where both ice floes are not fixed - 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 c55742b10938948d5035f4aee3ca76791f0aab28
 (DIR) parent 8ac51ccee3b22d1905d1dcbc66d2ac323c7df87b
 (HTM) Author: Anders Damsgaard <andersd@riseup.net>
       Date:   Thu, 20 Apr 2017 16:40:38 -0400
       
       add tests where both ice floes are not fixed
       
       Diffstat:
         M test/collision-2floes-normal.jl     |      56 +++++++++++++++++++++++++++++++
       
       1 file changed, 56 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/test/collision-2floes-normal.jl b/test/collision-2floes-normal.jl
       t@@ -10,6 +10,7 @@ info("#### $(basename(@__FILE__)) ####")
        
        verbose=false
        
       +info("# One ice floe fixed")
        sim = SeaIce.createSimulation(id="test")
        SeaIce.addIceFloeCylindrical(sim, [0., 0.], 10., 1., verbose=verbose)
        SeaIce.addIceFloeCylindrical(sim, [20.05, 0.], 10., 1., verbose=verbose)
       t@@ -50,8 +51,63 @@ Base.Test.@test_approx_eq_eps E_kin_lin_init E_kin_lin_final E_kin_lin_init*tol
        Base.Test.@test_approx_eq E_kin_rot_init E_kin_rot_final
        
        
       +info("Testing kinetic energy conservation with Three-term Taylor scheme")
       +sim = deepcopy(sim_init)
       +SeaIce.setTimeStep!(sim, epsilon=0.07)
       +tol = 0.01
       +info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
       +SeaIce.run!(sim, temporal_integration_method="Three-term Taylor",
       +            verbose=verbose)
       +
       +E_kin_lin_final = SeaIce.totalIceFloeKineticTranslationalEnergy(sim)
       +E_kin_rot_final = SeaIce.totalIceFloeKineticRotationalEnergy(sim)
       +Base.Test.@test_approx_eq_eps E_kin_lin_init E_kin_lin_final E_kin_lin_init*tol
       +Base.Test.@test_approx_eq E_kin_rot_init E_kin_rot_final
       +
       +
       +info("# Ice floes free to move")
       +
       +sim = SeaIce.createSimulation(id="test")
       +SeaIce.addIceFloeCylindrical(sim, [0., 0.], 10., 1., verbose=verbose)
       +SeaIce.addIceFloeCylindrical(sim, [20.05, 0.], 10., 1., verbose=verbose)
       +sim.ice_floes[1].lin_vel[1] = 0.1
       +
       +E_kin_lin_init = SeaIce.totalIceFloeKineticTranslationalEnergy(sim)
       +E_kin_rot_init = SeaIce.totalIceFloeKineticRotationalEnergy(sim)
       +
       +# With decreasing timestep (epsilon towards 0), the explicit integration scheme 
       +# should become more correct
       +
       +SeaIce.setTotalTime!(sim, 10.0)
       +sim_init = deepcopy(sim)
       +
       +info("Testing kinetic energy conservation with Two-term Taylor scheme")
       +SeaIce.setTimeStep!(sim, epsilon=0.07)
       +tol = 0.2
       +info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
       +SeaIce.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbose)
       +
       +E_kin_lin_final = SeaIce.totalIceFloeKineticTranslationalEnergy(sim)
       +E_kin_rot_final = SeaIce.totalIceFloeKineticRotationalEnergy(sim)
       +Base.Test.@test_approx_eq_eps E_kin_lin_init E_kin_lin_final E_kin_lin_init*tol
       +Base.Test.@test_approx_eq E_kin_rot_init E_kin_rot_final
       +
       +
        info("Testing kinetic energy conservation with Two-term Taylor scheme")
        sim = deepcopy(sim_init)
       +SeaIce.setTimeStep!(sim, epsilon=0.007)
       +tol = 0.02
       +info("Relative tolerance: $(tol*100.)%")
       +SeaIce.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbose)
       +
       +E_kin_lin_final = SeaIce.totalIceFloeKineticTranslationalEnergy(sim)
       +E_kin_rot_final = SeaIce.totalIceFloeKineticRotationalEnergy(sim)
       +Base.Test.@test_approx_eq_eps E_kin_lin_init E_kin_lin_final E_kin_lin_init*tol
       +Base.Test.@test_approx_eq E_kin_rot_init E_kin_rot_final
       +
       +
       +info("Testing kinetic energy conservation with Three-term Taylor scheme")
       +sim = deepcopy(sim_init)
        SeaIce.setTimeStep!(sim, epsilon=0.07)
        tol = 0.01
        info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")