← Back to team overview

yade-users team mailing list archive

[Question #692704]: Using flow engine got the wrong pressure field

 

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

Hi,
I'm currently simulating a simple seepage problem. My code is as followed:

####################################################
####################################################

from yade import pack, plot, ymport
from numpy import genfromtxt

mn,mx=Vector3(-.25,-.25,0),Vector3(.25,.25,.5) 

SoilMat=CohFrictMat(young=20e9,poisson=0.3,density=2650,frictionAngle=0.7,alphaKr=50,alphaKtw=50,momentRotationLaw=True)
O.materials.append((SoilMat))
O.materials.append(CohFrictMat(young=10e9,poisson=0.5,frictionAngle=0,density=0,label='walls',momentRotationLaw=True))
walls=aabbWalls([mn,mx],thickness=0,material='walls')
wallIds=O.bodies.append(walls)

O.bodies.append(ymport.text('/home/jp/DEMSimulation/Sample/SP-TestSample5.txt',material=SoilMat))

newton=NewtonIntegrator(damping=0.3)

#Engine of the simulation
O.engines=[
	ForceResetter(),
	InsertionSortCollider([Bo1_Box_Aabb(),Bo1_Sphere_Aabb()]),
	InteractionLoop(
		[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom6D(),Ig2_Facet_Sphere_ScGeom6D()],
		[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],
		[Law2_ScGeom6D_CohFrictPhys_CohesionMoment()]
	),
	FlowEngine(dead=1,label="flow"),
	newton,
]

#Time step
O.dt=.1*PWaveTimeStep()

O.run(1,1)

newton.damping=0
flow.dead=0
flow.defTolerance=0.3
flow.meshUpdateInterval=200
flow.useSolver=3
flow.permeabilityFactor=1
flow.viscosity=10
flow.bndCondIsPressure=[0,0,0,0,1,1]
flow.bndCondValue=[0,0,0,0,100,0]
flow.boundaryUseMaxMin=[0,0,0,0,0,0]

####################################################
####################################################

The problem is that the first iteration gives the right result, like [1], while the second and the following gives a wrong pressure field. The pore pressure of some cells may reach -10000 and more, like [2].

I think the problem is with the sample. When I change the SP-TestSample5.txt to the following code:

####################################################
sp=pack.SpherePack()
sp.makeCloud((-.25,-.25,0),(.25,.25,.5),rMean=.0175,rRelFuzz=.5)
sp.toSimulation(material=SoilMat)
####################################################

the result is reasonable again. 
However, I don't know what's wrong with the sample of SP-TestSample5.txt. This txt file can be found in [3]. The way I generate the SP-TestSample5.txt can be found in [4]. Any idea why this happens?

Thank you,
Peilun

[1]https://cloud.tsinghua.edu.cn/f/d076877a726b47808591/
[2]https://cloud.tsinghua.edu.cn/f/ba447f257ddb4caf90e9/
[3]https://cloud.tsinghua.edu.cn/f/7e8ede6246554253aa64/
[4]https://cloud.tsinghua.edu.cn/f/ec0e4790e006474f9c09/

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