精确临界库仑楔:计算和显示临界库仑楔任何参数精确解的工具
eccw的Python项目详细描述
精确临界库仑楔
eccw允许计算临界库仑楔的任何参数的精确解(如dahlen 1984和yuan等人。2015年)。它允许在βvsα域(基底坡度对地表坡度)中绘制这些解中的任何一个。可用于压缩或广泛的地质背景和流体孔隙压力。
eccw在gnu gpl-v3许可下。
一般信息
eccw是一个python3库。
一个用python3编写并使用qt的图形用户界面(gui)也以eccw-gui的名称提供。
安装
窗口
注意
仅在windows 7上测试。
- 从https://conda.io/miniconda.htmlpython环境安装python3 verson of miniconda
- 运行下载的.exe;
- 在advanced options步骤中,选中名为add anaconda to my path环境变量的复选框。
- 启动windows命令提示符:
- 键入conda检查conda是否正确安装;
- 键入pip检查pip是否也已正确安装。
在命令提示符下使用以下命令安装eccw:
$ pip install eccw
eccw可以从command prompt中获得,方法是点击eccw,或者直接从名为eccw的主windows菜单中获得。
Linux
注意
仅在debian 9(gnome)和ubuntu 16.04(unity)上测试。
使用pip安装
为python3安装pip和tk。
在debian系列发行版上,可以使用以下命令安装这些包:
$ sudo apt-get install python3-pip python3-tk
使用以下命令安装eccw:
$ pip3 install eccw
eccw可通过点击eccw
从终端获得。
为python3安装pip和tk。 在debian系列发行版上,可以使用以下命令安装这些包:
$ sudo apt-get install python3-pip python3-tk
使用以下命令安装eccw:
$ pip3 install eccw
eccw可通过点击eccw
从终端获得。从sources
安装为python3安装以下依赖项:
tkpyqt5numpymatplotlibxmltodict在debian系列发行版上,可以使用以下命令安装这些包:
$ sudo apt-get install python3-tk python3-pyqt5 python3-numpy python3-matplotlib python3-xmltodict
使用当前工作目录设置在eccw源文件夹上的终端,可以使用以下命令安装eccw:
$ python3 setup.py install
eccw可通过点击eccw
从终端获得。
注意
如果将eccw源文件夹的路径添加到环境变量$PYTHONPATH:
$ export PYTHONPATH=${PYTHONPATH}:path/to/eccw/sources/
这个命令可以添加到您的.bashrc文件(隐藏文件位于您家的根目录下)。 一旦设置了pythonpath,就可以通过在sources文件夹中运行eccw/main.py文件来启动eccw。
用法
下面描述eccw类对象的用法,这些对象可以从python3外壳调用。
eccwcompute
这是计算ccw问题解的核心对象。
>>> from eccw import EccwCompute >>> foo = EccwCompute(phiB=30, phiD=10, beta=0) >>> foo.show_params() { context : 'Compression' beta : 0.0 alpha : nan phiB : 30.0 phiD : 10.0 rho_f : 0.0 rho_sr : 0.0 delta_lambdaB : 0.0 delta_lambdaD : 0.0 } >>> foo.compute("alpha") (3.4365319302835018, 23.946319406533199)
使用compute方法获得的结果始终是两个元素的元组。 第一个结果用于inverse故障机制上下文,第二个结果用于normal故障机制上下文。
beta参数得到一个特异性:在逆上下文。 这就是为什么beta结果是元组的元组。
>>> foo.alpha = 3.436532 >>> foo.compute("beta") ((-1.0516746372768912e-07,), (69.6779628783264,)) >>> foo.alpha = 20 >>> foo.compute("beta") ((), (-3.580929608343892, 43.25889259183777)) >>> foo.alpha = -20 >>> foo.compute("beta") ((36.74110740816224, 83.58092960834391), ())
查看下一节中获得的绘图以了解先前的结果。
eccwplot
这是绘制ccw问题解决方案的核心对象。此对象继承自EccwCompute。
>>> from eccw import EccwPlot >>> foo = EccwPlot(phiB=30, phiD=10) >>> foo.add_curve(inverse={'color':(1,0,0,1), 'label':'inverse'}, normal={'color':(0,0,1,1), 'label':'normal'}) >>> foo.add_point(alpha=3.436532) >>> foo.add_point(alpha=20, style='*', size=10) >>> foo.add_point(alpha=-20, style='s') >>> foo.add_legend() >>> foo.show()