trapdoor movements
hi,
I hope you are well, you helped me with the code below : now I got a little problem, when I run it the middle ( the trapdoor does not drop) can you please help me modify it, such the the trapdoor moves at a rate of 1.0mm per min for 100mm( thus after deposition)
#######
rom yade import pack
from math import *
from yade import plot
from yade import qt
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
poisson = 10
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 times 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
mat = PolyhedraMat(
O.materials.
def computeSurfaceD
vertices = []
for b in O.bodies:
if not isinstance(
pos = b.state.pos
ori = b.state.ori
vs = b.shape.v
vs = [pos + ori*v for v in vs]
vertices.
maxZ = max(v[2] for v in vertices)
return maxZ
def plotAddData():
sd = computeSurfaceD
plot.addData(
i = O.iter,
tDspl = O.bodies[
fLeft = sum(O.forces.
fRight = sum(O.forces.
surfDspl = sd,
)
#plot.plots = {'i ':'fRight'}
#plot.plots = {'i ':'fRight'}
plot.plots = {'i ':'surfDspl'}
#plot.plots = {'i':'tDspl'}
#plot.plots = {'i':'surfDspl'
#######
#engines
O.engines=[
ForceResetter(),
InsertionSor
InteractionLoop(
[
[
[
),
NewtonIntegr
#commnet out the original PyRunner, replace with new one
#PyRunner(
PyRunner(
]
O.dt = dt
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)
def checker():
for i in range(nCycles):
ii = nGravityDeposit
if O.iter == ii:
moveBottom()
if O.iter == ii+1:
stopBottom()
if O.iter == nGravityDeposit
O.pause()
# box
p000 = Vector3(0,0,0)
p100 = Vector3(widthl,0,0)
p200 = Vector3(
p300 = Vector3(
pxs = (p000,p100,
p001,p101,p201,p301 = [p+Vector3(
p010,p110,p210,p310 = [p+Vector3(
p011,p111,p211,p311 = [p+Vector3(
p00b,p10b,p20b,p30b = [p+Vector3(
p01b,p11b,p21b,p31b = [p+Vector3(
def rect(vs,**kw):
v1,v2,v3,v4 = vs
return [
facet(
facet(
]
movables = rect((p100,
rects = (
(p000,
(p200,
(p000,
(p300,
(p000,
(p100,
(p200,
(p010,
(p110,
(p210,
(p100,
(p110,
(p100,
(p200,
)
rects = movables + sum((rect(r) for r in rects),[])
O.bodies.
# gravel
polyhedra_
###########
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask wise dan for more information if necessary.