← Back to team overview

yade-users team mailing list archive

[Question #658938]: Modeling presence of water( a degree of saturation) in consolidation test

 

New question #658938 on Yade:
https://answers.launchpad.net/yade/+question/658938

Hi Yade friends,

I have been trying to work on the Oedometric consolidation test. So far ( with help from Jan :) )  I have been able to work out the test on a dry granular media . The current trial script is as follows:


from yade import pack,plot
import math,time
from math import sin,cos

def cylSurf(center,radius,height,nSegments=12,thick=0,**kw):
   """creates cylinder made of boxes. Axis is parallel with z+"""
   center = Vector3(center)
   angles = [i*2*pi/nSegments for i in range(nSegments)]
   pts = [center + Vector3(radius*cos(a),radius*sin(a),.5*height) for a in angles]
   ret = []
   for i,pt in enumerate(pts):
      l = pi*radius/nSegments
      es = (.5*thick,l,.5*height)
      ori = Quaternion((0,0,1),i*2*pi/nSegments)
      ret.append(box(pt,es,ori,**kw))
   return ret

surf = cylSurf((1,2,3),4,5,nSegments=12,thick=.1,wire=True)
O.bodies.append(surf)
for b in surf: b.state.blockedDOFs='xyzXYZ'
pred=pack.inCylinder((1,2,3),(1,2,8),4)
sp=pack.randomDensePack(pred,radius=0.20,spheresInCell=450)
O.bodies.append(sp)
yade.qt.Controller()
lower_plateID=O.bodies.append(box((1,2,3),(4,4,0.0002)))
O.bodies[lower_plateID].state.blockedDOFs = 'xyzXYZ'
upper_plate=box((1,2,8),(4,4,0.0002))
#upper_plate.state.mass= 1.5
upper_plateID=O.bodies.append(upper_plate)
O.forces.addF(upper_plateID,(0,0,-0.02),permanent=True)
O.engines=[ForceResetter(),InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),InteractionLoop([Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],[Ip2_FrictMat_FrictMat_FrictPhys()],[Law2_ScGeom_FrictPhys_CundallStrack()]),PyRunner(iterPeriod=100,command="addPlotData()"),NewtonIntegrator(gravity=[0,0,-9.81],damping=0.1)]
O.dt= 0.3*PWaveTimeStep()

def addPlotData():
  Dz=upper_plate.state.displ()[2]
  t= O.time
  plot.addData(Tx=math.sqrt(t), Dz=Dz)
  
plot.plots= {'Tx':('Dz')}
plot.plot()

I am wiondering if there is a possibility to include and thus model the presence of water ( degree of saturation) to the dry granular media. I have been going through the documentation but so far  the only relevant thing I found was the use of flowEngines &. there are no examples for me to look at and understand the application.

Could you please help in this regard.. :) 


-- 
You received this question notification because your team yade-users is
an answer contact for Yade.