Granular.jl

Julia package for granular dynamics simulation
git clone git://src.adamsgaard.dk/Granular.jl
Log | Files | Refs | README | LICENSE

commit 1ef10198e9a36314483365fe474c903b453254c0
parent b891256168049fe1cea68f7e008c45b5a11d7b23
Author: Anders Damsgaard <andersd@riseup.net>
Date:   Thu,  9 Nov 2017 10:09:43 -0600

import test functionality consistent with changes between Julia 0.6 and 0.7

Diffstat:
Mtest/atmosphere.jl | 84++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mtest/cohesion.jl | 14+++++++-------
Mtest/collision-2floes-normal.jl | 40++++++++++++++++++++--------------------
Mtest/collision-2floes-oblique.jl | 188++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mtest/collision-5floes-normal.jl | 70+++++++++++++++++++++++++++++++++++-----------------------------------
Mtest/contact-search-and-geometry.jl | 224++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mtest/grain.jl | 24++++++++++++------------
Mtest/grid-boundaries.jl | 94++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mtest/grid.jl | 278++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mtest/memory-management.jl | 68++++++++++++++++++++++++++++++++++----------------------------------
Mtest/netcdf.jl | 52++++++++++++++++++++++++++--------------------------
Mtest/ocean.jl | 92++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mtest/packing.jl | 20++++++++++----------
Mtest/profiling.jl | 19++++++++++++-------
Mtest/runtests.jl | 6++++++
Mtest/temporal.jl | 14+++++++-------
Mtest/util.jl | 32++++++++++++++++----------------
Mtest/vtk.jl | 24++++++++++++------------
18 files changed, 677 insertions(+), 666 deletions(-)

diff --git a/test/atmosphere.jl b/test/atmosphere.jl @@ -8,20 +8,20 @@ info("#### $(basename(@__FILE__)) ####") info("Testing regular grid generation") sim = Granular.createSimulation() sim.atmosphere = Granular.createRegularAtmosphereGrid([6, 6, 6], [1., 1., 1.]) -Test.@test size(sim.atmosphere.xq) == (7, 7) -Test.@test size(sim.atmosphere.yq) == (7, 7) -Test.@test size(sim.atmosphere.xh) == (6, 6) -Test.@test size(sim.atmosphere.yh) == (6, 6) -Test.@test sim.atmosphere.xq[1, :, 1] ≈ zeros(7) -Test.@test sim.atmosphere.xq[4, :, 1] ≈ .5*ones(7) -Test.@test sim.atmosphere.xq[end, :, 1] ≈ 1.*ones(7) -Test.@test sim.atmosphere.yq[:, 1, 1] ≈ zeros(7) -Test.@test sim.atmosphere.yq[:, 4, 1] ≈ .5*ones(7) -Test.@test sim.atmosphere.yq[:, end, 1] ≈ 1.*ones(7) -Test.@test size(sim.atmosphere.u) == (7, 7, 6, 1) -Test.@test size(sim.atmosphere.v) == (7, 7, 6, 1) -Test.@test sim.atmosphere.u ≈ zeros(7, 7, 6, 1) -Test.@test sim.atmosphere.v ≈ zeros(7, 7, 6, 1) +@test size(sim.atmosphere.xq) == (7, 7) +@test size(sim.atmosphere.yq) == (7, 7) +@test size(sim.atmosphere.xh) == (6, 6) +@test size(sim.atmosphere.yh) == (6, 6) +@test sim.atmosphere.xq[1, :, 1] ≈ zeros(7) +@test sim.atmosphere.xq[4, :, 1] ≈ .5*ones(7) +@test sim.atmosphere.xq[end, :, 1] ≈ 1.*ones(7) +@test sim.atmosphere.yq[:, 1, 1] ≈ zeros(7) +@test sim.atmosphere.yq[:, 4, 1] ≈ .5*ones(7) +@test sim.atmosphere.yq[:, end, 1] ≈ 1.*ones(7) +@test size(sim.atmosphere.u) == (7, 7, 6, 1) +@test size(sim.atmosphere.v) == (7, 7, 6, 1) +@test sim.atmosphere.u ≈ zeros(7, 7, 6, 1) +@test sim.atmosphere.v ≈ zeros(7, 7, 6, 1) info("Testing velocity drag interaction (static atmosphere)") Granular.addGrainCylindrical!(sim, [.5, .5], .25, .1) @@ -34,10 +34,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_rot_init ≈ E_kin_rot_final # no rotation before or after -Test.@test E_kin_lin_init > E_kin_lin_final # linear velocity lost due to atmos drag -Test.@test sim.grains[1].atmosphere_stress[1] < 0. -Test.@test sim.grains[1].atmosphere_stress[2] ≈ 0. +@test E_kin_rot_init ≈ E_kin_rot_final # no rotation before or after +@test E_kin_lin_init > E_kin_lin_final # linear velocity lost due to atmos drag +@test sim.grains[1].atmosphere_stress[1] < 0. +@test sim.grains[1].atmosphere_stress[2] ≈ 0. info("Testing velocity drag interaction (static ice floe)") sim = deepcopy(sim_init) @@ -47,10 +47,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_rot_init ≈ E_kin_rot_final # no rotation before or after -Test.@test E_kin_lin_init < E_kin_lin_final # linear vel. gained due to atmos drag -Test.@test sim.grains[1].atmosphere_stress[1] ≈ 0. -Test.@test sim.grains[1].atmosphere_stress[2] > 0. +@test E_kin_rot_init ≈ E_kin_rot_final # no rotation before or after +@test E_kin_lin_init < E_kin_lin_final # linear vel. gained due to atmos drag +@test sim.grains[1].atmosphere_stress[1] ≈ 0. +@test sim.grains[1].atmosphere_stress[2] > 0. info("Testing vortex interaction (static atmosphere)") sim = deepcopy(sim_init) @@ -60,10 +60,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_rot_init > E_kin_rot_final # energy lost to atmosphere -Test.@test sim.grains[1].ang_vel > 0. # check angular velocity orientation -Test.@test sim.grains[1].ang_pos > 0. # check angular position orientation -Test.@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained +@test E_kin_rot_init > E_kin_rot_final # energy lost to atmosphere +@test sim.grains[1].ang_vel > 0. # check angular velocity orientation +@test sim.grains[1].ang_pos > 0. # check angular position orientation +@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained info("Testing vortex interaction (static ice floe)") sim = deepcopy(sim_init) @@ -77,10 +77,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test sim.grains[1].ang_vel > 0. # check angular velocity orientation -Test.@test sim.grains[1].ang_pos > 0. # check angular position orientation -Test.@test E_kin_rot_init < E_kin_rot_final # rotation after due to atm vortex -Test.@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained +@test sim.grains[1].ang_vel > 0. # check angular velocity orientation +@test sim.grains[1].ang_pos > 0. # check angular position orientation +@test E_kin_rot_init < E_kin_rot_final # rotation after due to atm vortex +@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained sim = deepcopy(sim_init) sim.atmosphere = Granular.createRegularAtmosphereGrid([1, 1, 1], [1., 1., 1.]) @@ -93,10 +93,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test sim.grains[1].ang_vel < 0. # check angular velocity orientation -Test.@test sim.grains[1].ang_pos < 0. # check angular position orientation -Test.@test E_kin_rot_init < E_kin_rot_final # rotation after due to atm vortex -Test.@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained +@test sim.grains[1].ang_vel < 0. # check angular velocity orientation +@test sim.grains[1].ang_pos < 0. # check angular position orientation +@test E_kin_rot_init < E_kin_rot_final # rotation after due to atm vortex +@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained sim = deepcopy(sim_init) sim.atmosphere = Granular.createRegularAtmosphereGrid([1, 1, 1], [1., 1., 1.]) @@ -109,10 +109,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test sim.grains[1].ang_vel < 0. # check angular velocity orientation -Test.@test sim.grains[1].ang_pos < 0. # check angular position orientation -Test.@test E_kin_rot_init < E_kin_rot_final # rotation after due to atm vortex -Test.@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained +@test sim.grains[1].ang_vel < 0. # check angular velocity orientation +@test sim.grains[1].ang_pos < 0. # check angular position orientation +@test E_kin_rot_init < E_kin_rot_final # rotation after due to atm vortex +@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained sim = deepcopy(sim_init) sim.atmosphere = Granular.createRegularAtmosphereGrid([1, 1, 1], [1., 1., 1.]) @@ -125,10 +125,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test sim.grains[1].ang_vel > 0. # check angular velocity orientation -Test.@test sim.grains[1].ang_pos > 0. # check angular position orientation -Test.@test E_kin_rot_init < E_kin_rot_final # rotation after due to atm vortex -Test.@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained +@test sim.grains[1].ang_vel > 0. # check angular velocity orientation +@test sim.grains[1].ang_pos > 0. # check angular position orientation +@test E_kin_rot_init < E_kin_rot_final # rotation after due to atm vortex +@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained sim = Granular.createSimulation() sim.atmosphere = Granular.createRegularAtmosphereGrid([6, 6, 6], [1., 1., 1.]) diff --git a/test/cohesion.jl b/test/cohesion.jl @@ -19,7 +19,7 @@ sim = deepcopy(sim_init) Granular.setTotalTime!(sim, 10.) sim.time_step = 1. Granular.run!(sim, verbose=verbose) -Test.@test sim.grains[1].contact_age[1] ≈ sim.time +@test sim.grains[1].contact_age[1] ≈ sim.time info("# Check if bonds add tensile strength") sim = Granular.createSimulation(id="cohesion") @@ -29,9 +29,9 @@ sim.grains[1].lin_vel[1] = 0.1 Granular.setTimeStep!(sim) Granular.setTotalTime!(sim, 10.) Granular.run!(sim, verbose=verbose) -Test.@test sim.grains[1].lin_vel[1] > 0. -Test.@test sim.grains[1].lin_vel[2] ≈ 0. -Test.@test sim.grains[2].lin_vel[1] > 0. -Test.@test sim.grains[2].lin_vel[2] ≈ 0. -Test.@test sim.grains[1].ang_vel ≈ 0. -Test.@test sim.grains[2].ang_vel ≈ 0. +@test sim.grains[1].lin_vel[1] > 0. +@test sim.grains[1].lin_vel[2] ≈ 0. +@test sim.grains[2].lin_vel[1] > 0. +@test sim.grains[2].lin_vel[2] ≈ 0. +@test sim.grains[1].ang_vel ≈ 0. +@test sim.grains[2].ang_vel ≈ 0. diff --git a/test/collision-2floes-normal.jl b/test/collision-2floes-normal.jl @@ -31,8 +31,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("Testing kinetic energy conservation with Two-term Taylor scheme") @@ -44,8 +44,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("Testing kinetic energy conservation with Three-term Taylor scheme") @@ -58,8 +58,8 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("# Ice floes free to move") @@ -86,8 +86,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("Testing kinetic energy conservation with Two-term Taylor scheme") @@ -99,8 +99,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("Testing kinetic energy conservation with Three-term Taylor scheme") @@ -113,8 +113,8 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("# Adding contact-normal viscosity") @@ -146,8 +146,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init > E_kin_lin_final -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init > E_kin_lin_final +@test E_kin_rot_init ≈ E_kin_rot_final info("Testing kinetic energy conservation with Three-term Taylor scheme") @@ -160,8 +160,8 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init > E_kin_lin_final -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init > E_kin_lin_final +@test E_kin_rot_init ≈ E_kin_rot_final info("# Ice floes free to move") @@ -191,8 +191,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init > E_kin_lin_final -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init > E_kin_lin_final +@test E_kin_rot_init ≈ E_kin_rot_final info("Testing kinetic energy conservation with Three-term Taylor scheme") @@ -205,5 +205,5 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init > E_kin_lin_final -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init > E_kin_lin_final +@test E_kin_rot_init ≈ E_kin_rot_final diff --git a/test/collision-2floes-oblique.jl b/test/collision-2floes-oblique.jl @@ -35,8 +35,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("Testing kinetic energy conservation with Two-term Taylor scheme") @@ -48,8 +48,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("Testing kinetic energy conservation with Three-term Taylor scheme") @@ -61,8 +61,8 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor", verbose=verb E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("# Ice floes free to move") @@ -90,8 +90,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("Testing kinetic energy conservation with Two-term Taylor scheme") @@ -103,8 +103,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("Testing kinetic energy conservation with Three-term Taylor scheme") @@ -117,8 +117,8 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("## Contact-normal elasticity and tangential viscosity and friction") @@ -137,13 +137,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos ≈ 0. -Test.@test sim.grains[2].ang_vel ≈ 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos ≈ 0. +@test sim.grains[2].ang_vel ≈ 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("mu_d = 0.") sim = deepcopy(sim_init) @@ -156,13 +156,13 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, temporal_integration_method="Three-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos ≈ 0. -Test.@test sim.grains[1].ang_vel ≈ 0. -Test.@test sim.grains[2].ang_pos ≈ 0. +@test sim.grains[1].ang_pos ≈ 0. +@test sim.grains[1].ang_vel ≈ 0. +@test sim.grains[2].ang_pos ≈ 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final info("Testing kinetic energy conservation with Two-term Taylor scheme") sim = deepcopy(sim_init) @@ -172,13 +172,13 @@ info("Relative tolerance: $(tol*100.)%") Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos ≈ 0. -Test.@test sim.grains[2].ang_vel ≈ 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos ≈ 0. +@test sim.grains[2].ang_vel ≈ 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("Testing kinetic energy conservation with Three-term Taylor scheme") @@ -189,13 +189,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Three-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos ≈ 0. -Test.@test sim.grains[2].ang_vel ≈ 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos ≈ 0. +@test sim.grains[2].ang_vel ≈ 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("# Ice floes free to move") @@ -222,13 +222,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos < 0. -Test.@test sim.grains[2].ang_vel < 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos < 0. +@test sim.grains[2].ang_vel < 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("Testing kinetic energy conservation with Two-term Taylor scheme") sim = deepcopy(sim_init) @@ -240,7 +240,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("Testing kinetic energy conservation with Three-term Taylor scheme") @@ -251,13 +251,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Three-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos < 0. -Test.@test sim.grains[2].ang_vel < 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos < 0. +@test sim.grains[2].ang_vel < 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("# Ice floes free to move, mirrored") @@ -285,13 +285,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos > 0. -Test.@test sim.grains[1].ang_vel > 0. -Test.@test sim.grains[2].ang_pos > 0. -Test.@test sim.grains[2].ang_vel > 0. +@test sim.grains[1].ang_pos > 0. +@test sim.grains[1].ang_vel > 0. +@test sim.grains[2].ang_pos > 0. +@test sim.grains[2].ang_vel > 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("Testing kinetic energy conservation with Two-term Taylor scheme") sim = deepcopy(sim_init) @@ -303,7 +303,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("Testing kinetic energy conservation with Three-term Taylor scheme") @@ -314,13 +314,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Three-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos > 0. -Test.@test sim.grains[1].ang_vel > 0. -Test.@test sim.grains[2].ang_pos > 0. -Test.@test sim.grains[2].ang_vel > 0. +@test sim.grains[1].ang_pos > 0. +@test sim.grains[1].ang_vel > 0. +@test sim.grains[2].ang_pos > 0. +@test sim.grains[2].ang_vel > 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("# Ice floes free to move, mirrored #2") @@ -346,13 +346,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos < 0. -Test.@test sim.grains[2].ang_vel < 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos < 0. +@test sim.grains[2].ang_vel < 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("Testing kinetic energy conservation with Two-term Taylor scheme") sim = deepcopy(sim_init) @@ -364,7 +364,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("Testing kinetic energy conservation with Three-term Taylor scheme") @@ -375,13 +375,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Three-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos < 0. -Test.@test sim.grains[2].ang_vel < 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos < 0. +@test sim.grains[2].ang_vel < 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("# Tangential elasticity, no tangential viscosity, no Coulomb slip") @@ -415,13 +415,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos < 0. -Test.@test sim.grains[2].ang_vel < 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos < 0. +@test sim.grains[2].ang_vel < 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("Testing kinetic energy conservation with Two-term Taylor scheme") sim = deepcopy(sim_init) @@ -433,7 +433,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("Testing kinetic energy conservation with Three-term Taylor scheme") @@ -444,13 +444,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Three-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos < 0. -Test.@test sim.grains[2].ang_vel < 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos < 0. +@test sim.grains[2].ang_vel < 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol info("# Tangential elasticity, no tangential viscosity, Coulomb slip") @@ -487,7 +487,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final info("Testing kinetic energy conservation with Three-term Taylor scheme") sim = deepcopy(sim_init) @@ -497,13 +497,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Three-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos < 0. -Test.@test sim.grains[2].ang_vel < 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos < 0. +@test sim.grains[2].ang_vel < 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final info("# Tangential elasticity, tangential viscosity, no Coulomb slip") @@ -540,7 +540,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final info("Testing kinetic energy conservation with Three-term Taylor scheme") sim = deepcopy(sim_init) @@ -550,13 +550,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Three-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos < 0. -Test.@test sim.grains[2].ang_vel < 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos < 0. +@test sim.grains[2].ang_vel < 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final info("# Tangential elasticity, tangential viscosity, Coulomb slip") @@ -593,7 +593,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final info("Testing kinetic energy conservation with Three-term Taylor scheme") sim = deepcopy(sim_init) @@ -603,10 +603,10 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)") Granular.run!(sim, temporal_integration_method="Three-term Taylor", verbose=verbose) -Test.@test sim.grains[1].ang_pos < 0. -Test.@test sim.grains[1].ang_vel < 0. -Test.@test sim.grains[2].ang_pos < 0. -Test.@test sim.grains[2].ang_vel < 0. +@test sim.grains[1].ang_pos < 0. +@test sim.grains[1].ang_vel < 0. +@test sim.grains[2].ang_pos < 0. +@test sim.grains[2].ang_vel < 0. E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final diff --git a/test/collision-5floes-normal.jl b/test/collision-5floes-normal.jl @@ -37,12 +37,12 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final -Test.@test 0. < norm(sim.grains[1].lin_vel) +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final +@test 0. < norm(sim.grains[1].lin_vel) for i=2:5 info("testing ice floe $i") - Test.@test 0. ≈ norm(sim.grains[i].lin_vel) + @test 0. ≈ norm(sim.grains[i].lin_vel) end @@ -55,12 +55,12 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final -Test.@test 0. < norm(sim.grains[1].lin_vel) +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final +@test 0. < norm(sim.grains[1].lin_vel) for i=2:5 info("testing ice floe $i") - Test.@test 0. ≈ norm(sim.grains[i].lin_vel) + @test 0. ≈ norm(sim.grains[i].lin_vel) end @@ -74,12 +74,12 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final -Test.@test 0. < norm(sim.grains[1].lin_vel) +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final +@test 0. < norm(sim.grains[1].lin_vel) for i=2:5 info("testing ice floe $i") - Test.@test 0. ≈ norm(sim.grains[i].lin_vel) + @test 0. ≈ norm(sim.grains[i].lin_vel) end @@ -110,11 +110,11 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final for i=1:5 info("testing ice floe $i") - Test.@test 0. < norm(sim.grains[i].lin_vel) + @test 0. < norm(sim.grains[i].lin_vel) end @@ -127,11 +127,11 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final for i=1:5 info("testing ice floe $i") - Test.@test 0. < norm(sim.grains[i].lin_vel) + @test 0. < norm(sim.grains[i].lin_vel) end @@ -145,11 +145,11 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol +@test E_kin_rot_init ≈ E_kin_rot_final for i=1:5 info("testing ice floe $i") - Test.@test 0. < norm(sim.grains[i].lin_vel) + @test 0. < norm(sim.grains[i].lin_vel) end @@ -191,12 +191,12 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init > E_kin_lin_final -Test.@test E_kin_rot_init ≈ E_kin_rot_final -Test.@test 0. < norm(sim.grains[1].lin_vel) +@test E_kin_lin_init > E_kin_lin_final +@test E_kin_rot_init ≈ E_kin_rot_final +@test 0. < norm(sim.grains[1].lin_vel) for i=2:5 info("testing ice floe $i") - Test.@test 0. ≈ norm(sim.grains[i].lin_vel) + @test 0. ≈ norm(sim.grains[i].lin_vel) end @@ -210,12 +210,12 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init > E_kin_lin_final -Test.@test E_kin_rot_init ≈ E_kin_rot_final -Test.@test 0. < norm(sim.grains[1].lin_vel) +@test E_kin_lin_init > E_kin_lin_final +@test E_kin_rot_init ≈ E_kin_rot_final +@test 0. < norm(sim.grains[1].lin_vel) for i=2:5 info("testing ice floe $i") - Test.@test 0. ≈ norm(sim.grains[i].lin_vel) + @test 0. ≈ norm(sim.grains[i].lin_vel) end @@ -252,11 +252,11 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init > E_kin_lin_final -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init > E_kin_lin_final +@test E_kin_rot_init ≈ E_kin_rot_final for i=1:5 info("testing ice floe $i") - Test.@test 0. < norm(sim.grains[i].lin_vel) + @test 0. < norm(sim.grains[i].lin_vel) end @@ -270,9 +270,9 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor", E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_lin_init > E_kin_lin_final -Test.@test E_kin_rot_init ≈ E_kin_rot_final +@test E_kin_lin_init > E_kin_lin_final +@test E_kin_rot_init ≈ E_kin_rot_final for i=1:5 info("testing ice floe $i") - Test.@test 0. < norm(sim.grains[i].lin_vel) + @test 0. < norm(sim.grains[i].lin_vel) end diff --git a/test/contact-search-and-geometry.jl b/test/contact-search-and-geometry.jl @@ -12,8 +12,8 @@ Granular.addGrainCylindrical!(sim, [18., 0.], 10., 1., verbose=false) position_ij = Granular.interGrainPositionVector(sim, 1, 2) overlap_ij = Granular.findOverlap(sim, 1, 2, position_ij) -Test.@test [-18., 0.] ≈ position_ij -Test.@test -2. ≈ overlap_ij +@test [-18., 0.] ≈ position_ij +@test -2. ≈ overlap_ij info("Testing findContactsAllToAll(...)") @@ -27,75 +27,75 @@ Granular.findContacts!(sim) sim.grains[1].fixed = true # The contact should be registered in ice floe 1, but not ice floe 2 -Test.@test 2 == sim.grains[1].contacts[1] -Test.@test [-18., 0.] ≈ sim.grains[1].position_vector[1] +@test 2 == sim.grains[1].contacts[1] +@test [-18., 0.] ≈ sim.grains[1].position_vector[1] for ic=2:sim.Nc_max - Test.@test 0 == sim.grains[1].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] + @test 0 == sim.grains[1].contacts[ic] + @test [0., 0.] ≈ sim.grains[1].position_vector[ic] + @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] end for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[2].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] + @test 0 == sim.grains[2].contacts[ic] + @test [0., 0.] ≈ sim.grains[2].position_vector[ic] + @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] end -Test.@test 1 == sim.grains[1].n_contacts -Test.@test 1 == sim.grains[2].n_contacts +@test 1 == sim.grains[1].n_contacts +@test 1 == sim.grains[2].n_contacts info("Testing findContacts(...)") sim = deepcopy(sim_copy) Granular.findContacts!(sim) -Test.@test 2 == sim.grains[1].contacts[1] -Test.@test [-18., 0.] ≈ sim.grains[1].position_vector[1] +@test 2 == sim.grains[1].contacts[1] +@test [-18., 0.] ≈ sim.grains[1].position_vector[1] for ic=2:sim.Nc_max - Test.@test 0 == sim.grains[1].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] + @test 0 == sim.grains[1].contacts[ic] + @test [0., 0.] ≈ sim.grains[1].position_vector[ic] + @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] end for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[2].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] + @test 0 == sim.grains[2].contacts[ic] + @test [0., 0.] ≈ sim.grains[2].position_vector[ic] + @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] end -Test.@test 1 == sim.grains[1].n_contacts -Test.@test 1 == sim.grains[2].n_contacts +@test 1 == sim.grains[1].n_contacts +@test 1 == sim.grains[2].n_contacts -Test.@test_throws ErrorException Granular.findContacts!(sim, method="") +@test_throws ErrorException Granular.findContacts!(sim, method="") sim = deepcopy(sim_copy) sim.grains[1].fixed = true sim.grains[2].fixed = true Granular.findContacts!(sim) for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[1].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] + @test 0 == sim.grains[1].contacts[ic] + @test [0., 0.] ≈ sim.grains[1].position_vector[ic] + @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] end for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[2].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] + @test 0 == sim.grains[2].contacts[ic] + @test [0., 0.] ≈ sim.grains[2].position_vector[ic] + @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] end -Test.@test 0 == sim.grains[1].n_contacts -Test.@test 0 == sim.grains[2].n_contacts +@test 0 == sim.grains[1].n_contacts +@test 0 == sim.grains[2].n_contacts sim = deepcopy(sim_copy) Granular.disableGrain!(sim, 1) Granular.findContacts!(sim) for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[1].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] + @test 0 == sim.grains[1].contacts[ic] + @test [0., 0.] ≈ sim.grains[1].position_vector[ic] + @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] end for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[2].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] + @test 0 == sim.grains[2].contacts[ic] + @test [0., 0.] ≈ sim.grains[2].position_vector[ic] + @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] end -Test.@test 0 == sim.grains[1].n_contacts -Test.@test 0 == sim.grains[2].n_contacts +@test 0 == sim.grains[1].n_contacts +@test 0 == sim.grains[2].n_contacts sim = deepcopy(sim_copy) @@ -103,17 +103,17 @@ Granular.disableGrain!(sim, 1) Granular.disableGrain!(sim, 2) Granular.findContacts!(sim) for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[1].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] + @test 0 == sim.grains[1].contacts[ic] + @test [0., 0.] ≈ sim.grains[1].position_vector[ic] + @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] end for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[2].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] + @test 0 == sim.grains[2].contacts[ic] + @test [0., 0.] ≈ sim.grains[2].position_vector[ic] + @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] end -Test.@test 0 == sim.grains[1].n_contacts -Test.@test 0 == sim.grains[2].n_contacts +@test 0 == sim.grains[1].n_contacts +@test 0 == sim.grains[2].n_contacts info("Testing if interact(...) removes contacts correctly") sim = deepcopy(sim_copy) @@ -121,20 +121,20 @@ Granular.findContacts!(sim) Granular.interact!(sim) Granular.findContacts!(sim) -Test.@test 2 == sim.grains[1].contacts[1] -Test.@test [-18., 0.] ≈ sim.grains[1].position_vector[1] +@test 2 == sim.grains[1].contacts[1] +@test [-18., 0.] ≈ sim.grains[1].position_vector[1] for ic=2:sim.Nc_max - Test.@test 0 == sim.grains[1].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] + @test 0 == sim.grains[1].contacts[ic] + @test [0., 0.] ≈ sim.grains[1].position_vector[ic] + @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] end for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[2].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] + @test 0 == sim.grains[2].contacts[ic] + @test [0., 0.] ≈ sim.grains[2].position_vector[ic] + @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] end -Test.@test 1 == sim.grains[1].n_contacts -Test.@test 1 == sim.grains[2].n_contacts +@test 1 == sim.grains[1].n_contacts +@test 1 == sim.grains[2].n_contacts info("Testing findContactsGrid(...)") @@ -143,19 +143,19 @@ sim.ocean = Granular.createRegularOceanGrid([4, 4, 2], [80., 80., 2.]) Granular.sortGrainsInGrid!(sim, sim.ocean) Granular.findContactsInGrid!(sim, sim.ocean) -Test.@test 2 == sim.grains[1].contacts[1] +@test 2 == sim.grains[1].contacts[1] for ic=2:sim.Nc_max - Test.@test 0 == sim.grains[1].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] + @test 0 == sim.grains[1].contacts[ic] + @test [0., 0.] ≈ sim.grains[1].position_vector[ic] + @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] end for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[2].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] + @test 0 == sim.grains[2].contacts[ic] + @test [0., 0.] ≈ sim.grains[2].position_vector[ic] + @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] end -Test.@test 1 == sim.grains[1].n_contacts -Test.@test 1 == sim.grains[2].n_contacts +@test 1 == sim.grains[1].n_contacts +@test 1 == sim.grains[2].n_contacts sim = deepcopy(sim_copy) @@ -164,19 +164,19 @@ sim.grains[1].fixed = true Granular.sortGrainsInGrid!(sim, sim.ocean) Granular.findContactsInGrid!(sim, sim.ocean) -Test.@test 2 == sim.grains[1].contacts[1] +@test 2 == sim.grains[1].contacts[1] for ic=2:sim.Nc_max - Test.@test 0 == sim.grains[1].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] + @test 0 == sim.grains[1].contacts[ic] + @test [0., 0.] ≈ sim.grains[1].position_vector[ic] + @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] end for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[2].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] + @test 0 == sim.grains[2].contacts[ic] + @test [0., 0.] ≈ sim.grains[2].position_vector[ic] + @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] end -Test.@test 1 == sim.grains[1].n_contacts -Test.@test 1 == sim.grains[2].n_contacts +@test 1 == sim.grains[1].n_contacts +@test 1 == sim.grains[2].n_contacts sim = deepcopy(sim_copy) @@ -187,17 +187,17 @@ Granular.sortGrainsInGrid!(sim, sim.ocean) Granular.findContactsInGrid!(sim, sim.ocean) for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[1].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] + @test 0 == sim.grains[1].contacts[ic] + @test [0., 0.] ≈ sim.grains[1].position_vector[ic] + @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] end for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[2].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] + @test 0 == sim.grains[2].contacts[ic] + @test [0., 0.] ≈ sim.grains[2].position_vector[ic] + @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] end -Test.@test 0 == sim.grains[1].n_contacts -Test.@test 0 == sim.grains[2].n_contacts +@test 0 == sim.grains[1].n_contacts +@test 0 == sim.grains[2].n_contacts info("Testing findContacts(...)") sim = deepcopy(sim_copy) @@ -205,21 +205,21 @@ sim.ocean = Granular.createRegularOceanGrid([4, 4, 2], [80., 80., 2.]) Granular.sortGrainsInGrid!(sim, sim.ocean) Granular.findContacts!(sim) -Test.@test 2 == sim.grains[1].contacts[1] +@test 2 == sim.grains[1].contacts[1] for ic=2:sim.Nc_max - Test.@test 0 == sim.grains[1].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] + @test 0 == sim.grains[1].contacts[ic] + @test [0., 0.] ≈ sim.grains[1].position_vector[ic] + @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic] end for ic=1:sim.Nc_max - Test.@test 0 == sim.grains[2].contacts[ic] - Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic] - Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] + @test 0 == sim.grains[2].contacts[ic] + @test [0., 0.] ≈ sim.grains[2].position_vector[ic] + @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic] end -Test.@test 1 == sim.grains[1].n_contacts -Test.@test 1 == sim.grains[2].n_contacts +@test 1 == sim.grains[1].n_contacts +@test 1 == sim.grains[2].n_contacts -Test.@test_throws ErrorException Granular.findContacts!(sim, method="") +@test_throws ErrorException Granular.findContacts!(sim, method="") info("Testing contact registration with multiple contacts") sim = Granular.createSimulation(id="test") @@ -235,32 +235,32 @@ Granular.addGrainCylindrical!(sim, [6., 6.], 1.01, 1., verbose=false) sim.ocean = Granular.createRegularOceanGrid([4, 4, 2], [8., 8., 2.]) Granular.sortGrainsInGrid!(sim, sim.ocean) Granular.findContacts!(sim) -Test.@test 2 == sim.grains[1].n_contacts -Test.@test 3 == sim.grains[2].n_contacts -Test.@test 2 == sim.grains[3].n_contacts -Test.@test 3 == sim.grains[4].n_contacts -Test.@test 4 == sim.grains[5].n_contacts -Test.@test 3 == sim.grains[6].n_contacts -Test.@test 2 == sim.grains[7].n_contacts -Test.@test 3 == sim.grains[8].n_contacts -Test.@test 2 == sim.grains[9].n_contacts +@test 2 == sim.grains[1].n_contacts +@test 3 == sim.grains[2].n_contacts +@test 2 == sim.grains[3].n_contacts +@test 3 == sim.grains[4].n_contacts +@test 4 == sim.grains[5].n_contacts +@test 3 == sim.grains[6].n_contacts +@test 2 == sim.grains[7].n_contacts +@test 3 == sim.grains[8].n_contacts +@test 2 == sim.grains[9].n_contacts Granular.interact!(sim) Granular.interact!(sim) Granular.interact!(sim) Granular.interact!(sim) -Test.@test 2 == sim.grains[1].n_contacts -Test.@test 3 == sim.grains[2].n_contacts -Test.@test 2 == sim.grains[3].n_contacts -Test.@test 3 == sim.grains[4].n_contacts -Test.@test 4 == sim.grains[5].n_contacts -Test.@test 3 == sim.grains[6].n_contacts -Test.@test 2 == sim.grains[7].n_contacts -Test.@test 3 == sim.grains[8].n_contacts -Test.@test 2 == sim.grains[9].n_contacts +@test 2 == sim.grains[1].n_contacts +@test 3 == sim.grains[2].n_contacts +@test 2 == sim.grains[3].n_contacts +@test 3 == sim.grains[4].n_contacts +@test 4 == sim.grains[5].n_contacts +@test 3 == sim.grains[6].n_contacts +@test 2 == sim.grains[7].n_contacts +@test 3 == sim.grains[8].n_contacts +@test 2 == sim.grains[9].n_contacts for i=1:9 sim.grains[i].contact_radius = 0.99 end Granular.interact!(sim) for i=1:9 - Test.@test sim.grains[i].n_contacts == 0 + @test sim.grains[i].n_contacts == 0 end diff --git a/test/grain.jl b/test/grain.jl @@ -10,19 +10,19 @@ Granular.addGrainCylindrical!(sim, [ 0., 0.], 10., 1., verbose=false) Granular.printGrainInfo(sim.grains[1]) info("Testing grain value checks ") -Test.@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1, .1], +@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1, .1], 10., 1.) -Test.@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1], +@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1], 10., 1., lin_vel=[.2,.2,.2]) -Test.@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1], +@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1], 10., 1., lin_acc=[.2,.2,.2]) -Test.@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1], +@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1], 0., 1.) -Test.@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1], +@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1], 10., 1., density=-2.) -Test.@test_throws ErrorException Granular.disableGrain!(sim, 0) +@test_throws ErrorException Granular.disableGrain!(sim, 0) info("Testing grain comparison ") sim = Granular.createSimulation(id="test") @@ -40,18 +40,18 @@ if typeof(Pkg.installed("PyPlot")) == VersionNumber rm("test-grain-size-distribution.png") Granular.plotGrainSizeDistribution(sim, size_type="areal") rm("test-grain-size-distribution.png") - Test.@test_throws ErrorException Granular.plotGrainSizeDistribution(sim, size_type="asdf") + @test_throws ErrorException Granular.plotGrainSizeDistribution(sim, size_type="asdf") else - Test.@test_throws ErrorException Granular.plotGrainSizeDistribution(sim) + @test_throws ErrorException Granular.plotGrainSizeDistribution(sim) end info("Testing external body force routines") sim = Granular.createSimulation(id="test") Granular.addGrainCylindrical!(sim, [ 0., 0.], 10., 1., verbose=false) Granular.setBodyForce!(sim.grains[1], [1., 2.]) -Test.@test sim.grains[1].external_body_force ≈ [1., 2.] +@test sim.grains[1].external_body_force ≈ [1., 2.] Granular.addBodyForce!(sim.grains[1], [1., 2.]) -Test.@test sim.grains[1].external_body_force ≈ [2., 4.] +@test sim.grains[1].external_body_force ≈ [2., 4.] info("Testing zeroKinematics!()") sim.grains[1].force .= ones(2) @@ -61,5 +61,5 @@ sim.grains[1].torque = 1. sim.grains[1].ang_acc = 1. sim.grains[1].ang_vel = 1. Granular.zeroKinematics!(sim) -Test.@test Granular.totalGrainKineticTranslationalEnergy(sim) ≈ 0. -Test.@test Granular.totalGrainKineticRotationalEnergy(sim) ≈ 0. +@test Granular.totalGrainKineticTranslationalEnergy(sim) ≈ 0. +@test Granular.totalGrainKineticRotationalEnergy(sim) ≈ 0. diff --git a/test/grid-boundaries.jl b/test/grid-boundaries.jl @@ -10,10 +10,10 @@ info("## Inactive/Periodic BCs") info("Testing assignment and reporting of grid boundary conditions") ocean = Granular.createEmptyOcean() -Test.@test ocean.bc_west == 1 -Test.@test ocean.bc_east == 1 -Test.@test ocean.bc_north == 1 -Test.@test ocean.bc_south == 1 +@test ocean.bc_west == 1 +@test ocean.bc_east == 1 +@test ocean.bc_north == 1 +@test ocean.bc_south == 1 const originalSTDOUT = STDOUT (out_r, out_w) = redirect_stdout() @@ -21,7 +21,7 @@ Granular.reportGridBoundaryConditions(ocean) close(out_w) redirect_stdout(originalSTDOUT) output = convert(String, readavailable(out_r)) -Test.@test output == """West (-x): inactive\t(1) +@test output == """West (-x): inactive\t(1) East (+x): inactive\t(1) South (-y): inactive\t(1) North (+y): inactive\t(1) @@ -32,77 +32,77 @@ Granular.setGridBoundaryConditions!(ocean, "periodic", "south, west", verbose=tr close(out_w) redirect_stdout(originalSTDOUT) output = convert(String, readavailable(out_r)) -Test.@test output == """West (-x): periodic\t(2) +@test output == """West (-x): periodic\t(2) East (+x): inactive\t(1) South (-y): periodic\t(2) North (+y): inactive\t(1) """ -Test.@test ocean.bc_west == 2 -Test.@test ocean.bc_east == 1 -Test.@test ocean.bc_north == 1 -Test.@test ocean.bc_south == 2 +@test ocean.bc_west == 2 +@test ocean.bc_east == 1 +@test ocean.bc_north == 1 +@test ocean.bc_south == 2 (out_r, out_w) = redirect_stdout() Granular.setGridBoundaryConditions!(ocean, "inactive", "all", verbose=false) close(out_w) redirect_stdout(originalSTDOUT) output = convert(String, readavailable(out_r)) -Test.@test output == "" -Test.@test ocean.bc_west == 1 -Test.@test ocean.bc_east == 1 -Test.@test ocean.bc_north == 1 -Test.@test ocean.bc_south == 1 +@test output == "" +@test ocean.bc_west == 1 +@test ocean.bc_east == 1 +@test ocean.bc_north == 1 +@test ocean.bc_south == 1 (out_r, out_w) = redirect_stdout() Granular.setGridBoundaryConditions!(ocean, "periodic", "all") close(out_w) output = convert(String, readavailable(out_r)) redirect_stdout(originalSTDOUT) -Test.@test output == """West (-x): periodic\t(2) +@test output == """West (-x): periodic\t(2) East (+x): periodic\t(2) South (-y): periodic\t(2) North (+y): periodic\t(2) """ -Test.@test ocean.bc_west == 2 -Test.@test ocean.bc_east == 2 -Test.@test ocean.bc_north == 2 -Test.@test ocean.bc_south == 2 +@test ocean.bc_west == 2 +@test ocean.bc_east == 2 +@test ocean.bc_north == 2 +@test ocean.bc_south == 2 (out_r, out_w) = redirect_stdout() Granular.setGridBoundaryConditions!(ocean, "inactive") close(out_w) output = convert(String, readavailable(out_r)) redirect_stdout(originalSTDOUT) -Test.@test output == """West (-x): inactive\t(1) +@test output == """West (-x): inactive\t(1) East (+x): inactive\t(1) South (-y): inactive\t(1) North (+y): inactive\t(1) """ -Test.@test ocean.bc_west == 1 -Test.@test ocean.bc_east == 1 -Test.@test ocean.bc_north == 1 -Test.@test ocean.bc_south == 1 +@test ocean.bc_west == 1 +@test ocean.bc_east == 1 +@test ocean.bc_north == 1 +@test ocean.bc_south == 1 (out_r, out_w) = redirect_stdout() Granular.setGridBoundaryConditions!(ocean, "periodic") close(out_w) output = convert(String, readavailable(out_r)) redirect_stdout(originalSTDOUT) -Test.@test output == """West (-x): periodic\t(2) +@test output == """West (-x): periodic\t(2) East (+x): periodic\t(2) South (-y): periodic\t(2) North (+y): periodic\t(2) """ -Test.@test ocean.bc_west == 2 -Test.@test ocean.bc_east == 2 -Test.@test ocean.bc_north == 2 -Test.@test ocean.bc_south == 2 +@test ocean.bc_west == 2 +@test ocean.bc_east == 2 +@test ocean.bc_north == 2 +@test ocean.bc_south == 2 -Test.@test_throws ErrorException Granular.setGridBoundaryConditions!(ocean, +@test_throws ErrorException Granular.setGridBoundaryConditions!(ocean, "periodic", "asdf") -Test.@test_throws ErrorException Granular.setGridBoundaryConditions!(ocean, +@test_throws ErrorException Granular.setGridBoundaryConditions!(ocean, "asdf") @@ -114,15 +114,15 @@ Granular.addGrainCylindrical!(sim, [0.1, 0.5], 0.11, 0.1, verbose=false) Granular.addGrainCylindrical!(sim, [0.9, 0.5], 0.11, 0.1, verbose=false) # there should be an error if all-to-all contact search is used -Test.@test_throws ErrorException Granular.findContacts!(sim) -Test.@test_throws ErrorException Granular.findContacts!(sim, method="all to all") -Test.@test_throws ErrorException Granular.findContactsAllToAll!(sim) +@test_throws ErrorException Granular.findContacts!(sim) +@test_throws ErrorException Granular.findContacts!(sim, method="all to all") +@test_throws ErrorException Granular.findContactsAllToAll!(sim) Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=false) Granular.findContacts!(sim, method="ocean grid") -Test.@test 2 == sim.grains[1].contacts[1] -Test.@test 1 == sim.grains[1].n_contacts -Test.@test 1 == sim.grains[2].n_contacts +@test 2 == sim.grains[1].contacts[1] +@test 1 == sim.grains[1].n_contacts +@test 1 == sim.grains[2].n_contacts info("Test grain position adjustment across periodic boundaries") @@ -132,7 +132,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.]) Granular.setGridBoundaryConditions!(sim.ocean, "inactive", verbose=false) Granular.addGrainCylindrical!(sim, [0.1, 0.5], 0.11, 0.1, verbose=false) Granular.moveGrainsAcrossPeriodicBoundaries!(sim) -Test.@test [0.1, 0.5] ≈ sim.grains[1].lin_pos +@test [0.1, 0.5] ≈ sim.grains[1].lin_pos # do not readjust inside grid, periodic boundaries sim = Granular.createSimulation() @@ -140,7 +140,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.]) Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false) Granular.addGrainCylindrical!(sim, [0.1, 0.5], 0.11, 0.1, verbose=false) Granular.moveGrainsAcrossPeriodicBoundaries!(sim) -Test.@test [0.1, 0.5] ≈ sim.grains[1].lin_pos +@test [0.1, 0.5] ≈ sim.grains[1].lin_pos # do not readjust outside grid, inactive boundaries sim = Granular.createSimulation() @@ -148,7 +148,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.]) Granular.setGridBoundaryConditions!(sim.ocean, "inactive", verbose=false) Granular.addGrainCylindrical!(sim, [-0.1, 0.5], 0.11, 0.1, verbose=false) Granular.moveGrainsAcrossPeriodicBoundaries!(sim) -Test.@test [-0.1, 0.5] ≈ sim.grains[1].lin_pos +@test [-0.1, 0.5] ≈ sim.grains[1].lin_pos # readjust outside grid, periodic boundaries, -x sim = Granular.createSimulation() @@ -156,7 +156,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.]) Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false) Granular.addGrainCylindrical!(sim, [-0.1, 0.5], 0.11, 0.1, verbose=false) Granular.moveGrainsAcrossPeriodicBoundaries!(sim) -Test.@test [0.9, 0.5] ≈ sim.grains[1].lin_pos +@test [0.9, 0.5] ≈ sim.grains[1].lin_pos # readjust outside grid, periodic boundaries, +x sim = Granular.createSimulation() @@ -164,7 +164,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.]) Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false) Granular.addGrainCylindrical!(sim, [1.1, 0.5], 0.11, 0.1, verbose=false) Granular.moveGrainsAcrossPeriodicBoundaries!(sim) -Test.@test [0.1, 0.5] ≈ sim.grains[1].lin_pos +@test [0.1, 0.5] ≈ sim.grains[1].lin_pos # readjust outside grid, periodic boundaries, -y sim = Granular.createSimulation() @@ -172,7 +172,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.]) Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false) Granular.addGrainCylindrical!(sim, [0.3, -0.1], 0.11, 0.1, verbose=false) Granular.moveGrainsAcrossPeriodicBoundaries!(sim) -Test.@test [0.3, 0.9] ≈ sim.grains[1].lin_pos +@test [0.3, 0.9] ≈ sim.grains[1].lin_pos # readjust outside grid, periodic boundaries, +y sim = Granular.createSimulation() @@ -180,7 +180,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.]) Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false) Granular.addGrainCylindrical!(sim, [0.3, 1.1], 0.11, 0.1, verbose=false) Granular.moveGrainsAcrossPeriodicBoundaries!(sim) -Test.@test [0.3, 0.1] ≈ sim.grains[1].lin_pos +@test [0.3, 0.1] ≈ sim.grains[1].lin_pos # throw error if atmosphere and ocean BCs differ sim = Granular.createSimulation() @@ -188,7 +188,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.]) sim.atmosphere = Granular.createRegularAtmosphereGrid([5, 5, 2], [1., 1., 1.]) Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false) Granular.addGrainCylindrical!(sim, [0.3, 1.1], 0.11, 0.1, verbose=false) -Test.@test_throws ErrorException Granular.moveGrainsAcrossPeriodicBoundaries!(sim) +@test_throws ErrorException Granular.moveGrainsAcrossPeriodicBoundaries!(sim) info("## Impermeable BCs") @@ -200,4 +200,4 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.]) Granular.setGridBoundaryConditions!(sim.ocean, "inactive", verbose=false) Granular.addGrainCylindrical!(sim, [0.1, 0.5], 0.11, 0.1, verbose=false) Granular.moveGrainsAcrossPeriodicBoundaries!(sim) -Test.@test [0.1, 0.5] ≈ sim.grains[1].lin_pos +@test [0.1, 0.5] ≈ sim.grains[1].lin_pos diff --git a/test/grid.jl b/test/grid.jl @@ -10,76 +10,76 @@ ocean = Granular.readOceanNetCDF("Baltic/00010101.ocean_month.nc", info("Testing coordinate retrieval functions") sw, se, ne, nw = Granular.getCellCornerCoordinates(ocean.xq, ocean.yq, 1, 1) -Test.@test sw ≈ [6., 53.] -Test.@test se ≈ [7., 53.] -Test.@test ne ≈ [7., 54.] -Test.@test nw ≈ [6., 54.] -Test.@test Granular.getCellCenterCoordinates(ocean.xh, ocean.yh, 1, 1) ≈ [6.5, 53.5] +@test sw ≈ [6., 53.] +@test se ≈ [7., 53.] +@test ne ≈ [7., 54.] +@test nw ≈ [6., 54.] +@test Granular.getCellCenterCoordinates(ocean.xh, ocean.yh, 1, 1) ≈ [6.5, 53.5] info("Testing area-determination methods") -Test.@test Granular.areaOfTriangle([0., 0.], [1., 0.], [0., 1.]) ≈ .5 -Test.@test Granular.areaOfTriangle([1., 0.], [0., 1.], [0., 0.]) ≈ .5 -Test.@test Granular.areaOfQuadrilateral([1., 0.], [0., 1.], [0., 0.], [1., 1.]) ≈ 1. +@test Granular.areaOfTriangle([0., 0.], [1., 0.], [0., 1.]) ≈ .5 +@test Granular.areaOfTriangle([1., 0.], [0., 1.], [0., 0.]) ≈ .5 +@test Granular.areaOfQuadrilateral([1., 0.], [0., 1.], [0., 0.], [1., 1.]) ≈ 1. info("Testing area-based cell content determination") -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.5, 53.5], sw, se, ne, nw) == true -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.5, 53.5]) == true -Test.@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.5, 53.5]) ≈ +@test Granular.isPointInCell(ocean, 1, 1, [6.5, 53.5], sw, se, ne, nw) == true +@test Granular.isPointInCell(ocean, 1, 1, [6.5, 53.5]) == true +@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.5, 53.5]) ≈ [.5, .5] -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.5], sw, se, ne, nw) == true -Test.@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.1, 53.5]) ≈ +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.5], sw, se, ne, nw) == true +@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.1, 53.5]) ≈ [.1, .5] -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.0, 53.5], sw, se, ne, nw) == true -Test.@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.0, 53.5]) ≈ +@test Granular.isPointInCell(ocean, 1, 1, [6.0, 53.5], sw, se, ne, nw) == true +@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.0, 53.5]) ≈ [.0, .5] -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.7], sw, se, ne, nw) == true -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.9], sw, se, ne, nw) == true -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.99999], sw, se, ne, nw) == true -Test.@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.1, 53.99999]) ≈ +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.7], sw, se, ne, nw) == true +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.9], sw, se, ne, nw) == true +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.99999], sw, se, ne, nw) == true +@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.1, 53.99999]) ≈ [.1, .99999] -Test.@test Granular.isPointInCell(ocean, 1, 1, [7.5, 53.5], sw, se, ne, nw) == false -Test.@test Granular.isPointInCell(ocean, 1, 1, [0.0, 53.5], sw, se, ne, nw) == false +@test Granular.isPointInCell(ocean, 1, 1, [7.5, 53.5], sw, se, ne, nw) == false +@test Granular.isPointInCell(ocean, 1, 1, [0.0, 53.5], sw, se, ne, nw) == false x_tilde, _ = Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [0., 53.5]) -Test.@test x_tilde < 0. +@test x_tilde < 0. info("Testing conformal mapping methods") -Test.@test Granular.conformalQuadrilateralCoordinates([0., 0.], +@test Granular.conformalQuadrilateralCoordinates([0., 0.], [5., 0.], [5., 3.], [0., 3.], [2.5, 1.5]) ≈ [0.5, 0.5] -Test.@test Granular.conformalQuadrilateralCoordinates([0., 0.], +@test Granular.conformalQuadrilateralCoordinates([0., 0.], [5., 0.], [5., 3.], [0., 3.], [7.5, 1.5]) ≈ [1.5, 0.5] -Test.@test Granular.conformalQuadrilateralCoordinates([0., 0.], +@test Granular.conformalQuadrilateralCoordinates([0., 0.], [5., 0.], [5., 3.], [0., 3.], [7.5,-1.5]) ≈ [1.5,-0.5] -Test.@test_throws ErrorException Granular.conformalQuadrilateralCoordinates([0., 0.], +@test_throws ErrorException Granular.conformalQuadrilateralCoordinates([0., 0.], [5., 3.], [0., 3.], [5., 0.], [7.5,-1.5]) info("Checking cell content using conformal mapping methods") -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.4, 53.4], sw, se, ne, nw, +@test Granular.isPointInCell(ocean, 1, 1, [6.4, 53.4], sw, se, ne, nw, method="Conformal") == true -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.5], sw, se, ne, nw, +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.5], sw, se, ne, nw, method="Conformal") == true -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.0, 53.5], sw, se, ne, nw, +@test Granular.isPointInCell(ocean, 1, 1, [6.0, 53.5], sw, se, ne, nw, method="Conformal") == true -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.7], sw, se, ne, nw, +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.7], sw, se, ne, nw, method="Conformal") == true -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.9], sw, se, ne, nw, +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.9], sw, se, ne, nw, method="Conformal") == true -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.99999], sw, se, ne, nw, +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.99999], sw, se, ne, nw, method="Conformal") == true -Test.@test Granular.isPointInCell(ocean, 1, 1, [7.5, 53.5], sw, se, ne, nw, +@test Granular.isPointInCell(ocean, 1, 1, [7.5, 53.5], sw, se, ne, nw, method="Conformal") == false -Test.@test Granular.isPointInCell(ocean, 1, 1, [0.0, 53.5], sw, se, ne, nw, +@test Granular.isPointInCell(ocean, 1, 1, [0.0, 53.5], sw, se, ne, nw, method="Conformal") == false info("Testing bilinear interpolation scheme on conformal mapping") @@ -92,36 +92,36 @@ Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1], .5, .5, 1, 1) @time Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1], .5, .5, 1, 1) -Test.@test val[1] ≈ .5 -Test.@test val[2] ≈ .5 +@test val[1] ≈ .5 +@test val[2] ≈ .5 Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1], 1., 1., 1, 1) -Test.@test val[1] ≈ .0 -Test.@test val[2] ≈ .0 +@test val[1] ≈ .0 +@test val[2] ≈ .0 Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1], 0., 0., 1, 1) -Test.@test val[1] ≈ 1. -Test.@test val[2] ≈ 1. +@test val[1] ≈ 1. +@test val[2] ≈ 1. Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1], .25, .25, 1, 1) -Test.@test val[1] ≈ .75 -Test.@test val[2] ≈ .75 +@test val[1] ≈ .75 +@test val[2] ≈ .75 Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1], .75, .75, 1, 1) -Test.@test val[1] ≈ .25 -Test.@test val[2] ≈ .25 +@test val[1] ≈ .25 +@test val[2] ≈ .25 info("Testing cell binning - Area-based approach") -Test.@test Granular.findCellContainingPoint(ocean, [6.2,53.4], method="Area") == (1, 1) -Test.@test Granular.findCellContainingPoint(ocean, [7.2,53.4], method="Area") == (2, 1) -Test.@test Granular.findCellContainingPoint(ocean, [0.2,53.4], method="Area") == (0, 0) +@test Granular.findCellContainingPoint(ocean, [6.2,53.4], method="Area") == (1, 1) +@test Granular.findCellContainingPoint(ocean, [7.2,53.4], method="Area") == (2, 1) +@test Granular.findCellContainingPoint(ocean, [0.2,53.4], method="Area") == (0, 0) info("Testing cell binning - Conformal mapping") -Test.@test Granular.findCellContainingPoint(ocean, [6.2,53.4], method="Conformal") == +@test Granular.findCellContainingPoint(ocean, [6.2,53.4], method="Conformal") == (1, 1) -Test.@test Granular.findCellContainingPoint(ocean, [7.2,53.4], method="Conformal") == +@test Granular.findCellContainingPoint(ocean, [7.2,53.4], method="Conformal") == (2, 1) -Test.@test Granular.findCellContainingPoint(ocean, [0.2, 53.4], method="Conformal") == +@test Granular.findCellContainingPoint(ocean, [0.2, 53.4], method="Conformal") == (0, 0) sim = Granular.createSimulation() @@ -131,11 +131,11 @@ Granular.addGrainCylindrical!(sim, [6.5, 53.5], 10., 1., verbose=verbose) Granular.addGrainCylindrical!(sim, [6.6, 53.5], 10., 1., verbose=verbose) Granular.addGrainCylindrical!(sim, [7.5, 53.5], 10., 1., verbose=verbose) Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose) -Test.@test sim.grains[1].ocean_grid_pos == [1, 1] -Test.@test sim.grains[2].ocean_grid_pos == [1, 1] -Test.@test sim.grains[3].ocean_grid_pos == [2, 1] -Test.@test sim.ocean.grain_list[1, 1] == [1, 2] -Test.@test sim.ocean.grain_list[2, 1] == [3] +@test sim.grains[1].ocean_grid_pos == [1, 1] +@test sim.grains[2].ocean_grid_pos == [1, 1] +@test sim.grains[3].ocean_grid_pos == [2, 1] +@test sim.ocean.grain_list[1, 1] == [1, 2] +@test sim.ocean.grain_list[2, 1] == [3] info("Testing ocean drag") sim = Granular.createSimulation() @@ -146,10 +146,10 @@ Granular.addGrainCylindrical!(sim, [2.6, 2.5], 1., 1., verbose=verbose) Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose) sim.time = ocean.time[1] Granular.addOceanDrag!(sim) -Test.@test sim.grains[1].force[1] > 0. -Test.@test sim.grains[1].force[2] ≈ 0. -Test.@test sim.grains[2].force[1] > 0. -Test.@test sim.grains[2].force[2] ≈ 0. +@test sim.grains[1].force[1] > 0. +@test sim.grains[1].force[2] ≈ 0. +@test sim.grains[2].force[1] > 0. +@test sim.grains[2].force[2] ≈ 0. sim.ocean.u[:,:,1,1] = -5. sim.ocean.v[:,:,1,1] = 5. Granular.addGrainCylindrical!(sim, [2.5, 3.5], 1., 1., verbose=verbose) @@ -157,10 +157,10 @@ Granular.addGrainCylindrical!(sim, [2.6, 2.5], 1., 1., verbose=verbose) Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose) sim.time = ocean.time[1] Granular.addOceanDrag!(sim) -Test.@test sim.grains[1].force[1] < 0. -Test.@test sim.grains[1].force[2] > 0. -Test.@test sim.grains[2].force[1] < 0. -Test.@test sim.grains[2].force[2] > 0. +@test sim.grains[1].force[1] < 0. +@test sim.grains[1].force[2] > 0. +@test sim.grains[2].force[1] < 0. +@test sim.grains[2].force[2] > 0. info("Testing curl function") ocean.u[1, 1, 1, 1] = 1.0 @@ -172,14 +172,14 @@ sw = Vector{Float64}(2) se = Vector{Float64}(2) ne = Vector{Float64}(2) nw = Vector{Float64}(2) -Test.@test Granular.curl(ocean, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) > 0. +@test Granular.curl(ocean, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) > 0. ocean.u[1, 1, 1, 1] = 0.0 ocean.u[2, 1, 1, 1] = 0.0 ocean.u[2, 2, 1, 1] = 1.0 ocean.u[1, 2, 1, 1] = 1.0 ocean.v[:, :, 1, 1] = 0.0 -Test.@test Granular.curl(ocean, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) < 0. +@test Granular.curl(ocean, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) < 0. info("Testing atmosphere drag") sim = Granular.createSimulation() @@ -191,10 +191,10 @@ Granular.addGrainCylindrical!(sim, [2.6, 2.5], 1., 1., verbose=verbose) Granular.sortGrainsInGrid!(sim, sim.atmosphere, verbose=verbose) sim.time = ocean.time[1] Granular.addAtmosphereDrag!(sim) -Test.@test sim.grains[1].force[1] > 0. -Test.@test sim.grains[1].force[2] ≈ 0. -Test.@test sim.grains[2].force[1] > 0. -Test.@test sim.grains[2].force[2] ≈ 0. +@test sim.grains[1].force[1] > 0. +@test sim.grains[1].force[2] ≈ 0. +@test sim.grains[2].force[1] > 0. +@test sim.grains[2].force[2] ≈ 0. sim.atmosphere.u[:,:,1,1] = -5. sim.atmosphere.v[:,:,1,1] = 5. Granular.addGrainCylindrical!(sim, [2.5, 3.5], 1., 1., verbose=verbose) @@ -202,10 +202,10 @@ Granular.addGrainCylindrical!(sim, [2.6, 2.5], 1., 1., verbose=verbose) Granular.sortGrainsInGrid!(sim, sim.atmosphere, verbose=verbose) sim.time = ocean.time[1] Granular.addAtmosphereDrag!(sim) -Test.@test sim.grains[1].force[1] < 0. -Test.@test sim.grains[1].force[2] > 0. -Test.@test sim.grains[2].force[1] < 0. -Test.@test sim.grains[2].force[2] > 0. +@test sim.grains[1].force[1] < 0. +@test sim.grains[1].force[2] > 0. +@test sim.grains[2].force[1] < 0. +@test sim.grains[2].force[2] > 0. info("Testing curl function") atmosphere.u[1, 1, 1, 1] = 1.0 @@ -213,16 +213,16 @@ atmosphere.u[2, 1, 1, 1] = 1.0 atmosphere.u[2, 2, 1, 1] = 0.0 atmosphere.u[1, 2, 1, 1] = 0.0 atmosphere.v[:, :, 1, 1] = 0.0 -Test.@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1) > 0. -Test.@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) > 0. +@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1) > 0. +@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) > 0. atmosphere.u[1, 1, 1, 1] = 0.0 atmosphere.u[2, 1, 1, 1] = 0.0 atmosphere.u[2, 2, 1, 1] = 1.0 atmosphere.u[1, 2, 1, 1] = 1.0 atmosphere.v[:, :, 1, 1] = 0.0 -Test.@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1) < 0. -Test.@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) < 0. +@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1) < 0. +@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) < 0. info("Testing findEmptyPositionInGridCell") @@ -232,8 +232,8 @@ sim.ocean = Granular.createRegularOceanGrid([4, 4, 2], [4., 4., 2.]) Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose) pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 1, 1, 0.5, verbose=true) -Test.@test pos != false -Test.@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true +@test pos != false +@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true info("# Insert into cell with one other ice floe") sim = Granular.createSimulation() @@ -242,8 +242,8 @@ Granular.addGrainCylindrical!(sim, [.25, .25], .25, 1., verbose=verbose) Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose) pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 1, 1, .25, verbose=true) -Test.@test pos != false -Test.@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true +@test pos != false +@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true info("# Insert into cell with two other grains") sim = Granular.createSimulation() @@ -253,8 +253,8 @@ Granular.addGrainCylindrical!(sim, [.75, .75], .25, 1., verbose=verbose) Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose) pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 1, 1, .25, verbose=true) -Test.@test pos != false -Test.@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true +@test pos != false +@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true info("# Insert into full cell") sim = Granular.createSimulation() @@ -266,7 +266,7 @@ Granular.addGrainCylindrical!(sim, [.75, .75], 1., 1., verbose=verbose) Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose) pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 1, 1, 0.5, verbose=false) -Test.@test pos == false +@test pos == false info("# Insert into empty cell") sim = Granular.createSimulation() @@ -274,8 +274,8 @@ sim.ocean = Granular.createRegularOceanGrid([4, 4, 2], [4., 4., 2.]) Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose) pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 2, 2, 0.5, verbose=true) -Test.@test pos != false -Test.@test Granular.isPointInCell(sim.ocean, 2, 2, pos) == true +@test pos != false +@test Granular.isPointInCell(sim.ocean, 2, 2, pos) == true info("# Insert into full cell") sim = Granular.createSimulation() @@ -287,7 +287,7 @@ Granular.addGrainCylindrical!(sim, [1.75, 1.75], 1., 1., verbose=verbose) Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose) pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 2, 2, 0.5, verbose=false) -Test.@test pos == false +@test pos == false info("Test default sorting with ocean/atmosphere grids") sim = Granular.createSimulation() @@ -300,19 +300,19 @@ Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose) Granular.setTimeStep!(sim) Granular.setTotalTime!(sim, 1.0) Granular.run!(sim, single_step=true, verbose=verbose) -Test.@test sim.atmosphere.collocated_with_ocean_grid == false -Test.@test sim.grains[1].ocean_grid_pos == [1, 1] -Test.@test sim.grains[2].ocean_grid_pos == [1, 1] -Test.@test sim.grains[3].ocean_grid_pos == [3, 3] -Test.@test sim.ocean.grain_list[1, 1] == [1, 2] -Test.@test sim.ocean.grain_list[2, 2] == [] -Test.@test sim.ocean.grain_list[3, 3] == [3] -Test.@test sim.grains[1].atmosphere_grid_pos == [1, 1] -Test.@test sim.grains[2].atmosphere_grid_pos == [1, 1] -Test.@test sim.grains[3].atmosphere_grid_pos == [3, 3] -Test.@test sim.atmosphere.grain_list[1, 1] == [1, 2] -Test.@test sim.atmosphere.grain_list[2, 2] == [] -Test.@test sim.atmosphere.grain_list[3, 3] == [3] +@test sim.atmosphere.collocated_with_ocean_grid == false +@test sim.grains[1].ocean_grid_pos == [1, 1] +@test sim.grains[2].ocean_grid_pos == [1, 1] +@test sim.grains[3].ocean_grid_pos == [3, 3] +@test sim.ocean.grain_list[1, 1] == [1, 2] +@test sim.ocean.grain_list[2, 2] == [] +@test sim.ocean.grain_list[3, 3] == [3] +@test sim.grains[1].atmosphere_grid_pos == [1, 1] +@test sim.grains[2].atmosphere_grid_pos == [1, 1] +@test sim.grains[3].atmosphere_grid_pos == [3, 3] +@test sim.atmosphere.grain_list[1, 1] == [1, 2] +@test sim.atmosphere.grain_list[2, 2] == [] +@test sim.atmosphere.grain_list[3, 3] == [3] info("Test optimization when ocean/atmosphere grids are collocated") sim = Granular.createSimulation() @@ -325,77 +325,77 @@ Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose) Granular.setTimeStep!(sim) Granular.setTotalTime!(sim, 1.0) Granular.run!(sim, single_step=true, verbose=false) -Test.@test sim.atmosphere.collocated_with_ocean_grid == true -Test.@test sim.grains[1].ocean_grid_pos == [1, 1] -Test.@test sim.grains[2].ocean_grid_pos == [1, 1] -Test.@test sim.grains[3].ocean_grid_pos == [3, 3] -Test.@test sim.ocean.grain_list[1, 1] == [1, 2] -Test.@test sim.ocean.grain_list[2, 2] == [] -Test.@test sim.ocean.grain_list[3, 3] == [3] -Test.@test sim.grains[1].atmosphere_grid_pos == [1, 1] -Test.@test sim.grains[2].atmosphere_grid_pos == [1, 1] -Test.@test sim.grains[3].atmosphere_grid_pos == [3, 3] -Test.@test sim.atmosphere.grain_list[1, 1] == [1, 2] -Test.@test sim.atmosphere.grain_list[2, 2] == [] -Test.@test sim.atmosphere.grain_list[3, 3] == [3] +@test sim.atmosphere.collocated_with_ocean_grid == true +@test sim.grains[1].ocean_grid_pos == [1, 1] +@test sim.grains[2].ocean_grid_pos == [1, 1] +@test sim.grains[3].ocean_grid_pos == [3, 3] +@test sim.ocean.grain_list[1, 1] == [1, 2] +@test sim.ocean.grain_list[2, 2] == [] +@test sim.ocean.grain_list[3, 3] == [3] +@test sim.grains[1].atmosphere_grid_pos == [1, 1] +@test sim.grains[2].atmosphere_grid_pos == [1, 1] +@test sim.grains[3].atmosphere_grid_pos == [3, 3] +@test sim.atmosphere.grain_list[1, 1] == [1, 2] +@test sim.atmosphere.grain_list[2, 2] == [] +@test sim.atmosphere.grain_list[3, 3] == [3] info("Testing automatic grid-size adjustment") # ocean grid sim = Granular.createSimulation() -Test.@test_throws ErrorException Granular.fitGridToGrains!(sim, sim.ocean) +@test_throws ErrorException Granular.fitGridToGrains!(sim, sim.ocean) sim = Granular.createSimulation() Granular.addGrainCylindrical!(sim, [0.0, 1.5], .5, 1., verbose=verbose) Granular.addGrainCylindrical!(sim, [2.5, 5.5], 1., 1., verbose=verbose) Granular.fitGridToGrains!(sim, sim.ocean, verbose=true) -Test.@test sim.ocean.xq[1,1] ≈ -.5 -Test.@test sim.ocean.yq[1,1] ≈ 1.0 -Test.@test sim.ocean.xq[end,end] ≈ 3.5 -Test.@test sim.ocean.yq[end,end] ≈ 6.5 +@test sim.ocean.xq[1,1] ≈ -.5 +@test sim.ocean.yq[1,1] ≈ 1.0 +@test sim.ocean.xq[end,end] ≈ 3.5 +@test sim.ocean.yq[end,end] ≈ 6.5 sim = Granular.createSimulation() Granular.addGrainCylindrical!(sim, [0.5, 1.5], .5, 1., verbose=verbose) Granular.addGrainCylindrical!(sim, [2.5, 4.5], .5, 1., verbose=verbose) Granular.fitGridToGrains!(sim, sim.ocean, verbose=true) -Test.@test sim.ocean.xq[1,1] ≈ 0. -Test.@test sim.ocean.yq[1,1] ≈ 1. -Test.@test sim.ocean.xq[end,end] ≈ 3. -Test.@test sim.ocean.yq[end,end] ≈ 5. +@test sim.ocean.xq[1,1] ≈ 0. +@test sim.ocean.yq[1,1] ≈ 1. +@test sim.ocean.xq[end,end] ≈ 3. +@test sim.ocean.yq[end,end] ≈ 5. sim = Granular.createSimulation() Granular.addGrainCylindrical!(sim, [0.5, 0.0], .5, 1., verbose=verbose) Granular.addGrainCylindrical!(sim, [2.0, 4.0], 1., 1., verbose=verbose) Granular.fitGridToGrains!(sim, sim.ocean, padding=.5, verbose=true) -Test.@test sim.ocean.xq[1,1] ≈ -.5 -Test.@test sim.ocean.yq[1,1] ≈ -1. -Test.@test sim.ocean.xq[end,end] ≈ 3.5 -Test.@test sim.ocean.yq[end,end] ≈ 5.5 +@test sim.ocean.xq[1,1] ≈ -.5 +@test sim.ocean.yq[1,1] ≈ -1. +@test sim.ocean.xq[end,end] ≈ 3.5 +@test sim.ocean.yq[end,end] ≈ 5.5 # atmosphere grid sim = Granular.createSimulation() -Test.@test_throws ErrorException Granular.fitGridToGrains!(sim, sim.atmosphere) +@test_throws ErrorException Granular.fitGridToGrains!(sim, sim.atmosphere) sim = Granular.createSimulation() Granular.addGrainCylindrical!(sim, [0.0, 1.5], .5, 1., verbose=verbose) Granular.addGrainCylindrical!(sim, [2.5, 5.5], 1., 1., verbose=verbose) Granular.fitGridToGrains!(sim, sim.atmosphere, verbose=true) -Test.@test sim.atmosphere.xq[1,1] ≈ -.5 -Test.@test sim.atmosphere.yq[1,1] ≈ 1.0 -Test.@test sim.atmosphere.xq[end,end] ≈ 3.5 -Test.@test sim.atmosphere.yq[end,end] ≈ 6.5 +@test sim.atmosphere.xq[1,1] ≈ -.5 +@test sim.atmosphere.yq[1,1] ≈ 1.0 +@test sim.atmosphere.xq[end,end] ≈ 3.5 +@test sim.atmosphere.yq[end,end] ≈ 6.5 sim = Granular.createSimulation() Granular.addGrainCylindrical!(sim, [0.5, 1.5], .5, 1., verbose=verbose) Granular.addGrainCylindrical!(sim, [2.5, 4.5], .5, 1., verbose=verbose) Granular.fitGridToGrains!(sim, sim.atmosphere, verbose=true) -Test.@test sim.atmosphere.xq[1,1] ≈ 0. -Test.@test sim.atmosphere.yq[1,1] ≈ 1. -Test.@test sim.atmosphere.xq[end,end] ≈ 3. -Test.@test sim.atmosphere.yq[end,end] ≈ 5. +@test sim.atmosphere.xq[1,1] ≈ 0. +@test sim.atmosphere.yq[1,1] ≈ 1. +@test sim.atmosphere.xq[end,end] ≈ 3. +@test sim.atmosphere.yq[end,end] ≈ 5. sim = Granular.createSimulation() Granular.addGrainCylindrical!(sim, [0.5, 0.0], .5, 1., verbose=verbose) Granular.addGrainCylindrical!(sim, [2.0, 4.0], 1., 1., verbose=verbose) Granular.fitGridToGrains!(sim, sim.atmosphere, padding=.5, verbose=true) -Test.@test sim.atmosphere.xq[1,1] ≈ -.5 -Test.@test sim.atmosphere.yq[1,1] ≈ -1. -Test.@test sim.atmosphere.xq[end,end] ≈ 3.5 -Test.@test sim.atmosphere.yq[end,end] ≈ 5.5 +@test sim.atmosphere.xq[1,1] ≈ -.5 +@test sim.atmosphere.yq[1,1] ≈ -1. +@test sim.atmosphere.xq[end,end] ≈ 3.5 +@test sim.atmosphere.yq[end,end] ≈ 5.5 diff --git a/test/memory-management.jl b/test/memory-management.jl @@ -8,8 +8,8 @@ sim = Granular.createSimulation() empty_sim_size = 96 empty_sim_size_recursive = 544 -Test.@test sizeof(sim) == empty_sim_size -Test.@test Base.summarysize(sim) == empty_sim_size_recursive +@test sizeof(sim) == empty_sim_size +@test Base.summarysize(sim) == empty_sim_size_recursive size_per_grain = 368 size_per_grain_recursive = 1552 @@ -18,34 +18,34 @@ info("Testing memory usage when adding grains") for i=1:100 Granular.addGrainCylindrical!(sim, [1., 1.], 1., 1., verbose=false) - Test.@test sizeof(sim) == empty_sim_size + @test sizeof(sim) == empty_sim_size - Test.@test sizeof(sim.grains[i]) == size_per_grain - Test.@test Base.summarysize(sim.grains[i]) == size_per_grain_recursive + @test sizeof(sim.grains[i]) == size_per_grain + @test Base.summarysize(sim.grains[i]) == size_per_grain_recursive - Test.@test sizeof(sim.grains) == sizeof(Int)*i - Test.@test sizeof(sim.grains[:]) == sizeof(Int)*i - Test.@test Base.summarysize(sim.grains) == size_per_grain_recursive*i + + @test sizeof(sim.grains) == sizeof(Int)*i + @test sizeof(sim.grains[:]) == sizeof(Int)*i + @test Base.summarysize(sim.grains) == size_per_grain_recursive*i + sizeof(Int)*i - Test.@test Base.summarysize(sim) == empty_sim_size_recursive + sizeof(Int)*i + + @test Base.summarysize(sim) == empty_sim_size_recursive + sizeof(Int)*i + size_per_grain_recursive*i - Test.@test Base.summarysize(sim.grains[i]) == size_per_grain_recursive + @test Base.summarysize(sim.grains[i]) == size_per_grain_recursive end info("Checking memory footprint when overwriting simulation object") sim = Granular.createSimulation() -Test.@test sizeof(sim) == empty_sim_size -Test.@test Base.summarysize(sim) == empty_sim_size_recursive +@test sizeof(sim) == empty_sim_size +@test Base.summarysize(sim) == empty_sim_size_recursive info("Check memory usage when stepping time for empty simulation object") sim = Granular.createSimulation() sim.time_step = 1.0 for i=1:10 Granular.run!(sim, single_step=true, verbose=false) - Test.@test sizeof(sim) == empty_sim_size - Test.@test Base.summarysize(sim) == empty_sim_size_recursive + @test sizeof(sim) == empty_sim_size + @test Base.summarysize(sim) == empty_sim_size_recursive end info("Check memory when stepping time with single ice floe") @@ -54,8 +54,8 @@ Granular.addGrainCylindrical!(sim, [1., 1.], 1., 1., verbose=false) sim.time_step = 1.0 for i=1:10 Granular.run!(sim, single_step=true, verbose=false) - Test.@test sizeof(sim) == empty_sim_size - Test.@test Base.summarysize(sim) == empty_sim_size_recursive + + @test sizeof(sim) == empty_sim_size + @test Base.summarysize(sim) == empty_sim_size_recursive + sizeof(Int)*length(sim.grains) + size_per_grain_recursive*length(sim.grains) end @@ -67,8 +67,8 @@ Granular.addGrainCylindrical!(sim, [1., 1.], 3., 1., verbose=false) sim.time_step = 1.0 for i=1:10 Granular.run!(sim, single_step=true, verbose=false) - Test.@test sizeof(sim) == empty_sim_size - Test.@test Base.summarysize(sim) == empty_sim_size_recursive + + @test sizeof(sim) == empty_sim_size + @test Base.summarysize(sim) == empty_sim_size_recursive + sizeof(Int)*length(sim.grains) + size_per_grain_recursive*length(sim.grains) end @@ -80,8 +80,8 @@ Granular.addGrainCylindrical!(sim, [1., 1.], 1.9, 1., verbose=false) sim.time_step = 1.0 for i=1:10 Granular.run!(sim, single_step=true, verbose=false) - Test.@test sizeof(sim) == empty_sim_size - Test.@test Base.summarysize(sim) == empty_sim_size_recursive + + @test sizeof(sim) == empty_sim_size + @test Base.summarysize(sim) == empty_sim_size_recursive + sizeof(Int)*length(sim.grains) + size_per_grain_recursive*length(sim.grains) end @@ -97,7 +97,7 @@ Granular.run!(sim, single_step=true, verbose=false) original_size_recursive = Base.summarysize(sim) for i=1:10 Granular.run!(sim, single_step=true, verbose=false) - Test.@test Base.summarysize(sim) == original_size_recursive + @test Base.summarysize(sim) == original_size_recursive end info("Checking if memory is freed after ended collision (all to all)") @@ -109,7 +109,7 @@ Granular.setTotalTime!(sim, 10.0) Granular.setTimeStep!(sim, epsilon=0.07, verbose=false) original_size_recursive = Base.summarysize(sim) Granular.run!(sim, verbose=false) -Test.@test Base.summarysize(sim) == original_size_recursive +@test Base.summarysize(sim) == original_size_recursive info("Checking if memory is freed after ended collision (cell sorting)") sim = Granular.createSimulation(id="test") @@ -125,10 +125,10 @@ original_grains_size_recursive = Base.summarysize(sim.grains) original_ocean_size_recursive = Base.summarysize(sim.ocean) original_atmosphere_size_recursive = Base.summarysize(sim.atmosphere) Granular.run!(sim, verbose=false) -Test.@test Base.summarysize(sim.grains) == original_grains_size_recursive -Test.@test Base.summarysize(sim.ocean) == original_ocean_size_recursive -Test.@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive -Test.@test Base.summarysize(sim) == original_sim_size_recursive +@test Base.summarysize(sim.grains) == original_grains_size_recursive +@test Base.summarysize(sim.ocean) == original_ocean_size_recursive +@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive +@test Base.summarysize(sim) == original_sim_size_recursive sim = Granular.createSimulation(id="test") Granular.addGrainCylindrical!(sim, [0., 0.], 10., 1., verbose=false) @@ -143,10 +143,10 @@ original_grains_size_recursive = Base.summarysize(sim.grains) original_ocean_size_recursive = Base.summarysize(sim.ocean) original_atmosphere_size_recursive = Base.summarysize(sim.atmosphere) Granular.run!(sim, verbose=false) -Test.@test Base.summarysize(sim.grains) == original_grains_size_recursive -Test.@test Base.summarysize(sim.ocean) == original_ocean_size_recursive -Test.@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive -Test.@test Base.summarysize(sim) == original_sim_size_recursive +@test Base.summarysize(sim.grains) == original_grains_size_recursive +@test Base.summarysize(sim.ocean) == original_ocean_size_recursive +@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive +@test Base.summarysize(sim) == original_sim_size_recursive sim = Granular.createSimulation(id="test") Granular.addGrainCylindrical!(sim, [0., 0.], 10., 1., verbose=false) @@ -162,9 +162,9 @@ original_grains_size_recursive = Base.summarysize(sim.grains) original_ocean_size_recursive = Base.summarysize(sim.ocean) original_atmosphere_size_recursive = Base.summarysize(sim.atmosphere) Granular.run!(sim, verbose=false) -Test.@test Base.summarysize(sim.grains) == original_grains_size_recursive -Test.@test Base.summarysize(sim.ocean) == original_ocean_size_recursive -Test.@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive -Test.@test Base.summarysize(sim) == original_sim_size_recursive +@test Base.summarysize(sim.grains) == original_grains_size_recursive +@test Base.summarysize(sim.ocean) == original_ocean_size_recursive +@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive +@test Base.summarysize(sim) == original_sim_size_recursive Granular.printMemoryUsage(sim) diff --git a/test/netcdf.jl b/test/netcdf.jl @@ -4,39 +4,39 @@ info("#### $(basename(@__FILE__)) ####") -Test.@test_throws ErrorException Granular.readOceanStateNetCDF("nonexistentfile") -Test.@test_throws ErrorException Granular.readOceanGridNetCDF("nonexistentfile") +@test_throws ErrorException Granular.readOceanStateNetCDF("nonexistentfile") +@test_throws ErrorException Granular.readOceanGridNetCDF("nonexistentfile") info("Testing dimensions of content read from Baltic test case") ocean = Granular.readOceanNetCDF("Baltic/00010101.ocean_month.nc", "Baltic/ocean_hgrid.nc") -Test.@test ocean.time/(24.*60.*60.) ≈ [.5, 1.5, 2.5, 3.5, 4.5] -Test.@test size(ocean.xq) == (24, 15) -Test.@test size(ocean.yq) == (24, 15) -Test.@test size(ocean.xh) == (23, 14) -Test.@test size(ocean.yh) == (23, 14) -Test.@test size(ocean.u) == (24, 15, 63, 5) -Test.@test size(ocean.v) == (24, 15, 63, 5) -Test.@test size(ocean.h) == (23, 14, 63, 5) -Test.@test size(ocean.e) == (23, 14, 64, 5) +@test ocean.time/(24.*60.*60.) ≈ [.5, 1.5, 2.5, 3.5, 4.5] +@test size(ocean.xq) == (24, 15) +@test size(ocean.yq) == (24, 15) +@test size(ocean.xh) == (23, 14) +@test size(ocean.yh) == (23, 14) +@test size(ocean.u) == (24, 15, 63, 5) +@test size(ocean.v) == (24, 15, 63, 5) +@test size(ocean.h) == (23, 14, 63, 5) +@test size(ocean.e) == (23, 14, 64, 5) info("Testing ocean state interpolation") -Test.@test_throws ErrorException Granular.interpolateOceanState(ocean, time=0.) -Test.@test_throws ErrorException Granular.interpolateOceanState(ocean, time=1.e34) +@test_throws ErrorException Granular.interpolateOceanState(ocean, time=0.) +@test_throws ErrorException Granular.interpolateOceanState(ocean, time=1.e34) u1, v1, h1, e1 = Granular.interpolateOceanState(ocean, ocean.time[1]) u2, v2, h2, e2 = Granular.interpolateOceanState(ocean, ocean.time[2]) -Test.@test_throws ErrorException Granular.interpolateOceanState(ocean, -1.) +@test_throws ErrorException Granular.interpolateOceanState(ocean, -1.) u1_5, v1_5, h1_5, e1_5 = Granular.interpolateOceanState(ocean, ocean.time[1] + (ocean.time[2] - ocean.time[1])/2.) -Test.@test u1 ≈ ocean.u[:, :, :, 1] -Test.@test v1 ≈ ocean.v[:, :, :, 1] -Test.@test h1 ≈ ocean.h[:, :, :, 1] -Test.@test e1 ≈ ocean.e[:, :, :, 1] -Test.@test u2 ≈ ocean.u[:, :, :, 2] -Test.@test v2 ≈ ocean.v[:, :, :, 2] -Test.@test h2 ≈ ocean.h[:, :, :, 2] -Test.@test e2 ≈ ocean.e[:, :, :, 2] -Test.@test u1_5 ≈ (ocean.u[:, :, :, 1] + ocean.u[:, :, :, 2])/2. -Test.@test v1_5 ≈ (ocean.v[:, :, :, 1] + ocean.v[:, :, :, 2])/2. -Test.@test h1_5 ≈ (ocean.h[:, :, :, 1] + ocean.h[:, :, :, 2])/2. -Test.@test e1_5 ≈ (ocean.e[:, :, :, 1] + ocean.e[:, :, :, 2])/2. +@test u1 ≈ ocean.u[:, :, :, 1] +@test v1 ≈ ocean.v[:, :, :, 1] +@test h1 ≈ ocean.h[:, :, :, 1] +@test e1 ≈ ocean.e[:, :, :, 1] +@test u2 ≈ ocean.u[:, :, :, 2] +@test v2 ≈ ocean.v[:, :, :, 2] +@test h2 ≈ ocean.h[:, :, :, 2] +@test e2 ≈ ocean.e[:, :, :, 2] +@test u1_5 ≈ (ocean.u[:, :, :, 1] + ocean.u[:, :, :, 2])/2. +@test v1_5 ≈ (ocean.v[:, :, :, 1] + ocean.v[:, :, :, 2])/2. +@test h1_5 ≈ (ocean.h[:, :, :, 1] + ocean.h[:, :, :, 2])/2. +@test e1_5 ≈ (ocean.e[:, :, :, 1] + ocean.e[:, :, :, 2])/2. diff --git a/test/ocean.jl b/test/ocean.jl @@ -8,24 +8,24 @@ info("#### $(basename(@__FILE__)) ####") info("Testing regular grid generation") sim = Granular.createSimulation() sim.ocean = Granular.createRegularOceanGrid([6, 6, 6], [1., 1., 1.]) -Test.@test size(sim.ocean.xq) == (7, 7) -Test.@test size(sim.ocean.yq) == (7, 7) -Test.@test size(sim.ocean.xh) == (6, 6) -Test.@test size(sim.ocean.yh) == (6, 6) -Test.@test sim.ocean.xq[1, :, 1] ≈ zeros(7) -Test.@test sim.ocean.xq[4, :, 1] ≈ .5*ones(7) -Test.@test sim.ocean.xq[end, :, 1] ≈ 1.*ones(7) -Test.@test sim.ocean.yq[:, 1, 1] ≈ zeros(7) -Test.@test sim.ocean.yq[:, 4, 1] ≈ .5*ones(7) -Test.@test sim.ocean.yq[:, end, 1] ≈ 1.*ones(7) -Test.@test size(sim.ocean.u) == (7, 7, 6, 1) -Test.@test size(sim.ocean.v) == (7, 7, 6, 1) -Test.@test size(sim.ocean.h) == (7, 7, 6, 1) -Test.@test size(sim.ocean.e) == (7, 7, 6, 1) -Test.@test sim.ocean.u ≈ zeros(7, 7, 6, 1) -Test.@test sim.ocean.v ≈ zeros(7, 7, 6, 1) -Test.@test sim.ocean.h ≈ zeros(7, 7, 6, 1) -Test.@test sim.ocean.e ≈ zeros(7, 7, 6, 1) +@test size(sim.ocean.xq) == (7, 7) +@test size(sim.ocean.yq) == (7, 7) +@test size(sim.ocean.xh) == (6, 6) +@test size(sim.ocean.yh) == (6, 6) +@test sim.ocean.xq[1, :, 1] ≈ zeros(7) +@test sim.ocean.xq[4, :, 1] ≈ .5*ones(7) +@test sim.ocean.xq[end, :, 1] ≈ 1.*ones(7) +@test sim.ocean.yq[:, 1, 1] ≈ zeros(7) +@test sim.ocean.yq[:, 4, 1] ≈ .5*ones(7) +@test sim.ocean.yq[:, end, 1] ≈ 1.*ones(7) +@test size(sim.ocean.u) == (7, 7, 6, 1) +@test size(sim.ocean.v) == (7, 7, 6, 1) +@test size(sim.ocean.h) == (7, 7, 6, 1) +@test size(sim.ocean.e) == (7, 7, 6, 1) +@test sim.ocean.u ≈ zeros(7, 7, 6, 1) +@test sim.ocean.v ≈ zeros(7, 7, 6, 1) +@test sim.ocean.h ≈ zeros(7, 7, 6, 1) +@test sim.ocean.e ≈ zeros(7, 7, 6, 1) info("Testing velocity drag interaction (static ocean)") Granular.addGrainCylindrical!(sim, [.5, .5], .25, .1) @@ -38,10 +38,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_rot_init ≈ E_kin_rot_final # no rotation before or after -Test.@test E_kin_lin_init > E_kin_lin_final # linear velocity lost due to ocean drag -Test.@test sim.grains[1].ocean_stress[1] < 0. -Test.@test sim.grains[1].ocean_stress[2] ≈ 0. +@test E_kin_rot_init ≈ E_kin_rot_final # no rotation before or after +@test E_kin_lin_init > E_kin_lin_final # linear velocity lost due to ocean drag +@test sim.grains[1].ocean_stress[1] < 0. +@test sim.grains[1].ocean_stress[2] ≈ 0. info("Testing velocity drag interaction (static ice floe)") sim = deepcopy(sim_init) @@ -51,10 +51,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_rot_init ≈ E_kin_rot_final # no rotation before or after -Test.@test E_kin_lin_init < E_kin_lin_final # linear vel. gained due to ocean drag -Test.@test sim.grains[1].ocean_stress[1] ≈ 0. -Test.@test sim.grains[1].ocean_stress[2] > 0. +@test E_kin_rot_init ≈ E_kin_rot_final # no rotation before or after +@test E_kin_lin_init < E_kin_lin_final # linear vel. gained due to ocean drag +@test sim.grains[1].ocean_stress[1] ≈ 0. +@test sim.grains[1].ocean_stress[2] > 0. info("Testing vortex interaction (static ocean)") sim = deepcopy(sim_init) @@ -64,10 +64,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test E_kin_rot_init > E_kin_rot_final # energy lost to ocean -Test.@test sim.grains[1].ang_vel > 0. # check angular velocity orientation -Test.@test sim.grains[1].ang_pos > 0. # check angular position orientation -Test.@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained +@test E_kin_rot_init > E_kin_rot_final # energy lost to ocean +@test sim.grains[1].ang_vel > 0. # check angular velocity orientation +@test sim.grains[1].ang_pos > 0. # check angular position orientation +@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained info("Testing vortex interaction (static ice floe)") sim = deepcopy(sim_init) @@ -81,10 +81,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test sim.grains[1].ang_vel > 0. # check angular velocity orientation -Test.@test sim.grains[1].ang_pos > 0. # check angular position orientation -Test.@test E_kin_rot_init < E_kin_rot_final # rotation after due to ocean vortex -Test.@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained +@test sim.grains[1].ang_vel > 0. # check angular velocity orientation +@test sim.grains[1].ang_pos > 0. # check angular position orientation +@test E_kin_rot_init < E_kin_rot_final # rotation after due to ocean vortex +@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained sim = deepcopy(sim_init) sim.ocean = Granular.createRegularOceanGrid([1, 1, 1], [1., 1., 1.]) @@ -97,10 +97,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test sim.grains[1].ang_vel < 0. # check angular velocity orientation -Test.@test sim.grains[1].ang_pos < 0. # check angular position orientation -Test.@test E_kin_rot_init < E_kin_rot_final # rotation after due to ocean vortex -Test.@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained +@test sim.grains[1].ang_vel < 0. # check angular velocity orientation +@test sim.grains[1].ang_pos < 0. # check angular position orientation +@test E_kin_rot_init < E_kin_rot_final # rotation after due to ocean vortex +@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained sim = deepcopy(sim_init) sim.ocean = Granular.createRegularOceanGrid([1, 1, 1], [1., 1., 1.]) @@ -113,10 +113,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test sim.grains[1].ang_vel < 0. # check angular velocity orientation -Test.@test sim.grains[1].ang_pos < 0. # check angular position orientation -Test.@test E_kin_rot_init < E_kin_rot_final # rotation after due to ocean vortex -Test.@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained +@test sim.grains[1].ang_vel < 0. # check angular velocity orientation +@test sim.grains[1].ang_pos < 0. # check angular position orientation +@test E_kin_rot_init < E_kin_rot_final # rotation after due to ocean vortex +@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained sim = deepcopy(sim_init) sim.ocean = Granular.createRegularOceanGrid([1, 1, 1], [1., 1., 1.]) @@ -129,7 +129,7 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim) Granular.run!(sim, verbose=false) E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim) E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim) -Test.@test sim.grains[1].ang_vel > 0. # check angular velocity orientation -Test.@test sim.grains[1].ang_pos > 0. # check angular position orientation -Test.@test E_kin_rot_init < E_kin_rot_final # rotation after due to ocean vortex -Test.@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained +@test sim.grains[1].ang_vel > 0. # check angular velocity orientation +@test sim.grains[1].ang_pos > 0. # check angular position orientation +@test E_kin_rot_init < E_kin_rot_final # rotation after due to ocean vortex +@test E_kin_lin_init ≈ E_kin_lin_final # no linear velocity gained diff --git a/test/packing.jl b/test/packing.jl @@ -7,31 +7,31 @@ info("#### $(basename(@__FILE__)) ####") info("Testing regular packing generation (power law GSD)") sim = Granular.createSimulation() Granular.regularPacking!(sim, [2, 2], 1., 1., size_distribution="powerlaw") -Test.@test 4 == length(sim.grains) +@test 4 == length(sim.grains) for grain in sim.grains - Test.@test grain.contact_radius ≈ 1. + @test grain.contact_radius ≈ 1. end sim = Granular.createSimulation() Granular.regularPacking!(sim, [10, 10], 1., 10., size_distribution="powerlaw") -Test.@test 100 == length(sim.grains) +@test 100 == length(sim.grains) for grain in sim.grains - Test.@test grain.contact_radius >= 1. - Test.@test grain.contact_radius <= 10. + @test grain.contact_radius >= 1. + @test grain.contact_radius <= 10. end info("Testing regular packing generation (uniform GSD)") sim = Granular.createSimulation() Granular.regularPacking!(sim, [2, 2], 1., 1., size_distribution="uniform") -Test.@test 4 == length(sim.grains) +@test 4 == length(sim.grains) for grain in sim.grains - Test.@test grain.contact_radius ≈ 1. + @test grain.contact_radius ≈ 1. end sim = Granular.createSimulation() Granular.regularPacking!(sim, [10, 10], 1., 10., size_distribution="uniform") -Test.@test 100 == length(sim.grains) +@test 100 == length(sim.grains) for grain in sim.grains - Test.@test grain.contact_radius >= 1. - Test.@test grain.contact_radius <= 10. + @test grain.contact_radius >= 1. + @test grain.contact_radius <= 10. end diff --git a/test/profiling.jl b/test/profiling.jl @@ -1,8 +1,13 @@ #!/usr/bin/env julia +using Compat +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end import Plots import Granular import CurveFit -using Base.Test info("#### $(basename(@__FILE__)) ####") @@ -79,12 +84,12 @@ function timeSingleStepInDenseSimulation(nx::Int; verbose::Bool=true, #Granular.writeVTK(sim) - Test.@test sim.grains[1].n_contacts == 0 - Test.@test sim.grains[2].n_contacts == 1 - Test.@test sim.grains[3].n_contacts == 1 - Test.@test sim.grains[nx].n_contacts == 0 - Test.@test sim.grains[nx + 1].n_contacts == 1 - Test.@test sim.grains[nx + 2].n_contacts == 4 + @test sim.grains[1].n_contacts == 0 + @test sim.grains[2].n_contacts == 1 + @test sim.grains[3].n_contacts == 1 + @test sim.grains[nx].n_contacts == 0 + @test sim.grains[nx + 1].n_contacts == 1 + @test sim.grains[nx + 2].n_contacts == 4 return t_elapsed, Base.summarysize(sim) end diff --git a/test/runtests.jl b/test/runtests.jl @@ -1,3 +1,9 @@ +using Compat +if VERSION < v"0.7.0-DEV.2004" + using Base.Test +else + using Test +end import Granular include("grain.jl") diff --git a/test/temporal.jl b/test/temporal.jl @@ -1,20 +1,20 @@ info("Testing temporal functionality") sim = Granular.createSimulation() -Test.@test_throws ErrorException Granular.setTimeStep!(sim) +@test_throws ErrorException Granular.setTimeStep!(sim) Granular.setOutputFileInterval!(sim, 1e-9) -Test.@test_throws ErrorException Granular.setTotalTime!(sim, 0.) -Test.@test_throws ErrorException Granular.setCurrentTime!(sim, 0.) +@test_throws ErrorException Granular.setTotalTime!(sim, 0.) +@test_throws ErrorException Granular.setCurrentTime!(sim, 0.) Granular.setCurrentTime!(sim, 1.) -Test.@test sim.time ≈ 1.0 -Test.@test_throws ErrorException Granular.incrementCurrentTime!(sim, 0.) +@test sim.time ≈ 1.0 +@test_throws ErrorException Granular.incrementCurrentTime!(sim, 0.) Granular.setOutputFileInterval!(sim, 0.) Granular.disableOutputFiles!(sim) -Test.@test_throws ErrorException Granular.checkTimeParameters(sim) +@test_throws ErrorException Granular.checkTimeParameters(sim) Granular.addGrainCylindrical!(sim, [.1,.1], 2., 2.) sim.grains[1].mass = 0. -Test.@test_throws ErrorException Granular.setTimeStep!(sim) +@test_throws ErrorException Granular.setTimeStep!(sim) sim = Granular.createSimulation() sim2 = Granular.createSimulation() diff --git a/test/util.jl b/test/util.jl @@ -4,23 +4,23 @@ info("#### $(basename(@__FILE__)) ####") info("Testing power-law RNG") -Test.@test 1 == length(Granular.randpower()) -Test.@test () == size(Granular.randpower()) -Test.@test 1 == length(Granular.randpower(1)) -Test.@test () == size(Granular.randpower(1)) -Test.@test 4 == length(Granular.randpower((2,2))) -Test.@test (2,2) == size(Granular.randpower((2,2))) -Test.@test 5 == length(Granular.randpower(5)) -Test.@test (5,) == size(Granular.randpower(5)) +@test 1 == length(Granular.randpower()) +@test () == size(Granular.randpower()) +@test 1 == length(Granular.randpower(1)) +@test () == size(Granular.randpower(1)) +@test 4 == length(Granular.randpower((2,2))) +@test (2,2) == size(Granular.randpower((2,2))) +@test 5 == length(Granular.randpower(5)) +@test (5,) == size(Granular.randpower(5)) srand(1) for i=1:10^5 - Test.@test 0. <= Granular.randpower() <= 1. - Test.@test 0. <= Granular.randpower(1, 1., 0., 1.) <= 1. - Test.@test 0. <= Granular.randpower(1, 1., 0., .1) <= .1 - Test.@test 5. <= Granular.randpower(1, 1., 5., 6.) <= 6. - Test.@test 0. <= minimum(Granular.randpower((2,2), 1., 0., 1.)) - Test.@test 1. >= maximum(Granular.randpower((2,2), 1., 0., 1.)) - Test.@test 0. <= minimum(Granular.randpower(5, 1., 0., 1.)) - Test.@test 1. >= minimum(Granular.randpower(5, 1., 0., 1.)) + @test 0. <= Granular.randpower() <= 1. + @test 0. <= Granular.randpower(1, 1., 0., 1.) <= 1. + @test 0. <= Granular.randpower(1, 1., 0., .1) <= .1 + @test 5. <= Granular.randpower(1, 1., 5., 6.) <= 6. + @test 0. <= minimum(Granular.randpower((2,2), 1., 0., 1.)) + @test 1. >= maximum(Granular.randpower((2,2), 1., 0., 1.)) + @test 0. <= minimum(Granular.randpower(5, 1., 0., 1.)) + @test 1. >= minimum(Granular.randpower(5, 1., 0., 1.)) end diff --git a/test/vtk.jl b/test/vtk.jl @@ -41,10 +41,10 @@ oceanchecksum = "d56ffb109841a803f2b2b94c74c87f7a497237204841d557d2b1043694d51f0d " * oceanpath * "\n" -Test.@test readstring(`$(cmd) $(grainpath)$(cmd_post)`) == grainchecksum -Test.@test readstring(`$(cmd) $(graininteractionpath)$(cmd_post)`) == +@test readstring(`$(cmd) $(grainpath)$(cmd_post)`) == grainchecksum +@test readstring(`$(cmd) $(graininteractionpath)$(cmd_post)`) == graininteractionchecksum -Test.@test readstring(`$(cmd) $(oceanpath)$(cmd_post)`) == oceanchecksum +@test readstring(`$(cmd) $(oceanpath)$(cmd_post)`) == oceanchecksum Granular.removeSimulationFiles(sim) @@ -54,7 +54,7 @@ Granular.setTotalTime!(sim, 1.5) Granular.setTimeStep!(sim) sim.file_number = 0 Granular.run!(sim, single_step=true) -Test.@test Granular.readSimulationStatus(sim.id) == 1 +@test Granular.readSimulationStatus(sim.id) == 1 Granular.setOutputFileInterval!(sim, 0.1) Granular.run!(sim) @@ -64,14 +64,14 @@ info("Testing generation of Paraview Python script") Granular.writeParaviewPythonScript(sim, save_animation=true, save_images=false) -Test.@test isfile("$(sim.id)/$(sim.id).py") && filesize("$(sim.id)/$(sim.id).py") > 0 +@test isfile("$(sim.id)/$(sim.id).py") && filesize("$(sim.id)/$(sim.id).py") > 0 info("Testing Paraview rendering if `pvpython` is present") try run(`pvpython $(sim.id)/$(sim.id).py`) catch return_signal if !isa(return_signal, Base.UVError) - Test.@test isfile("$(sim.id)/$(sim.id).avi") + @test isfile("$(sim.id)/$(sim.id).avi") end end @@ -82,16 +82,16 @@ try run(`pvpython $(sim.id)/$(sim.id).py`) catch return_signal if !isa(return_signal, Base.UVError) - Test.@test isfile("$(sim.id)/$(sim.id).0000.png") - Test.@test isfile("$(sim.id)/$(sim.id).0014.png") + @test isfile("$(sim.id)/$(sim.id).0000.png") + @test isfile("$(sim.id)/$(sim.id).0014.png") Granular.render(sim) - Test.@test isfile("$(sim.id)/$(sim.id).0001.png") + @test isfile("$(sim.id)/$(sim.id).0001.png") end end -Test.@test readstring(`$(cmd) $(grainpath)$(cmd_post)`) == grainchecksum -Test.@test readstring(`$(cmd) $(graininteractionpath)$(cmd_post)`) == +@test readstring(`$(cmd) $(grainpath)$(cmd_post)`) == grainchecksum +@test readstring(`$(cmd) $(graininteractionpath)$(cmd_post)`) == graininteractionchecksum -Test.@test readstring(`$(cmd) $(oceanpath)$(cmd_post)`) == oceanchecksum +@test readstring(`$(cmd) $(oceanpath)$(cmd_post)`) == oceanchecksum Granular.removeSimulationFiles(sim)