i need help to model gravels (28cm-50cm)in a box. Any help please. is for a college project work.-(we can talk about cost)

Asked by wise dan

i need help to model gravels (28cm-50cm)in a box. Any help please. is for a college project work.-(we can talk about cost)

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Jan Stránský (honzik) said :
#1

Hello,
please provide more information [1]. E.g.:
- what is your experience with DEM / Yade
- how many gravel particles
- what you want to simulate (gravels in a box can mean anything). Oedometric test?
- what kind of results you expect
- do you have a close deadline?
- ...
thanks
Jan

[1] https://yade-dem.org/wiki/Howtoask

Revision history for this message
wise dan (wise.dan) said :
#2

I have no experience with DEM, just learning at the moment, so i am actually looking for someone to led me in this, i have just one month to do this;
the project is: Load transfers and arching effects in granular soil layer, the soil layer will be railway ballast.
the ballast in a box and 100cm length, 50cm height and 30cm width a hole is made at the bottom to simulate the flow of the ballast

I have to submit end of August. if you can help i can send you images of the laboratory testing

Revision history for this message
Jan Stránský (honzik) said :
#3

end of August is pretty close deadline :-) What you describe is in principle no problem, especially if a result could be "I did the simulation, but it does not correspond at all to the experiment" :-)
A few comments:
- to use Yade, you need Linux, preferably Ubuntu (16.04 or newer)
- one simulation will take significant amount of time, int he order of hours I guess
- probably you can get a "bridge" after simulation, let's see :-)

Please send here some images/movies of the experiments to get better idea.
thanks
Jan

Revision history for this message
wise dan (wise.dan) said :
#4

this is a link to a sample of the set up to be simulated
https://www.dropbox.com/s/fpuurg0mf7b5lep/sample%20image.jpg?dl=0

Revision history for this message
wise dan (wise.dan) said :
#5

Detail of the data and the parameters to simulate ate in the dropbox folder attached:
https://www.dropbox.com/sh/zgbxs4gi132aplu/AAALHDESB4_wA6J0kjKngmICa?dl=0

Please contact me if you need further clarification.

Revision history for this message
Jan Stránský (honzik) said :
#6

A MWE below. I used polyhedra, but it takes a lot of time. Spheres with high friction coefficient ma be used to simulate polyhedra and make the simulation faster. It very much depends on the purpose of the simulations and allowed level of simplification.
###########
######################################################################
# INPUTS
######################################################################
gravity = 100

# box dimensions
widthl = .3
widthr = .3
widthc = .3
height = .3
thick = .1
deep = -.2

# size of grains
sizeMin = 40e-3
sizeMax = 60e-3

frictionAngle = .5
young = 1e8 # stiffness

dt = 1e-3 # time step

nGravityDeposition = 250 # how long to run initial gravity deposition
nCycles = 3 # how many jumps to run afterwards
nStepsBetweenCycles = 200 # number of time steps between jumps
dspl = 20e-3

# how much larger the initial make cloud box should be
fillBoxHFactor = 3
######################################################################
from yade import polyhedra_utils

width = widthl+widthc+widthr

# mat, engines, ...
mat = PolyhedraMat(young=young,poisson=10,frictionAngle=frictionAngle)
O.materials.append(mat)
O.engines=[
   ForceResetter(),
   InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Facet_Aabb()]),
   InteractionLoop(
      [Ig2_Polyhedra_Polyhedra_PolyhedraGeom(), Ig2_Facet_Polyhedra_PolyhedraGeom()],
      [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()],
      [Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()],
   ),
   NewtonIntegrator(damping=0.4,gravity=(0,0,-gravity)),
 PyRunner(iterPeriod=1,command='checker()'),
]
O.dt = dt
def checker():
 for i in range(nCycles):
  ii = nGravityDeposition+i*nStepsBetweenCycles
  if O.iter == ii:
   moveBottom()
  if O.iter == ii+1:
   stopBottom()
 if O.iter == nGravityDeposition+nCycles*nStepsBetweenCycles:
  O.pause()
def moveBottom():
 v = dspl / O.dt
 for b in movables:
  b.state.vel = (0,0,-v)
def stopBottom():
 for b in movables:
  b.state.vel = (0,0,0)

# box
p000 = Vector3(0,0,0)
p100 = Vector3(widthl,0,0)
p200 = Vector3(widthl+widthc,0,0)
p300 = Vector3(widthl+widthc+widthr,0,0)
pxs = (p000,p100,p200,p300)
p001,p101,p201,p301 = [p+Vector3(0,0,height) for p in pxs]
p010,p110,p210,p310 = [p+Vector3(0,thick,0) for p in pxs]
p011,p111,p211,p311 = [p+Vector3(0,thick,height) for p in pxs]
p00b,p10b,p20b,p30b = [p+Vector3(0,0,deep) for p in pxs]
p01b,p11b,p21b,p31b = [p+Vector3(0,thick,deep) for p in pxs]
def rect(vs,**kw):
 v1,v2,v3,v4 = vs
 return [
  facet((v1,v2,v3),**kw),
  facet((v1,v3,v4),**kw),
 ]
movables = rect((p100,p200,p210,p110)) # bottom center
rects = (
 (p000,p100,p110,p010), # bottom left
 (p200,p300,p310,p210), # bottom left
 (p000,p010,p011,p001), # left
 (p300,p310,p311,p301), # right
 (p000,p100,p101,p001), # front left
 (p100,p200,p201,p101), # front center
 (p200,p300,p301,p201), # front right
 (p010,p110,p111,p011), # back left
 (p110,p210,p211,p111), # back center
 (p210,p310,p311,p211), # back right
 (p100,p200,p20b,p10b), # front center below
 (p110,p210,p21b,p11b), # back center below
 (p100,p110,p11b,p10b), # left below
 (p200,p210,p21b,p20b), # right below
)
rects = movables + sum((rect(r) for r in rects),[])
O.bodies.append(rects)

# gravel
polyhedra_utils.fillBox((0,0,0),(width,thick,fillBoxHFactor*height),mat,sizemin=3*[sizeMin],sizemax=3*[sizeMax],seed=1)
###########
cheers
Jan

Revision history for this message
Jan Stránský (honzik) said :
#7

you can easily modify and test various input parameters. Now they are set to make the simuation faster (e.g. gravity is set to 100). Apart form polyhedra, you can use:
- single spheres, will make it much faster
- rigid clusters of spheres, probably will make it faster, depending on the amount of spheres

the change would be relatively simple. Could you please write more about the purpose of the simulation and expectations from the results?

cheers
Jan

Can you help with this problem?

Provide an answer of your own, or ask wise dan for more information if necessary.

To post a message you must log in.