Periodic triaxial test example in chapter 2 does not work
Hello,
Periodic triaxial test examplein chapter 2 (Tutorial) does not work.
------------when I use yade 0.70 it gives the message as fllow:
yade.plot: creating new line for kinetic
yade.plot: creating new line for elastPotential
yade.plot: creating new line for nonviscDamp
yade.plot: creating new line for velGradWork
yade.plot: creating new line for plastDissip
FATAL /build/
Body #270 has velocity==NaN!
------------when I use yade 0.80 it gives the message as fllow:(Yade 0.80.0+
)
Yade [1]: FATAL /build/
PeriTriaxController run on aperiodic simulation.
yade.plot: creating new line for kinetic
yade.plot: creating new line for nonviscDamp
the scripts is in 2.6.6 Periodic triaxial test in yade document , for easy, list as fllowing:
-------
# encoding: utf-8
# periodic triaxial test simulation
#
# The initial packing is either
#
# 1. random cloud with uniform distribution, or
# 2. cloud with specified granulometry (radii and percentages), or
# 3. cloud of clumps, i.e. rigid aggregates of several particles
#
# The triaxial consists of 2 stages:
#
# 1. isotropic compaction, until sigmaIso is reached in all directions;
# this stage is ended by calling compactionFinis
# 2. constant-strain deformation along the z-axis, while maintaining
# constant stress (sigmaIso) laterally; this stage is ended by calling
# triaxFinished()
#
# Controlling of strain and stresses is performed via PeriTriaxContro
# of which parameters determine type of control and also stability
# condition (maxUnbalanced) so that the packing is considered stabilized
# and the stage is done.
#
sigmaIso=-1e5
#import matplotlib
#matplotlib.
# generate loose packing
from yade import pack, qt, plot
sp=pack.
if 0:
## uniform distribution
sp.makeCloud
elif 0:
## per-fraction distribution
## passing: cummulative percentage
sp.particleS
else:
## create packing from clumps
# configuration of one clump
c1=pack.
# make cloud using the configuration c1 (there could c2, c3, ...; selection between them would be random)
sp.makeClump
# setup periodic boundary, insert the packing
sp.toSimulation()
O.engines=[
ForceResetter(),
InsertionSor
InteractionLoop(
[
[
[
),
NewtonIntegr
PeriTriaxCon
# specify target values and whether they are strains or stresses
goal=
# type of servo-control
dynCell=
# wait until the unbalanced force goes below this value
maxUnbala
# call this function when goal is reached and the packing is stable
doneHook=
),
PyRunner(
]
O.dt=.5*
def addPlotData():
plot.
sxx=
exx=
# save all available energy data
Etot=
)
# enable energy tracking in the code
O.trackEnergy=True
# define what to plot
plot.plots=
# energy plot
' i ':(O.energy.
}
# show the plot
plot.plot()
def compactionFinis
# set the current cell configuration to be the reference one
O.cell.
# change control type: keep constant confinement in x,y, 20% compression in z
triax.
triax.
# allow faster deformation along x,y to better maintain stresses
triax.
# next time, call triaxFinished instead of compactionFinished
triax.
# do not wait for stabilization before calling triaxFinished
triax.
def triaxFinished():
print 'Finished'
O.pause()
-------
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask liucheng83 for more information if necessary.