精确临界库仑楔:计算和显示临界库仑楔任何参数精确解的工具

eccw的Python项目详细描述


精确临界库仑楔

eccw允许计算临界库仑楔的任何参数的精确解(如dahlen 1984和yuan等人。2015年)。它允许在βvsα域(基底坡度对地表坡度)中绘制这些解中的任何一个。可用于压缩或广泛的地质背景和流体孔隙压力。

eccw在gnu gpl-v3许可下。


一般信息

eccw是一个python3库。

一个用python3编写并使用qt的图形用户界面(gui)也以eccw-gui的名称提供。


安装

窗口

注意

仅在windows 7上测试。

  1. https://conda.io/miniconda.htmlpython环境安装python3 verson of miniconda
    1. 运行下载的.exe;
    2. advanced options步骤中,选中名为add anaconda to my path环境变量的复选框。
  2. 启动windows命令提示符
    1. 键入conda检查conda是否正确安装;
    2. 键入pip检查pip是否也已正确安装。
  3. 命令提示符下使用以下命令安装eccw

    $ pip install eccw
    
  4. eccw可以从command prompt中获得,方法是点击eccw,或者直接从名为eccw的主windows菜单中获得。

Linux

注意

仅在debian 9(gnome)ubuntu 16.04(unity)上测试。

使用pip安装
  1. python3安装piptk。 在debian系列发行版上,可以使用以下命令安装这些包:

    $ sudo apt-get install python3-pip python3-tk
    
  2. 使用以下命令安装eccw

    $ pip3 install eccw
    
  3. eccw可通过点击eccw

    从终端获得。

sources

安装
  1. 为python3安装以下依赖项:

    tk
    pyqt5
    numpy
    matplotlib
    xmltodict

    debian系列发行版上,可以使用以下命令安装这些包:

    $ sudo apt-get install python3-tk python3-pyqt5 python3-numpy python3-matplotlib python3-xmltodict
    
  2. 使用当前工作目录设置在eccw源文件夹上的终端,可以使用以下命令安装eccw

    $ python3 setup.py install
    
  3. 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()

screen copy of matplotlib window containing ECCW plot

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android:在ListView上使用setOnItemClickListener   使用Netbeans 7.0连接到SQL Server的java正在挂起   java Spring3依赖项注入不适用于mule   java Flink SQL结果字段与LocalDateTime上请求的类型错误不匹配   java找不到文件的结尾   考虑到NamingStrategy,java有没有办法将字符串转换为JsonNode?   使用Netbeans/ant部署java(命令行)应用程序   java如何修复Spring引导多部分上载中的“所需请求部分不存在”   java在应用程序启动时通过引用获取映射未知目标实体属性异常   java形状旋转问题Java2d   Weblogic服务器上的java ExecuteAndWaitInterceptor问题   JavaSpringBoot:project将图像保存在错误的路径中,并且在使用IDEIntellji打开时不显示图像   类向java接口添加方法   Swing组件上的Java 7泛型   sql server如何从java获取用户名。sql。联系   java如何检查该行是否与正则表达式(regex)冲突?   java如何在spring引导安全中为计数失败登录设置验证登录为false   图像如何在Java中使PNG的白色透明?