Capillary law
Hi
For my packing (r=0.0012) i have a capillary pressure of 10 kPa. But when i click on the inspect option, i see delta 1 and delta 2 as zero even if capillary pressure of 10 is showing. Even, fcap and Vmeniscus is also zero. I tried to change the capillary pressure but still gets the same problem. Then i changed my particle radius to .001, then for the same capillary pressures (0&10) i am getting all the entries as non-zero. Thus, i dont understand whether is it a problem with my packing or there is some something i am missing?
Here are my scripts for generating packing (script 1) and loading (script 2):
#######
#script 1
#######
# generate loose packing
from yade import pack, qt, plot
#some parameters:
young_modulus=5e6
friction = 0.6
angle = atan(friction)
targetPorosity=0.42
local_damping = 0.01
stabilityThresh
viscous_normal = 0.021
viscous_shear = 0.8*viscous_normal
mn = Vector3(0,0,0)
mx = Vector3(
#key ='_triax_base_',
#creating a material (FrictMat):
O.materials.
#SphereMat=
O.materials.
#generate boundary:
walls=aabbWalls
wallIds=
#generate particles:
sp=pack.
sp.makeCloud(
O.bodies.
triax=TriaxialS
)
#define engines:
O.engines=[
ForceResetter(),
InsertionSort
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
Law2_
GlobalStiffne
NewtonIntegra
]
#apply isotropic compression
triax.goal1=
while 1:
O.run(1000, True)
##the global unbalanced force on dynamic bodies, thus excluding boundaries, which are not at equilibrium
unb=unbalance
print 'unbalanced force:',unb,' mean stress: ',triax.meanStress
if unb<stabilityTh
break
print 'out'
import sys #this is only for the flush() below
while triax.porosity>
## we decrease friction value and apply it to all the bodies and contacts
friction = 0.95*friction
setContactFric
print "\r Friction: ",friction," porosity:
sys.stdout.flush()
## while we run steps, triax will tend to grow particles as the packing
## keeps shrinking as a consequence of decreasing friction. Consequently
## porosity will decrease
O.run(500,1)
setContactFrict
print '\r Friction_angle:', friction
O.save(
O.pause()
##################
#Script 2
##################
from yade import plot
import numpy
O.load(
triax_iso=
)
#define engines:
O.engines=[
ForceResetter(),
InsertionSort
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
Law2_
GlobalStiffne
NewtonIntegra
]
#apply isotropic compression
triax_iso.
def addPlotData():
plot.addData(
i=O.iter,
s11=
e11=
)
#set time step and run simulation:
O.dt=0.
plot.plots={'i ':('s11'
#show the plot
plot.plot()
#save the plot
#plot.saveDataT
from yade import qt
qt.View()
print('Press PLAY button')
Thanks
Amiya
Question information
- Language:
- English Edit question
- Status:
- Expired
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply: