pydiagram是一个python包,用于根据聚合物场理论模拟的结果生成相图。pydiagram还提供了分析仿真结果的功能。

pydiagram的Python项目详细描述


pydiagram是一个python包,用于根据聚合物场理论模拟的结果生成相图。pydiagram还提供了分析仿真结果的功能。

快速启动

一。安装

$ pip install pydiagram

必需的包

  • numpy
  • scipy
  • matplotlib
  • mpltex
  • attrdict
  • PyYAML

important note:pip或easy_install无法安装pyyaml。请通过下载其源代码安装它,并使用python setup.py install安装它,请参阅PyYAML Documentation上的详细信息。

2.使用pydiagram作为可执行文件

要使用可执行文件pydiagram,您需要提供一个项目配置文件配置文件采用yaml格式。pydiagram包附带了三个示例配置文件config_polyorder.ymlconfig_polyfts.ymlconfig_pydiagram.yml。您可以将其中一个复制到项目根目录并对其进行任何必要的修改。

典型用法。

pydiagram [-v][-h][-p][-q][-s][-m]
  • pydiagram -p

此命令处理当前目录中的仿真数据它将把diagraminfo_mapboundary对象保存为Python pickle文件可以使用solver选项在项目配置文件中指定解析器。

  • pydiagram -q

根据项目配置文件中指定的打印模式,此命令将打印请求的图形并将其保存为文件。

  • pydiagram -s

此命令将作为服务器运行pydiagram。

  • pydiagram -m

此命令将以手动模式运行pydiagram,它将提交在项目配置文件中的predictor.manual中指定的其他模拟作业。

三。使用pydiagram作为库

您可以使用pydiagram函数自定义自己的处理、绘制和预测脚本。如前一节所述,脚本还将依赖于项目配置文件

典型用法。

importpydiagramimportmatplotlib.pyplotasplt# Generate diagram by specifying the folder where data locate.# This will require the output data files from supported solvers.# Here assume the project configuration file in the current directory.diagram=pydiagram.get_diagram()# Plot the raw diagramfig,ax=plt.subplots(1)pydiagram.plot_diagram(ax,diagram)# Or you can generate diagram from .dgm file# First load .dgm file to get info_mapxaxis,yaxis,info_map=pydiagram.load_dgm('phase_data.dgm')diagram=pydiagram.get_diagram_from_info_map(info_map)# You can find phase boundary from digaramboundary=pydiagram.get_boundary(diagram,info_map)# And plot it as scatter pointspydiagram.plot_boundary_point(ax,boundary)# Or plot it as linepydiagram.plot_boundary_line(ax,boundary)# PyDiagram also provides a plot function for plotting diagram points# and phase boundary together.pydiagram.plot_phase_diagram(diagram,boundary,settings,xaxis,yaxis)# To analyze the simulation results, PyDiagram also provides# a plotting function which will plot F vs. x or F vs. y,# a vs. x or a vs. y, and accuracy vs. x or accuracy vs. y.pydiagram(info_map,xaxis,yaxis,path,phases,val)

上述所有功能都有更多的可用选项来微调处理和绘图。有关详细信息,请参考源代码或直接通过电子邮件与我联系

四。DGM文件格式

对于非PolyorderPolyFTS用户,要使用PyDiagram,必须按照dgm文件格式从模拟结果生成自己的dgm文件

dgm文件的格式。

第一行:

[x-axis name] [y-axis name]

其他行:

[x] [y] [phase] [F] [a] [accuracy] [separation state]
  • ^ TT24}$:相图中X轴的变量名。
  • ^ TT25}$:相图中y轴的变量名。
  • xy:相图中的坐标。
  • phase:阶段结构的名称。
  • F:对应相结构的吉布斯自由能
  • a:无拉伸单元格大小
  • accuracy:对应模拟的剩余误差。
  • separation state:模拟是否产生相分离结构?0表示否,1表示是

前五列是必需的,后两列是可选的。 可选值按其顺序假定。 例如,如果只提供了6列,那么第6列将被解释为accuracy

示例:

f   xN
0.1 12.5    HEX 3.953993    2.9543  8.7e-7  1
0.1 12.6    LAM 3.970134    2.5877  1.7e-8  1

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

推荐PyPI第三方库


热门话题
java Intellij通过方法中的包查找用法   java中VS代码和打包命名的问题   将java CMS功能集成到具有高度动态内容的网站(Lucene/Mysql/Nosql)的策略   oracle的java类强制转换异常。jdbc。驾驶员OracleConnection   字节码向JVM添加上指令   如何在抽象类中执行java方法?   java是否可以在apache访问日志中排除指定的GET参数?(作者:W7开发环境)   java如何获取已安装音频播放器的列表?   尝试向HS学生展示如何使用Java访问MS数据库   使用正则表达式java对给定行中的特定字符串进行计数   java JOOQ Select查询中的Select计数   方法Java,如何从二维双精度数组中找到特定值?   获取图像URL的java正则表达式   java在切换到新的窗口驱动程序后找不到元素