yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #22241
Re: [Question #688685]: permeability - PFV
Question #688685 on Yade changed:
https://answers.launchpad.net/yade/+question/688685
Robert Caulk proposed the following answer:
>>You could filter out external elements and use local velocity to
extract flux in the core. That's not straightforward but it could
probably be done (either with c++/python or with paraview).
I just did this, I am pushing the tool you need to the main branch in
case you want to use it. The new tool is called
"getCellVelocity((x,y,z))" which will give you the velocity vector in
python from the cell located at x,y,z (I've also added a
getCellVolume(), which you will need). Now you can use it in python to
sweep over the velocity within some bounded core inside the cylinder:
numPoints = 100
xs = np.linspace(-1,1,numPoints)
ys = np.linspace(-0.5,0.5,numPoints)
zs = np.linspace(-0.25,0.25,numPoints)
cellsHit = []
totalVolume = 0
v = np.array([0,0,0])
for x,y,z in itertools.product(xs, ys, zs):
cellId = flow.getCell(x,y,0)
if cellId in cellsHit: continue
cellsHit.append(cellId)
velocityVector = np.array(flow.getCellVelocity((x,y,z)))
velMag = np.linalg.norm(velocityVector)
cellVol = flow.getCellVolume((x,y,z,))
v = v + cellVol*velocityVector
totalVolume += cellVol
q = np.linalg.norm(v)/totalVolume
kv = q*flow.viscosity/delP
print('perm by volume', kv)
Keep in mind that these two tools are pushed to trunk as a merge request
[1], so it will take a few days before it ends up in yade-daily. If you
want them right after the merge request is accepted, you will need to
compile from source.
[1]https://gitlab.com/yade-
dev/trunk/-/merge_requests/422#c51e9e5dd84092c6d51c98a5615c755e9c18b0c0
--
You received this question notification because your team yade-users is
an answer contact for Yade.