Change interaction during two spheres during the simulation process
Hi All,
I have a problem during discrete element modeling with YADE.
I want to change the interaction of two spheres during the simulation process through the following functions. I'm using a cohesive, frictional contact model (Luding Model). After my two particles are in contact with a specific overlap I want them to fall to the bottom of the box.
Here is the code:
#!/usr/bin/env python
#encoding: ascii
# Testing of the Deformation Enginge with Luding Contact Law
# Modified Oedometric Test
from yade import qt, utils, plot, timing
from yade import pack
o = Omega()
# Definition of the physical Parameter
fr = 0.3
rho = 0.002
Diameter = 4.5e-2
r1 = Diameter
r2 = Diameter
k1 = 1000
kp = 100*k1
kc = k1 * 1
ks = k1 * 0.1
DeltaPMax = Diameter/1.5
Chi1 = 1.0
tc = 0.0001
o.dt = 0.0001*tc
particleMass = 4.0/3.0*
Vi1 = math.sqrt(
PhiF1 = DeltaPMax*
#Add material
mat1 = O.materials.
# Add spheres
id1 = O.bodies.
id2 = O.bodies.
# Import box's geometry
O.bodies.
#Add engine
O.engines = [
ForceResetter(),
InsertionSort
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
NewtonIntegra
PyRunner(
]
#Function Change Position
def ChangePosition():
pairs = [(i.id1,i.id2) for i in O.interactions]
for id1,id2 in pairs: utils.createInt
# spheres get closer:
O.bodies[
qt.View()
Thanks for every help!!!!
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 Katja for more information if necessary.