yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #08175
[Question #235628]: Trace a force under the capillary stress
New question #235628 on Yade:
https://answers.launchpad.net/yade/+question/235628
Hello all,
I am trying to trace a capillary force between two particles under the capillary stress.
However, I have got a zero force between two particles even though the particles are pulling each other.
So, I am wondering whether the force I am using in the script does not include the capillary force.
If not, is there other function I can use to trace a capillary force?
In addition, I would like to compare the capillary force from my hand calculation in order to ensure that the module is working.
Thank you for your time.
from yade import plot,qt
r = 0.0003 #particle radius
h = 0.0001 #praticle distance
#create two sphere paticles#
O.bodies.append([
utils.sphere(center=(0,0,0),radius=r,fixed=False),
utils.sphere((0,0,2*r+h),r)
])
#define engines#
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=2)]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=2)],
[Ip2_FrictMat_FrictMat_MindlinCapillaryPhys()],
[Law2_ScGeom_MindlinPhys_Mindlin(neverErase=True)]
),
Law2_ScGeom_CapillaryPhys_Capillarity(capillaryPressure=10000,label='Cap'),
NewtonIntegrator(damping=0.4,gravity=(0,0,0)),
PyRunner(iterPeriod=100,command='addPlotData()')
]
Cap.createDistantMeniscii=True
O.run(1,True)
Cap.createDistantMeniscii=False
#def addPlotData():
#d0 = O.bodies[0].state.displ()
#d1 = O.bodies[1].state.displ()
#plot.addData(i=O.iter,b0displ=d0[2],b1displ=d1[2])
def addPlotData():
f0 = O.forces.f(0)
f1 = O.forces.f(1)
plot.addData(i=O.iter,f0forces=f0[2],f1forces=f1[2])
#plot.plots={'i':('b0displ')}
plot.plots={'i':('f0forces')}
plot.plot()
plot.live=True
plot.autozoom=True
O.dt=0.5*PWaveTimeStep()
qt.View()
O.saveTmp()
--
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.