← Back to team overview

yade-users team mailing list archive

Re: [Question #287494]: PSDSize coupling PFV problem

 

Question #287494 on Yade changed:
https://answers.launchpad.net/yade/+question/287494

Diego Sotro posted a new comment:
hi Luc,
this is a ""clean Script" i have 6 walls, there are only two activates (wall 5 and 6) the pressure difference produce seepage. i didn't have any problem whit many others size distributions .


from yade import geom, utils, export, pack, __builtin__, plot

D=0.05 #dimension final 0.05
H=0.60 #dimension final ?????
conf=10000 #10[KPa]
load=conf*D*D
fecha="10/02/2016"
mn,mx=Vector3(0,0,0),Vector3(D,D,1.3*H)
num_spheres=-1
mu=0.001
Pi=10
g=9.81
rhoh=1000
rhos=2600
young=1e7
angfric = 30
Sd=0.68
Vel=H/4

psdSizes=[2e-4, 6e-4, 8e-4, 2e-3, 3e-3 , 6e-3, 7.5e-3]
psdCumm=[0.0, 0.05, 0.08, 0.16, 0.28, 0.88 , 1.]

O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=0,density=0,label='walls'))
O.materials.append(FrictMat(young=young,poisson=0.5,frictionAngle=radians(angfric),density=rhos,label='sph'))

walls=aabbWalls([mn,mx],thickness=0,material='walls')
wallIds=O.bodies.append(walls)

sph1=pack.SpherePack()
sph1.makeCloud(mn,mx,-1,0,num_spheres,False, 0.65,psdSizes,psdCumm,True,seed=1)
#sp.makeCloud( minCorner=mn, maxCorner=mx, rmean= -1, rRelFuzz=0, intnum=-1, periodic= False, porosity=0.65, psdSizes=Sizes, psdCumm=Cumm, distributeMass=False, seed=0)
sph1.toSimulation(material='sph')

newton=NewtonIntegrator(damping=0.2,gravity=(0,0,-9.81))
O.bodies[5].state.vel[2]=-Vel

def parar():
   carga=O.forces.f(5)[2]
   if abs(carga)>0.65*load:
    O.bodies[5].state.vel[2]=-Vel/2 #agilizando la cosa
   if abs(carga)>0.85*load:
    O.bodies[5].state.vel[2]=-Vel/4
   if abs(carga)>0.95*load:
    O.bodies[5].state.vel[2]=-Vel/10
   if abs(carga)>1.03*load:
    O.bodies[5].state.vel[2]=0
    O.pause()
    flow.dead=0
    flow.defTolerance=0.03
    flow.useSolver=3
    flow.permeabilityFactor=1
    flow.viscosity=mu
    flow.bndCondIsPressure=[0,0,0,0,1,1]
    flow.bndCondValue=[0,0,0,0,Pi,0]
    flow.boundaryUseMaxMin=[0,0,0,0,0,0]
    flow.meshUpdateInterval=50
    flow.viscousNormalBodyStress=1
    flow.multithread=1
    flow.viscousShearBodyStress=1
    print "time= ", __builtin__.time1
    O.save('/home/diego/memoria/YADE/Codigos/PSDSkempton/granSkempton_D/D3_conf.bz2')
    O.run()
    muro.dead=1

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()],
),
FlowEngine(dead=1, label="flow"),
GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
newton,
PyRunner(command='parar()', iterPeriod=50, firstIterRun=90100, label="muro"),
]

O.run()

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