Granular.jl

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

commit 842f2d61d648ee12d7f78d7015f824a411b3be11
parent d1830c4649285e2989c181e84f008827bae4fd2b
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date:   Wed,  9 May 2018 15:24:19 -0400

Fix vtk interaction write when Young's modulus is 0, add more vtk tests

Diffstat:
Msrc/io.jl | 4++--
Mtest/vtk.jl | 23+++++++++++++++++++++++
2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/src/io.jl b/src/io.jl @@ -507,6 +507,8 @@ function writeGrainInteractionVTK(simulation::Simulation, end δ_n = dist - (r_i + r_j) R_ij = harmonicMean(r_i, r_j) + A_ij = R_ij*min(simulation.grains[i].thickness, + simulation.grains[j].thickness) if simulation.grains[i].youngs_modulus > 0. && simulation.grains[j].youngs_modulus > 0. @@ -514,8 +516,6 @@ function writeGrainInteractionVTK(simulation::Simulation, youngs_modulus, simulation.grains[j]. youngs_modulus) - A_ij = R_ij*min(simulation.grains[i].thickness, - simulation.grains[j].thickness) k_n = E_ij*A_ij/R_ij else k_n = harmonicMean(simulation.grains[i]. diff --git a/test/vtk.jl b/test/vtk.jl @@ -59,7 +59,14 @@ Granular.run!(sim, single_step=true) Granular.setOutputFileInterval!(sim, 0.1) Granular.run!(sim) +Compat.@info "Testing status output" Granular.status() +Granular.status(colored_output=false) +dir = "empty_directory" +isdir(dir) || mkdir(dir) +#@test_warn "no simulations found in $(pwd())/$(dir)" Granular.status(dir) +Granular.status(dir) +rm(dir) Compat.@info "Testing generation of Paraview Python script" Granular.writeParaviewPythonScript(sim, @@ -95,4 +102,20 @@ end graininteractionchecksum @test read(`$(cmd) $(oceanpath)$(cmd_post)`, String) == oceanchecksum +Compat.@info "Writing simple simulation to VTK file" +sim = Granular.createSimulation(id="test") +Granular.addGrainCylindrical!(sim, [ 0., 0.], 10., 1., verbose=false) +Granular.addGrainCylindrical!(sim, [18., 0.], 10., 1., verbose=false) +sim.ocean = Granular.createRegularOceanGrid([10, 20, 5], [10., 25., 2.]) +Granular.findContacts!(sim, method="all to all") +Granular.writeVTK(sim, verbose=false) + +Compat.@info "Writing simple simulation to VTK file" +sim = Granular.createSimulation(id="test") +Granular.addGrainCylindrical!(sim, [ 0., 0.], 10., 1., youngs_modulus=0., verbose=false) +Granular.addGrainCylindrical!(sim, [18., 0.], 10., 1., youngs_modulus=0., verbose=false) +sim.ocean = Granular.createRegularOceanGrid([10, 20, 5], [10., 25., 2.]) +Granular.findContacts!(sim, method="all to all") +Granular.writeVTK(sim, verbose=false) + Granular.removeSimulationFiles(sim)