balls passing through wall in triaxial test
Hi,
I am simulating Triaxial Test using TriaxialStressC
I noticed some particles flying out of the boundary in the simulation. i.e. all particles should be within the boundary but some particles are flying beyond the walls.
here is my code
from yade import pack, qt, plot, export
compFricDegree=30 # contact friction during the confining phase
finalFricDegree = 30 # contact friction during the deviatoric loading
rate = -0.001 # loading rate (strain rate)
stabilityThreshold = 0.01 # we test unbalancedForce against this value in different loops
young = 5e6 # contact stiffness
mn, mx = Vector3(0, 0, 0), Vector3(1, 1, 1)
O.materials.
O.materials.
walls = aabbWalls([mn, mx], thickness=0, material='walls')
wallIds = O.bodies.
# psdSizes, psdCumm = [75e-6, 150e-6, 212e-6, 300e-6, 425e-6, 600e-6, 1000e-6, 2000e-6, 3350e-6, 4750e-6], [0, 0.14, 0.22, 0.39, 0.48, 0.62, 0.72, 0.85, 0.97, 1]
sp = pack.SpherePack()
sp.makeCloud(mn, mx, rMean=.07, rRelFuzz=.03, periodic=True)
# sp.makeCloud(mn, mx, psdSizes=psdSizes, psdCumm=psdCumm, distributeMass=
O.bodies.
triax = TriaxialStressC
thickness=0,
stressMask=7,
internalCompac
)
O.engines = [
ForceResetter(),
InsertionSortC
InteractionLoo
GlobalStiffnes
triax,
NewtonIntegrat
# VTKRecorder(
PyRunner(
PyRunner(
]
def addPlotData():
plot.addData(
e11=-
ev=-triax.
s11=-
s22=-
s33=-
i=O.iter,
n=triax.porosity
# Etot=O.
# **O.energy
)
O.run(1000,True)
vtkExporter = export.
plot.plots = {
'i ':('s11'
' i ': ('n','ev')
# energy plot
# ' i ': (O.energy.keys, None, 'Etot', 'ev'),
}
plot.plot()
def vtk():
vtkExporter.
vtkExporter.
vtkExporter.
### APPLYING CONFINING PRESSURE ###
triax.goal1 = triax.goal2 = triax.goal3 = -100000
while 1:
O.run(1000, True)
unb=unbalanced
print ('unbalanced force:',unb,' mean stress: ',triax.meanStress)
if unb<stabilityTh
break
# O.save(
print ("### Isotropic state reached ###")
triax.depth0=
triax.height0=
triax.width0=
O.step()
visul.dead=False
graph.dead=False
### DEVIATORIC LOADING ###
# triax.internalC
setContactFrict
triax.stressMask = 5
triax.goal2=rate
triax.goal1=-100000
triax.goal3=-100000
while -triax.strain[1] <0.15:
O.run(10000,1) ######change to 10000
print ("10000 step foreward Strain=
print ("### deviatoric loading finished ###")
plot.saveDataTx
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Jan Stránský
- Solved:
- Last query:
- Last reply: