Why is there so much negative water pressure
Hello everyone:
I am a beginner in PFV, i have a bit of problem with water pressure in PFV and DFNFlowEngine. I am trying to inject water in a cubic rock matrix with flow.imposeFlux
1. Why there is negative water pressure, what is the reason,
2. how to avoid the occurrence of negative water pressure.
3. Is negative water pressure due to a problem with my script.
And There is my code:
##################
from yade import ymport, utils, plot
import math
import random
from pylab import *
print '\nRunning!\n'
PACK='10Kspheres'
intR=1.245
DFN='penny_R0.1'
DENS=2000
YOUNG=20e9
ALPHA=0.12
TENS=40e6
COH=40e6
FRICT=30
KFluid=2.2e9
visc=1.e-3
pFactor=1e-22
slotAperture=1e-5
DENS_FLUID=1000
flowRate=0.001
saveData=10
iterMax=10
saveVTK=10
OUT=PACK+
O.bodies.
dim=utils.
xinf=dim[0][0]
xsup=dim[1][0]
X=xsup-xinf
yinf=dim[0][1]
ysup=dim[1][1]
Y=ysup-yinf
zinf=dim[0][2]
zsup=dim[1][2]
Z=zsup-zinf
R=0
Rmax=0
numSpheres=0.
for o in O.bodies:
if isinstance(
numSpheres+=1
R+=o.
if o.shape.
Rmax=
Rmean=R/numSpheres
print 'Pre-processing concluded!\n'
print 'X=',X,' | Y=',Y,' | Z=',Z,' \nSphere numbers =',numSpheres,' | Rmean=',Rmean
O.reset()
def sphereMat(): return JCFpmMat(
def wallMat(): return JCFpmMat(
mn,mx=Vector3(
walls=utils.
wallIds=
O.bodies.
import gts
v1 = gts.Vertex(
v2 = gts.Vertex(
v3 = gts.Vertex(
v4 = gts.Vertex(
e1 = gts.Edge(v1,v2)
e2 = gts.Edge(v2,v4)
e3 = gts.Edge(v4,v1)
f1 = gts.Face(e1,e2,e3)
e4 = gts.Edge(v4,v3)
e5 = gts.Edge(v3,v2)
f2 = gts.Face(e2,e4,e5)
s1 = gts.Surface()
s1.add(f1)
s1.add(f2)
facet = gtsSurface2Face
O.bodies.
yade.qt.View()
yade.qt.
execfile(
flow=DFNFlowEngine(
)
O.engines=[
Interaction
),
flow,
PyRunner(
]
def saveFlowVTK():
flow.saveVtk(
print('Save flow ', O.iter)
O.step()
SSgeom.
Saabb.aabbEnlar
flow.isActivated=1
saveFlow.dead=0
O.step()
flow.imposeFlux
O.dt=1e-7
#######
Best regards and thanks in advance
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- 2020-10-27
- Last reply:
- 2020-10-28
Hi,
Did you check that a flux equal to -0.01 doesn't actually means fluid is pumped out (instead of being injected)?
Bruno
Liu Changdong (changdong) said : | #2 |
Hi Bruno
Thank you very much for your answer. But I don't quite understand your answer. Isn't [1] injecting flux at postion (x,y,z)? And positive for outflux , negative for influx . Can you explain that again?
tkanks
Changdong Liu
[1] https:/
I honestly don't remember the sign convention but I guess it is easy to check on your side.
If changing the sign of the source term changes the sign of the fluid pressure then you have you answer.
If it doesn't, then something else is going on.
If you find inconsistent sign convention between documentation and code please report it here.
Bruno
Can you help with this problem?
Provide an answer of your own, or ask Liu Changdong for more information if necessary.