Granular.jl

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

commit 830b7b6344c4c5815164f559d8c5941b05e8b0b7
parent 096493f9edeeac3865b46f0f99699401ac4a3622
Author: Anders Damsgaard <andersd@riseup.net>
Date:   Mon,  6 Nov 2017 22:22:06 -0500

fix kinematic-zeroing function and associated tests

Diffstat:
Msrc/grain.jl | 8++++----
Mtest/grain.jl | 12++++++------
2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/grain.jl b/src/grain.jl @@ -818,12 +818,12 @@ Set all grain forces, torques, accelerations, and velocities (linear and rotational) to zero in order to get rid of all kinetic energy. """ function zeroKinematics!(sim::Simulation) - for grian in sim.grains + for grain in sim.grains grain.lin_vel .= zeros(2) grain.lin_acc .= zeros(2) grain.force .= zeros(2) - grain.ang_vel .= zeros(2) - grain.ang_acc .= zeros(2) - grain.torque .= zeros(2) + grain.ang_vel = 0. + grain.ang_acc = 0. + grain.torque = 0. end end diff --git a/test/grain.jl b/test/grain.jl @@ -53,13 +53,13 @@ Test.@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.] -info("Testing zeroKinematics!") +info("Testing zeroKinematics!()") sim.grains[1].force .= ones(2) sim.grains[1].lin_acc .= ones(2) sim.grains[1].lin_vel .= ones(2) -sim.grains[1].torque .= ones(2) -sim.grains[1].ang_acc .= ones(2) -sim.grains[1].ang_vel .= ones(2) +sim.grains[1].torque = 1. +sim.grains[1].ang_acc = 1. +sim.grains[1].ang_vel = 1. Granular.zeroKinematics!(sim) -Test.@test Grain.totalGrainKineticTranslationalEnergy(sim) ≈ 0. -Test.@test Grain.totalGrainKineticRotationalEnergy(sim) ≈ 0. +Test.@test Granular.totalGrainKineticTranslationalEnergy(sim) ≈ 0. +Test.@test Granular.totalGrainKineticRotationalEnergy(sim) ≈ 0.