How to reach confinement for triaxial test without using particle growing
Hi,
In [1], it shows a method to reach isotropic state by using particle growing (internalCompac
For example, the size of initial packing is 0.7*0.7*1.4 (i.e. mn,mx=Vector3(
###########
from yade import pack, plot
nRead=readParam
num_spheres=1000,
compFricDegree = 30,
key='_
unknownOk=True
)
from yade.params import table
num_spheres=
key=table.key
targetPorosity = 0.43
compFricDegree = table.compFricD
finalFricDegree = 30
rate=-0.02
damp=0.2
stabilityThresh
young=5e6
mn,mx=Vector3(
O.materials.
O.materials.
walls=aabbWalls
wallIds=
sp=pack.
sp.makeCloud(
O.bodies.
Gl1_Sphere.
### DEFINING ENGINES ###
triax=TriaxialS
maxMultiplier=
finalMaxMultip
thickness = 0,
stressMask = 7,
internalCompac
)
newton=
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
GlobalStiffnes
triax,
newton
]
Gl1_Sphere.
if nRead==0: yade.qt.
### APPLYING CONFINING PRESSURE ###
triax.goal1=
while 1:
O.run(1000, True)
unb=unbalanced
print 'unbalanced force:',unb,' mean stress: ',triax.meanStress
if unb<stabilityTh
break
print "### Isotropic state saved ###"
### REACHING A SPECIFIED POROSITY PRECISELY ###
import sys
while triax.porosity>
# we decrease friction value and apply it to all the bodies and contacts
compFricDegree = 0.95*compFricDegree
setContactFric
print "\r Friction: ",compFricDegree," porosity:
sys.stdout.flush()
O.run(500,1)
print "### Compacted state saved ###"
#######
Could you please give some instructions?
Thanks,
Leonard
[1]https:/
[2]https:/
[3]https:/
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Leonard
- Solved:
- Last query:
- Last reply: