yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #13924
[Bug 1767601] Re: segmentation fault after erasing some particles
Hi,
If it now works while it used not to, I think we can say it's fixed ;-)
A recently updated yadedaily should indeed reflect the above-mentioned commit https://github.com/yade/trunk/commit/bd1089e77eae83c41c4ce0c60873e1e234ba9c89
(the compilation problems I mentioned in #3 are solved now --- and, actually, they never affected yadedaily packages anyway)
Enjoy,
Jérôme
--
You received this bug notification because you are a member of Yade
developers, which is subscribed to Yade.
https://bugs.launchpad.net/bugs/1767601
Title:
segmentation fault after erasing some particles
Status in Yade:
Fix Released
Bug description:
Dear all,
I built a simple script according to script-session1.py (B.Chareyre). I tried to erase some particles, it was done without any problem. but after finishing the simulation, as soon as I tried to run more iterations, it showed segmentation fault and quit yade.
The length of O.bodies is similar to The one before erasing.(Does not change after erasing)
you can see my question in:
https://answers.launchpad.net/yade/+question/668274
I'm using Ubuntu 14.04 LTS and yadedaily version: 2018.02b-85-f861843~trusty
And here is my script:
# -*- coding: utf-8 -*-
from yade import pack, plot
young=1e8
compFricDegree = 5
finalFricDegree = 35
mn,mx=Vector3(0,0,0),Vector3(.005,.005,.005)
O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=radians(compFricDegree),density=2600,label='spheres'))
O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0,label='walls'))
walls=aabbWalls([mn,mx],thickness=0,material='walls')
wallIds=O.bodies.append(walls)
psdSizes=[.00001,.00006,.00008,.0002,.0004,.0005,.0008,.001]
psdCumm=[0,.0175,.025,.4,.5,.7,.85,1]
sp=pack.SpherePack()
sp.makeCloud(mn,mx,psdSizes=psdSizes,psdCumm=psdCumm,distributeMass=True,num=500)
sp.toSimulation(material='spheres')
triax=TriaxialStressController(
maxMultiplier=1.001,
finalMaxMultiplier=1.0001,
thickness = 0,
stressMask = 7,
internalCompaction=True,
)
newton=NewtonIntegrator(damping=0.2)
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()],label="iloop"
),
triax,
newton,
]
O.dt=PWaveTimeStep()
triax.goal1=triax.goal2=triax.goal3=-10000
while 1:
O.run(1000,True)
unb=unbalancedForce()
print 'porosity', triax.porosity
if unb<0.01 and abs(-10000-triax.meanStress)/10000<.01:
break
bodiesToBeDeleted=[]
for b in O.bodies:
if b.id in range(6):
continue
else:
if b.state.pos[0]<.002:
bodiesToBeDeleted.append(b)
for b in bodiesToBeDeleted:
O.bodies.erase(b.id)
To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/1767601/+subscriptions
References