tadd additional wall test, add missing wall-kinematics update to `run!()` - Granular.jl - Julia package for granular dynamics simulation
(HTM) git clone git://src.adamsgaard.dk/Granular.jl
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit f2de5349fdadc6435af4d5d99cd32a93c620cd2d
(DIR) parent 31b70e6d658735acfb61396662856f895c8354cb
(HTM) Author: Anders Damsgaard <andersd@riseup.net>
Date: Thu, 16 Nov 2017 15:36:55 -0500
add additional wall test, add missing wall-kinematics update to `run!()`
Diffstat:
M src/simulation.jl | 1 +
M test/wall.jl | 20 +++++++++++++++++++-
2 files changed, 20 insertions(+), 1 deletion(-)
---
(DIR) diff --git a/src/simulation.jl b/src/simulation.jl
t@@ -172,6 +172,7 @@ function run!(simulation::Simulation;
end
updateGrainKinematics!(simulation, method=temporal_integration_method)
+ updateWallKinematics!(simulation, method=temporal_integration_method)
# Update time variables
simulation.time_iteration += 1
(DIR) diff --git a/test/wall.jl b/test/wall.jl
t@@ -297,7 +297,6 @@ Granular.updateWallKinematics!(sim)
for i=1:5
Granular.interactWalls!(sim)
Granular.updateWallKinematics!(sim)
- println(sim.walls[1].pos)
@test sim.walls[1].force > 0.
@test sim.walls[1].acc < 0.
@test sim.walls[1].vel < 0.
t@@ -305,3 +304,22 @@ for i=1:5
@test sim.grains[1].force[1] < 0.
@test sim.grains[1].force[2] ≈ 0.
end
+
+info("Granular packing, wall present, normal stress BC")
+sim = Granular.createSimulation()
+Granular.regularPacking!(sim, [5, 5], 1.0, 2.0)
+Granular.fitGridToGrains!(sim, sim.ocean)
+Granular.setGridBoundaryConditions!(sim.ocean, "impermeable")
+y_max_init = 0.
+for grain in sim.grains
+ if y_max_init < grain.lin_pos[2] + grain.contact_radius
+ y_max_init = grain.lin_pos[2] + grain.contact_radius
+ end
+end
+Granular.addWallLinearFrictionless!(sim, [0., 1.], y_max_init,
+ bc="normal stress", normal_stress=-100e3)
+Granular.setTimeStep!(sim)
+Granular.setTotalTime!(sim, 1.)
+Granular.setOutputFileInterval!(sim, 10.)
+Granular.run!(sim)
+@test sim.walls[1].pos < y_max_init