Introduction
Introduction Statistics Contact Development Disclaimer Help
tsedimentation.jl - Granular.jl - Julia package for granular dynamics simulation
git clone git://src.adamsgaard.dk/Granular.jl
Log
Files
Refs
README
LICENSE
---
tsedimentation.jl (1325B)
---
1 #/usr/bin/env julia
2 import Granular
3
4 #### Create a loose granular assemblage and let it settle at towards -y
5 sim = Granular.createSimulation(id="sedimentation")
6
7 # Generate 10 grains along x and 25 grains along y, with radii between 0…
8 # 1.0 m.
9 Granular.regularPacking!(sim, [7, 25], 0.02, 0.2,
10 tiling="triangular",
11 padding_factor=0.1)
12
13 # Visualize the grain-size distribution
14 #Granular.plotGrainSizeDistribution(sim)
15
16 # Create a grid for contact searching spanning the extent of the grains …
17 # simulation
18 Granular.fitGridToGrains!(sim, sim.ocean)
19
20 # Make the grid boundaries impermeable for the grains, which
21 Granular.setGridBoundaryConditions!(sim.ocean, "impermeable")
22
23 # Add gravitational acceleration to all grains
24 g = [0., -9.8]
25 for grain in sim.grains
26 Granular.addBodyForce!(grain, grain.mass*g)
27 end
28
29 # Automatically set the computational time step based on grain sizes and
30 # properties
31 Granular.setTimeStep!(sim)
32
33 # Set the total simulation time for this step [s]
34 Granular.setTotalTime!(sim, 10.0)
35
36 # Set the interval in model time between simulation files [s]
37 Granular.setOutputFileInterval!(sim, 0.2)
38
39 # Start the simulation
40 Granular.run!(sim)
41
42 # Try to render the simulation if `pvpython` is installed on the system
43 Granular.render(sim, trim=false)
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.