yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #17350
Re: [Question #669404]: A bug for using of Pyrunner[]
Question #669404 on Yade changed:
https://answers.launchpad.net/yade/+question/669404
Status: Answered => Open
De zhang is still having a problem:
Dear Klaus.thoeni,
Thanks for your reply! First I wanted to do a non-sphere assembly triaxial test actually, so I tried a sphere test in advance. As my script is too long to check, I simplified script as following for you to help me.
####-----####
from yade import *...
....# Definition materials parameters...
...# Generation of six boundary walls and sphere particles...
...O.engines=[
ForceResetter(),...
InsertionSortCollider()...
IneractionLoop()...
PyRunner(command=‘TraiStep()’,iterPeriod=1,label='checker'),
PyRunner(command=‘LoadAxial()’,iterPeriod=1,label='loadkeep',dead=True),
PyRunner(command=‘AxialLoading()’,iterPeriod=1,label='axialload',dead=True),
PyRunner(command=‘addPlotData()’,iterPeriod=1,label='plotdata',dead=True),
PyRunner(command=‘Confining()’,iterPeriod=1,label='keepconf',dead=True),
]
###
def TraiStep():
StepNum == 1:
#all last four PyRunner.dead=True
StepNum=StepNum+1
StepNum == 2:
#when the unbalanced Force got to below 0.01, add a loading plate to compact the sphere sample
StepNum=StepNum+1
StepNum == 3:
#when loading plate stress get to 100kPa, skip to next StepNum
StepNum=StepNum+1
StepNum == 4:
loadkeep.dead=False
# Open the PyRunner'LoadAxial()’ to keep the loading plate Stress at 100kPa
StepNum=StepNum+1
StepNum == 5:
# To make a servo to keep the confining stress to 100kPa
StepNum=StepNum+1
.....
def LoadAxial(): # to keep the loading plate stress to 100kPa
def AxialLoading(): # To load after sample generation
def Confining(): # To keep confining pressure to 100kPa
#############################################################
The problem is when at the StepNum == 4, using the 'loadkeep.dead=False' to open the PyRunner LoadAxial(), and at the StepNum==5, the loading plate and confining walls disappeared, I think it might be caused the walls and loading plate were applied large velocity, when I cancel the PyRunner LoadAxial(), the following procedure was normal, and confining walls keep moving to maintain the confining pressure.
I have been confused several days for that PyRunner(), how to solve this discontiunous situation?
--
You received this question notification because your team yade-users is
an answer contact for Yade.