PMEAL / OpenPNM

A Python package for performing pore network modeling of porous media
http://openpnm.org
MIT License
446 stars 174 forks source link

Implement Imperial hydraulic conductance model #1176

Closed jgostick closed 5 years ago

jgostick commented 5 years ago

We really need to ensure that imported statoil files (from maximal ball) predict the correct permeability. I think this will require a specific pore - scale model based on the ICL papers, that includes shape factors and whatnot correctly.

TomTranter commented 5 years ago

I cannot get the permeability to match poreflow for Berea or a Cubic Network generated by their code. I've even attempted to to debug their code but I can't build it in visual studio and I'm not good enough with C++ to figure it out looking at the source code. The equations they give in their papers are very similar to ours and they even have data in the files that is equivalent to our new conduit_lengths which we were ignoring. I have a model that I think should work and gets closer to their answer but is still off. I'll update what I've done so far. It might be worth contacting them to see if they are interested in helping/providing newer code.

kay1kh commented 5 years ago

I am currently working with a pore network generated in Statoil format by the newer version of the "pore network extraction code" developed by Dr. Blunt's group published in 2018. You can find the code here: https://github.com/aliraeini/pnextract The output is still the same: 4 files for throats and pores (the newer version is a combo of maximal ball and medial axis methods) with improved performance.

My question is about the shape factors (pores and throats). How do we pass it on to the phase object? is that currently doable? I'm currently using Hagen_Poiseuille to calculate conductance and the abs. permeability that is calculated doesn't match the one calculated by Imperial's two phase flow simulator. I am having difficulty figuring out how to calculate hydraulic conductance with shape factors in openpnm.

I'm using OpenPNM (version 2.0.1) in Spyder 3.1.4. Thanks!