I don not understand how to simulate triaxial-test in Yade.
Hello, everybody!
Although Yade provides a tutorial of Periodic triaxial test, I still not understand the role of PeriTriaxContro
By documentation, I understand the role of ForceResetter() is to reset force, InsertionSortCo
So could you give me the role of played by PeriTriaxContro
Here is the codes:
from __future__ import print_function
sigmaIso=-1e5
#import matplotlib
#matplotlib.
# generate loose packing
from yade import pack, qt, plot
O.periodic=True
sp=pack.
if 0:
## uniform distribution
sp.makeCloud(
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.makeClumpCl
# setup periodic boundary, insert the packing
sp.toSimulation()
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
PeriTriaxContr
# 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
maxUnbalanced
# call this function when goal is reached and the packing is stable
doneHook=
),
NewtonIntegrat
PyRunner(
]
O.dt=.5*
def addPlotData():
plot.addData(
sxx=triax.
exx=triax.
# 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.stressMask=3
# 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()
Thanks!
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: