hertz model
Hi All,
I'm trying to use this constitutive model (Law2_ScGeom_
here is my code:
#######
#######
### DEFINING PARAMETERS ###
#######
from yade import pack, plot
targetPorosity=
compFricDegree=45.0
finalFricDegree
rate=-0.5
damp=0.7
stabilityThresh
young=4e8
mn,mx=Vector3(
#######
#######
#######
O.materials.
O.materials.
walls=aabbWalls
wallIds=
sp=pack.
psdSizes=
psdCumm=
sp.makeCloud(
sp.toSimulation
O.dt=.5*
#######
### DEFINING ENGINES ###
#######
triax=TriaxialS
maxMultiplier=
finalMaxMultip
thickness=0,
stressMask=7,
internalCompac
)
newton=
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
GlobalStiffnes
triax,
#VTKRecorder(
#TriaxialState
newton
]
#######
#### APPLYING CONFINING PRESSURE ###
#######
triax.goal1=
while 1:
O.run(3000,True)
unb=unbalanced
print 'unbalanced force: ',unb,'mean stress: ',triax.meanStress
if unb<stabilityTh
break
#######
#### REACHING A SPECIFIED POROSITY PRECISELY ###
#######
##import sys #this is only for the flush() below
while triax.porosity>
compFricDegree = 0.95*compFricDegree
setContactFric
print "\r Friction: ",compFricDegree," porosity:
sys.stdout.flush()
O.run(500,1)
#set new friction angle
triax.wall_
triax.wall_
triax.wall_
triax.wall_
triax.wall_
triax.wall_
setContactFrict
while 1:
O.run(3000,True)
unb=unbalanced
print 'unbalanced force: ',unb,'mean stress: ',triax.meanStress
if unb<stabilityTh
break
print "porosity= ",triax.porosity
triax.goal1=
while 1:
O.run(1000, True)
#the global unbalanced force on dynamic bodies, thus excluding boundaries, which are not at equilibrium
unb=
print 'unbalanced force:',unb,' mean stress: ',triax.meanStress
if unb<stabilityTh
break
#O.save(
print "### Compacted state saved ###"
print "porosity= ",triax.porosity
re11=-triax.
re22=-triax.
re33=-triax.
#######
##### DEVIATORIC LOADING ###
#######
triax.stressMask = 5
newton=
#now goal2 is the target strain rate
triax.goal2=rate
# we define the lateral stresses during the test, here the same 10kPa as for the initial confinement.
triax.goal1=-100000
triax.goal3=-100000
triax.strainRate2=1
triax.strainRat
#######
#### Example of how to record and plot data ###
#######
def history():
plot.
s11=
s22=
s33=
plot.saveDataT
if 1:
## include a periodic engine calling that function in the simulation loop
O.engines=
#O.engines=
##O.engines.
else:
O.engines[
#O.engines[
O.run(1000000,True)
#######
I'm using High-performance computing with 22 CPUs.
#######
There are no errors.
#######
The total number is around 10000.
The unbalanced force did not reach the threshold (= 0.001) after one day.
I want to know if this situation is reasonable? (because when I use this constitutive model: Law2_ScGeom6D_
#######
best,
Yong
Question information
- Language:
- English Edit question
- Status:
- Expired
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply: