'checkUnbalanced' is not defined
Hello Yade friends!
I'm just a beginner using yade. This for sure might be a dummie question, I was wondering if someone can help me.
I'm trying to execute the example script of the oedometric test. The prompt state the following information: "name 'checkUnbalanced' is not defined". I understand that this might be because of a reading procedure from the interpreter. I used a O.step() just after the interaction loop. Nonetheless I still having the same NameError. This is the script:
$ yade-batch --job-threads=1 03-oedometric-
#
# load parameters from file if run in batch
# default values are used if not run from batch
readParamsFromT
# make rMean, rRelFuzz, maxLoad accessible directly as variables later
from yade.params.table import *
# create box with free top, and ceate loose packing inside the box
from yade import pack, plot
O.bodies.
sp=pack.
sp.makeCloud(
sp.toSimulation()
O.engines=[
ForceResetter(),
# sphere, facet, wall
InsertionSor
InteractionLoop(
# the loading plate is a wall, we need to handle sphere+sphere, sphere+facet, sphere+wall
[
[
[
),
NewtonIntegr
# the label creates an automatic variable referring to this engine
# we use it below to change its attributes from the functions called
PyRunner(
]
O.step()
O.dt=.5*
# the following checkUnbalanced, unloadPlate and stopUnloading functions are all called by the 'checker'
# (the last engine) one after another; this sequence defines progression of different stages of the
# simulation, as each of the functions, when the condition is satisfied, updates 'checker' to call
# the next function when it is run from within the simulation next time
# check whether the gravity deposition has already finished
# if so, add wall on the top of the packing and start the oedometric test
def checkUnbalanced():
# at the very start, unbalanced force can be low as there is only few contacts, but it does not mean the packing is stable
if O.iter<5000: return
# the rest will be run only if unbalanced is < .1 (stabilized packing)
if unbalancedForce
# add plate at the position on the top of the packing
# the maximum finds the z-coordinate of the top of the topmost particle
O.bodies.
global plate # without this line, the plate variable would only exist inside this function
plate=
# Wall objects are "fixed" by default, i.e. not subject to forces
# prescribing a velocity will therefore make it move at constant velocity (downwards)
plate.
# start plotting the data now, it was not interesting before
O.engines=
# next time, do not call this function anymore, but the next one (unloadPlate) instead
checker.
Regards and thank all of you in advance!
Aurora
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Bruno Chareyre
- Solved:
- Last query:
- Last reply: