permeability model
Hello,
I'm trying to simulate 1-D flow through a cylindrical sphere packing using the PFV model (FlowEngine) in Yade to mimic water flow through porous concrete . So I want the spheres position to be fixed. I want to impose a pressure on the top surface of the cylinder and get the flux at the bottom surface. There should be no flux on the sides of the cylinder (insulated, flow only in z direction). I have the following questions:
1- should the cylindrical sphere packing be inside a box? If I do the simulation without the box I get a message like "Vh==NULL!! id=6 Point=0.08606 0.0994361 0.0201042 rad=0.0048993" which is repeated for almost all body ids.
if the packing should be bounded by walls then I should have the packing in a cylindrical wall, not in a box?
2- I don't know if my boundary conditions are correct for the case I'm trying to model. based on my understanding from the Yade documentation:
flow.bndCondIsP
so if I want my packing to have pressure on the top surface I should have: flow.bndCondIsP
In my code below (which I wrote it based on the Oedometer code by B. Chareyre), the reason I have my boundary like this: flow.bndCondIsP
I appreciate any help.
Thank you,
Othman
-------------
# -*- coding: utf-8 -*-
from yade import pack, ymport, plot
num_spheres=3000# number of spheres
young=1e6
radiuscyl=.05
heightcyl=.203
compFricDegree = 3 # initial contact friction during the confining phase
finalFricDegree = 30 # contact friction during the deviatoric loading
mn,mx=Vector3(
O.materials.
O.materials.
walls=aabbWalls
wallIds=
sp=pack.
sp.makeCloud(
##
#### cylinder extraction
pred=pack.
spFilter=
spFilter.
yade.qt.View()
for i in O.bodies:
i.state.
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
FlowEngine(
GlobalStiffnes
NewtonIntegrat
]
flow.dead=0
flow.defToleran
flow.meshUpdate
flow.useSolver=3
flow.permeabili
flow.viscosity=10
flow.bndCondIsP
flow.bndCondVal
flow.boundaryUs
O.dt=0.1e-3
O.dynDt=False
O.run(1,1)
Qin = flow.getBoundar
Qout = flow.getBoundar
Qxmin=flow.
Qxmax=flow.
Qymin=flow.
Qymax=flow.
NewtonIntegrato
O.engines=
## a function saving variables
def history():
plot.
plot.saveDataT
plot.plots=
plot.plot()
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Othman Sh
- Solved:
- Last query:
- Last reply: