yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #04298
Re: trying triaxial with clumps..
-
To:
yade-dev@xxxxxxxxxxxxxxxxxxx
-
From:
Janek Kozicki <janek_listy@xxxxx>
-
Date:
Thu, 6 May 2010 12:42:38 +0200
-
Face:
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEUBAQEtLS1KSkpRUVFXV1dYWFhjY2Nzc3N3d3eHh4eKioqdnZ24uLjLy8vc3NxVIagyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AIVEzgS1fgQtQAAAjRJREFUOMtt1DFv00AUAOAzFQNbjigSyoQaRaBMhKgLUyKXpVNNeUpk9vyDqFJhQ1kiBuaqAwJCqvPtSLY7RlTn5+5IdnYkkt/AOyfxXVLe5vf53Z1875kd34tOEax8djmj6GyjhB5bxz50GdsVZr9fqRjZwAtKOJw5Wqs2MMZ16ALHsaDncF7xAHix1oEFHAB8f+pRjcO4gfZDykcYzbiucRolOLUJ6kjA0xtVt+A6TySlM0RajIpK6DzwKZ/nOYbF/gclHMo1ZOHYY/+Ha+AWuM+3oMS4eeqYzZ8FiCltgUqI8cd2wwAVpJk+8LWYjBtnJdQpHQqJMd4Oxt4bU9ESiFGc5hkqaH74asAX4iabP5I5gZ+qjgGlJCqZa3h3lxhoeVcSE1qLQC4sqKOK9MGW9E3izFqqHokoztLFEgXg31sbZEKnWi2T74A4NxfVQqlkjKtcAWD+zcArFEES01dR0E/nnV0IgugmDd/2L84sOAouRBBHEc7gtc8teDkRlE0iNQPo2w3Xhh/D4TCIQ4LRLoTvgwjj6RRgavdurxYGMaIuGOyAW/PpNlCcU9/93AHenAWYjPoAwa+G3e3to/MgFNTAEKvKDjzuCzHTnY3qqdXtx24VijzQfZ0yewZ5cwRFQaa+mIYr1uI0I76+3W4xhlvoVRwOA0Fdl64HlJnxP6T8YpX/Lga4Wv4A3ErrU5oTfN7Mu/llXMl8RXEPji/lQkN3H7qXqgC2By47EXeU/7PJ/wPxRKMnuZwIeAAAAABJRU5ErkJggg==
-
In-reply-to:
<1273138633.2265.6.camel@flux>
Václav Šmilauer said: (by the date of Thu, 06 May 2010 11:37:13 +0200)
> > Aha, now it is crashing at
> >
> > InsertionSortCollider.cpp:32
> Can you post the script? This is not normal. You had the same crash also
> for the bulldozer that you reported. It works all fine here.
sure. It's a little modified compared to previous script. See attachment.
I am running it with -j5 and let me see at which iteration it crashes....
Hold on. It doesn't.
To trigger the crash I have to generate with this script. I can run
it for a while. Then save to .xml, then restart yade, then load the
saved .xml, run it, and then it crashes.
that's my config.
PREFIX = '/home/janek/40-Yade/Bin/HEAD-fast'
debug = True
optimize = False
exclude = 'none'
features = 'gts,log4cxx,opengl,openmp,python,vtk'
jobs = 12
linkStrategy = 'per-class'
version = 'trunk'
CXX = 'colorgcc'
CXXFLAGS = []
SHCCFLAGS = ['-fPIC']
--
Janek Kozicki http://janek.kozicki.pl/ |
# encoding: utf-8
from yade import pack
from numpy import arange
import itertools
import random
## corners of the initial packing
mn,mx=Vector3(0,0,0),Vector3(10,10,10)
## create material #0, which will be used as default
O.materials.append(FrictMat(young=150e6,poisson=.4,frictionAngle=.4,density=2600))
O.materials.append(FrictMat(young=150e6,poisson=.4,frictionAngle=.2,density=2600,label='frictionless'))
d=14
# clumps
for xyz in itertools.product(arange(0,d),arange(0,d),arange(0,d)):
ids_spheres=O.bodies.appendClumped(pack.regularHexa(pack.inEllipsoid((mn[0]+xyz[0]*(mx[0]-mn[0])/d,mn[0]+xyz[1]*(mx[1]-mn[1])/d,mn[2]+xyz[2]*(mx[2]-mn[2])/d),(0.45+random.random()*0.1,0.45+random.random()*0.1,0.45+random.random()*0.1)),radius=0.15+random.random()*0.05,gap=0,color=[random.random(),random.random(),random.random()]))
## create walls around the packing
walls=utils.aabbWalls(thickness=.1,material='frictionless')
wallIds=O.bodies.append(walls)
## hope that we got the ids right?!
triax=TriaxialCompressionEngine(
wall_bottom_id=wallIds[2],
wall_top_id=wallIds[3],
wall_left_id=wallIds[0],
wall_right_id=wallIds[1],
wall_back_id=wallIds[4],
wall_front_id=wallIds[5],
## important! (otherwise it sets inertia to infinity and crashes??)
internalCompaction=False,
## define the rest of triax params here
## see in pkg/dem/PreProcessor/TriaxialTest.cpp:524 etc
## which are assigned in the c++ preprocessor actually
sigmaIsoCompaction=50e3,
sigmaLateralConfinement=50e3,
max_vel=10,
)
O.engines=[
ForceResetter(),
BoundDispatcher([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
#SpatialQuickSortCollider(),
InsertionSortCollider(nBins=5,sweepLength=.05),
InteractionDispatchers(
[Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_Basic()]
),
GlobalStiffnessTimeStepper(),
triax,
# you can add TriaxialStateRecorder and such hereâ¦
NewtonIntegrator(damping=.4)
]
O.dt=.5*utils.PWaveTimeStep() # initial timestep, to not explode right away
O.saveTmp()
Follow ups
References