本文主要是介绍PoreSpy和OpenPnm计算渗透率代码的环境配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前段时间在试着运行porespy和openpnm计算渗透率的代码,发现直接用当前版本的包运行示例代码会出现各种报错,经过查看他们的更新日志发现他们已经对包内的大量函数进行了修改,但具体的案例还没有更新,目前网上能找到的示例代码用的也都是以前版本的,这对我和其他的一些同学对文献的复现产生了阻碍。经过了我的尝试后,终于成功的运行了代码,在这里做一个分享。
我这里运行的代码地址如下所示,需要的可以自取:
https://notebook.community/PMEAL/OpenPNM/examples/simulations/Berea%20Sandstone%20-%20Effective%20Permeability
以下是我的环境配置:
①首先是更改安装的python版本,官网中建议的python版本是3.8,这里我们使用的过程中需要改为python3.6(需要注意一下,安装的python版本是要64位的,因为在使用过程中发现32位的python在进行snow算法提取孔隙网络的过程中会出现内存不足的报错)。当然版本一般都是向下兼容的,也可以用更高的版本进行尝试。
②其次是porespy的版本需要是1.3.1,因为再往上的版本中就不会出现snow算法,而是改进后的snow2算法。
③openpnm的版本也需要自降,版本需要修改为2.3.0,同样也是因为在进行物理项配置以及边界条件设置的过程中所需要的函数被修改了。
④若出现了AttributeError:'version_info' object has no attribute '__version__'的报错,需要将pyparsing包的版本改为2.4.7。
⑤若出现docrep的IndexError:tuple index out of range报错,需要将docrep的版本变为0.2.2。
包版本的管理大家可以用pip,也可以和我一样用pycharm内置的包安装
先在Specify上打勾,在右侧框内选择版本,再点击下面的install package
接着就可以直接运行案例里的代码了,如下是我的运行结果:
下图是案例里的运行结果:
案例的结果为944.4486md,我这里重现的结果为944.5732md,完成复现。
这篇关于PoreSpy和OpenPnm计算渗透率代码的环境配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!