yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #18626
[Question #676980]: PeriTriaxController control
New question #676980 on Yade:
https://answers.launchpad.net/yade/+question/676980
Hi,
While learning PeriTriaxController,I think I misunderstood the meaning of the parameters.The goal is the target pressure and relStressTol gives the target a range to float up and down.The condition at the end of compression is that any axis is within the range of goal+or-relStressTol and the unbalanced force is lower than maxUnbalanced.But the terminal displays this data.
(0.0, 0.0, 0.0, nan)
(0.0, 0.0, 0.0, nan)
(0.0, 0.0, 0.0, nan)
(0.0, 0.0, 0.0, nan)
(0.0, 0.0, 0.0, nan)
(0.0, 0.0, 0.0, nan)
(0.0, 0.0, 0.0, nan)
(0.0, 0.0, 0.0, nan)
Finished
Please point out my mistake, thank you.
Feng
Here's my script
######################
# encoding: utf-8
from yade import pack, qt, plot
O.periodic=True
spheres=O.materials.append(FrictMat(young=64e9,poisson=0.12,density=2650,frictionAngle=0.0005))
s=O.materials.append(FrictMat(young=64e9,poisson=0.12,density=2650,frictionAngle=0.231))
sp=pack.SpherePack()
sp.makeCloud((0,0,0),(5,5,5),rMean=.5,rRelFuzz=.5,periodic=True)
n=sp.toSimulation(material=spheres)
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),
PeriTriaxController(label='triax',
goal=(20,20,20),stressMask=7,
dynCell=True,maxStrainRate=(0.2,0.2,0.2),
maxUnbalanced=1,relStressTol=1,
doneHook='compactionFinished()'
),
NewtonIntegrator(damping=.1),
PyRunner(command='addPlotData()',iterPeriod=300),
]
O.dt=1*PWaveTimeStep()
O.trackEnergy=True
def addPlotData():
print(triax.stress[0],triax.stress[1],triax.stress[2],unbalancedForce())
qt.View()
qt.Controller()
O.saveTmp()
def compactionFinished():
for i in n:
O.bodies[i].material = O.materials[s]
triax.doneHook='triaxFinished()'
triax.maxUnbalanced=1
def triaxFinished():
print 'Finished'
O.pause()
--
You received this question notification because your team yade-users is
an answer contact for Yade.