Re: [Yade-users] [Question #680662]: Small density sphere in micron size makes segment fault (core dumped)

2019-05-08 Thread gaoxuesong
Question #680662 on Yade changed:
https://answers.launchpad.net/yade/+question/680662

gaoxuesong confirmed that the question is solved:
Thanks Jan Stránský, that solved my question.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #680662]: Small density sphere in micron size makes segment fault (core dumped)

2019-05-08 Thread gaoxuesong
Question #680662 on Yade changed:
https://answers.launchpad.net/yade/+question/680662

Status: Answered => Solved

gaoxuesong confirmed that the question is solved:
Thanks. Jan. The adapted code runs well. I think the problem is the
increasing length of O.engines.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #680662]: Small density sphere in micron size makes segment fault (core dumped)

2019-05-07 Thread Jan Stránský
Question #680662 on Yade changed:
https://answers.launchpad.net/yade/+question/680662

Status: Needs information => Answered

Jan Stránský proposed the following answer:
Hello, just running your code and waiting for the result. However, the
changeValues() function should not be used in this form (!)

You are adding new TranslationEngine every 100 iterations. Now I have
O.iter=288300 and if I print len(O.engines), I got 2893.. Furthermore,
what is the meaning of the TranslationEngine with velocity=0.0?

A proper way could be something like:
###
O.engines = [
   ...
   TranslationEngine(...,dead=False,label='transEngine'), # just one engine
   HarmonicMotionEngine(...,dead=True,label='harmEngine'), # just one engine
   NewtonIntegrator(...), # consider pacing it after kinematic engines [1]
   PyRunner(iterPeriod=100,command='changeValues()'),
]

def changeValues():
   if O.time < 0.2:
  pass # probably initialized above
   elif O.time < 0.4: # no need of 0.2 <= O.time, because if so, it would have 
finished in above branch
  transEngine.dead = True
  harmEngine.dead = False
  harmEngine.A = ...
  harmEngine.f = ...
   elif ...
###

could you modify your code and test if it works?

cheers
Jan

[1] https://yade-dev.gitlab.io/trunk/user.html#base-engines

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #680662]: Small density sphere in micron size makes segment fault (core dumped)

2019-05-06 Thread gaoxuesong
Question #680662 on Yade changed:
https://answers.launchpad.net/yade/+question/680662

gaoxuesong posted a new comment:
Sorry to add the ubuntu and yade version used. 
The ubuntu is Ubuntu 18.04.1 LTS, and the yade is 2018.02b. 
Much thanks.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #680662]: Small density sphere in micron size makes segment fault (core dumped)

2019-05-06 Thread gaoxuesong
Question #680662 on Yade changed:
https://answers.launchpad.net/yade/+question/680662

gaoxuesong posted a new comment:
Hi, Jan. Yes, you are right. I have tried the above code and no segment fault 
occurred. Then I add some lines which i thought were unimportant in the past 
and the problems happened at about 341300 iteration. As you suggested, i leave 
the snap and VTK code out. Also, to make the crash easy to happen, i amplify 
the density by a small factor as 1e3. 
The following is the code, 

from yade import geom,pack
import math
from yade import qt
import os 

#os.system('rm -rf plt;mkdir ./plt/')
#os.system('rm -rf out;mkdir ./out/')

# PhysicalParameters
muS = 0.57735   # Friction coefficient (30 degree)
muLB = 0.0001   # Friction coefficient
muF = 0.17632   # Friction coefficient (10 degree)
FricAngleS = math.atan(muS)
FricAngleLB = math.atan(muLB)
FricAngleF = math.atan(muF)

### mass amplification factor ### 
masscof = 1e3   


# PhysicalParameters
matSph = CohFrictMat(
 density = 7990*masscof,
 young = 193e9,
 poisson = 0.3,
 frictionAngle = FricAngleS,
 momentRotationLaw = True)
SMat = O.materials.append(matSph)


# create empty sphere packing
sp = pack.SpherePack()
# generate spheres1 with a certain diameter distribution
sp.makeCloud((0,0,0.35e-3), (1.0e-3,1.0e-3,1.4e-3), 
psdSizes=[0.012e-3,0.0186e-3,0.0312e-3,0.0484e-3,0.053e-3], 
psdCumm=[0,0.1,0.5,0.9,1.0])
# add the sphere pack to the simulation
sp.toSimulation(material=SMat)

# create rectangular box1(Left) from facets
O.bodies.append(geom.facetBox((0.5e-3,0.5e-3,0.5e-3),(0.5e-3,0.5e-3,0.5e-3), 
wallMask=31, material=SMat))
Cylinder1IDs=O.bodies.append(geom.facetBox((0.5e-3,0.5e-3,0.15e-3),(0.5e-3,0.5e-3,0.2e-3),
 wallMask=63, color=(0,1,0), wire=False, material=SMat))

## add these lines, problem happens #
## add these lines, problem happens #

def changeValues():

#  Standstill for stabilization
   if O.time < 0.2:
   O.engines = O.engines + [
   TranslationEngine(dead=False, translationAxis= [0,0,1], 
velocity=0.0, ids=Cylinder1IDs)
   ]
   #  Vibrate Piston1
   elif 0.2 <= O.time < 0.4:
   O.engines = O.engines + [
   HarmonicMotionEngine(A=(0.0,0.0,1.5e-5), f=(0.0,0.0,3600/60.0), 
ids=Cylinder1IDs)
   ]
#  Vibrate Stop
   elif 0.4 <= O.time < 0.5129:
   O.engines = O.engines + [
   HarmonicMotionEngine(A=(0.0,0.0,0.0), f=(0.0,0.0,0.0), 
ids=Cylinder1IDs)
   ]
 
   O.dt = 0.85*utils.PWaveTimeStep()

## add these lines, problem happens #
## add these lines, problem happens #


def print_ite():
print("ite is %d" % O.iter)
 
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
InteractionLoop(
# handle sphere+sphere and facet+sphere collisions
   [Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()],
   [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],
   [Law2_ScGeom6D_CohFrictPhys_CohesionMoment()]
),
NewtonIntegrator(damping=0.75, exactAsphericalRot=True, 
gravity=(0,0,-9.81)),
 PyRunner(iterPeriod=100,command='changeValues()'),
PyRunner(iterPeriod=100,command='print_ite()'),
#qt.SnapshotEngine(fileBase="./plt/",iterPeriod=200,label='snapshot'),
#   VTKRecorder(iterPeriod=200, recorders=['spheres','colors'], 
fileName='./out/'),
]

#show geometry:
qtr = qt.Renderer()
qtr.bgColor = [1,1,1]
qt.Controller()
v = qt.View() 
#v.center() 
v.axes=False
v.viewDir=Vector3(0,1,0)
v.eyePosition=Vector3(1.8e-3,-5.2e-3,1.0e-3)

O.run()

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #680662]: Small density sphere in micron size makes segment fault (core dumped)

2019-05-06 Thread Jan Stránský
Question #680662 on Yade changed:
https://answers.launchpad.net/yade/+question/680662

Status: Open => Needs information

Jan Stránský requested more information:
Hello,

thanks for the code. I have tried the script for a while without any problem. 
Please provide more info:
- At which iteration the problem occur?
- is the SnapshotEngine and VTKRecorder needed to reproduce the problem? If no, 
please remove them to make the script a true MWE [1]
- please use a 'seed' parameter to sp.makeCloud

thanks
Jan

[1] https://yade-dem.org/wiki/Howtoask

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp