← Back to team overview

yade-users team mailing list archive

[Question #233585]: Track a capillary pressure

 

New question #233585 on Yade:
https://answers.launchpad.net/yade/+question/233585

Hello all,

Now, I am trying to track a capillary stress between two particles with the iterations.

from yade import plot,qt

r = 0.003 #particle radius of typical clay
h = 0.001 #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_CapillaryPhys()], 
      [Law2_ScGeom_FrictPhys_CundallStrack(neverErase=True)]   
   ),
   Law2_ScGeom_CapillaryPhys_Capillarity(capillaryPressure=10000,label='Cap'),
   CapillaryStressRecorder(file='capillary pressure',iterPeriod=100), 
   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])


plot.plots={'i':('b0displ')}
plot.plot()
plot.live=True
plot.autozoom=True
O.dt=0.5*PWaveTimeStep()
qt.View()
O.saveTmp()

When I ran this script, it gave me an error like ' Segmentation falut (core dumped)'. 
Am I using incorrect script for the stress recorder? or my computer cannot handle it?
Thank you for your time.

Seungcheol


-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.