Granular.jl

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

commit 1f6e269b6013842bb548f10e2da46b5d362cf43f
parent 4f2a8d61f3b916c85fb29b870fa8d52746ffae3f
Author: Anders Damsgaard <andersd@riseup.net>
Date:   Tue, 25 Apr 2017 15:48:00 -0400

test VTK write, remove old worldsize function, fix ifarr creation

Diffstat:
Msrc/grid.jl | 28----------------------------
Msrc/icefloe.jl | 2++
Mtest/runtests.jl | 1+
Atest/vtk.jl | 14++++++++++++++
4 files changed, 17 insertions(+), 28 deletions(-)

diff --git a/src/grid.jl b/src/grid.jl @@ -1,31 +1,3 @@ -function fitWorldSize(margin::vector = zeros(3)) - - if length(g_radius) < 1 - error("At least a single grain must be added before setting world - size.") - end - - minpos = [Inf, Inf, Inf] - maxpos = [-Inf, -Inf, -Inf] - for i = 1:length(g_radius) - - min_position = g_position[i]::vector - g_radius[i]::float - max_position = g_position[i]::vector + g_radius[i]::float - - for i = 1:3 - if min_position[i] < g_origo[i] - g_origo[i] = min_position[i] - end - - if max_position[i] > g_world_size[i] - g_world_size[i] = max_position[i] - end - end - end - - g_origo[:] = minpos[:] - margin[:] - g_world_size[:] = maxpos[:] + margin[:] -end """ Use bilinear interpolation to interpolate a staggered grid to an arbitrary diff --git a/src/icefloe.jl b/src/icefloe.jl @@ -147,6 +147,8 @@ function convertIceFloeDataToArrays(simulation::Simulation) Array(Float64, length(simulation.ice_floes)), Array(Float64, length(simulation.ice_floes)), Array(Float64, length(simulation.ice_floes)), + Array(Float64, length(simulation.ice_floes)), + Array(Float64, length(simulation.ice_floes)), zeros(Float64, 3, length(simulation.ice_floes)), zeros(Float64, 3, length(simulation.ice_floes)), diff --git a/test/runtests.jl b/test/runtests.jl @@ -4,3 +4,4 @@ using Base.Test include("contact-search-and-geometry.jl") include("collision-2floes-normal.jl") include("netcdf.jl") +include("vtk.jl") diff --git a/test/vtk.jl b/test/vtk.jl @@ -0,0 +1,14 @@ +#!/usr/bin/env julia + +# Check the contact search and geometry of a two-particle interaction + +info("#### $(basename(@__FILE__)) ####") + +info("Writing simple simulation to VTK file") +sim = SeaIce.createSimulation(id="test") +SeaIce.addIceFloeCylindrical(sim, [ 0., 0.], 10., 1., verbose=false) +SeaIce.addIceFloeCylindrical(sim, [18., 0.], 10., 1., verbose=false) +SeaIce.writeVTK(sim) +checksum = readstring(`sha256sum test.1.vtu`) +rm("test.1.vtu") +@test checksum == "1c0c2bdd265abdda22ef3727e7cac829e2321462d494be2e23364653f9529c87 test.1.vtu\n"