← Back to team overview

yade-users team mailing list archive

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.