化学工程设计库(ChEDL)化学性质组成

chemicals的Python项目详细描述


Version_statusDocumentationBuild_statuslicenseCoverageSupported_versionsJoin the chat at https://gitter.im/CalebBell/chemicalsBuild_statusZenodo

Key Features & Capabilities

化学图书馆的特点是广泛汇编纯成分 可以为工程师、科学家、技术人员和任何人提供服务的化学数据 使用化学药品。化学品库便于检索和 计算:

  • 化学常数包括式、分子量、正常沸腾和 熔点,三相点,形成热,绝对熵 形成,聚变热,相似变量,偶极矩,埃森里克 因素等
  • 各种化学品的安全性和毒性信息。在
  • 温度计算方法(及其各自的系数) 和压力相关的化学性质,包括蒸汽压, 热容,摩尔体积,热导率,表面张力,动态 粘度、汽化热、相对介电常数等
  • 求解热力学相平衡的方法,包括闪蒸程序, 汽液平衡常数关联式,以及数值和 Rashford-Rice和Li-Johns-Ahmadi方程的解析解。 也可提供用于3个或更多相系统的Rashford Rice解决方案。在

超过20000种化学品的数据作为本地数据库提供 图书馆。所有数据库都按需加载,节省了加载时间和RAM。为 例如,如果只需要正常沸点的数据 库将只加载正常沸点数据集。这种按需加载 这一特性使化学品库成为软件的一个有吸引力的依赖项 化学过程建模。事实上,The Biorefinery Simulation and Techno-Economic Analysis Modules (BioSTEAM) 依赖化学品库来模拟单元操作。在

化学品库还支持与 Numba,一个功能强大的加速器 很好,有NumPy;Pint数量 用于跟踪计量单位的对象;以及 纽比vectorized 功能。在

如果你需要了解一种化学物质,试试化学物质。在

Installation

获取最新版本的化学品 https://pypi.python.org/pypi/chemicals/

如果安装了带有pip的Python,则只需使用以下命令进行安装:

$ pip install chemicals

要获取git版本,请运行:

$ git clone git://github.com/CalebBell/chemicals.git

Documentation

化学品文件可在网站上获取:

http://chemicals.readthedocs.io/

Getting Started

图书馆是围绕国际单位制设计的。常数的求取 化学性质由CASRN完成:

>>>fromchemicalsimportCAS_from_any,MW,Tb,Tm,Tc,Pc,Vc,Hfus,Hfs,Hfl,Hfg,S0s,S0l,S0g>>># Search for CASRN by a common name or a unique identifier such as the IchI key>>>CAS_water=CAS_from_any('Water')>>>MW(CAS_water)# Molecular weight [g/mol]18.01528>>>Tb(CAS_water)# Normal boiling point [K]373.124>>>Tm(CAS_water)# Melting point [K]273.15>>>Tc(CAS_water)# Critical temperature [K]647.14>>>Pc(CAS_water)# Critical pressure [Pa]22048320.0>>>Vc(CAS_water)# Critical volume [m^3/mol]5.6000000000000006e-05>>>Hfus(CAS_water)# Heat of fusion [J/mol]6010.0>>>Hfs(CAS_water)# Solid heat of formation [J/mol]None>>>Hfl(CAS_water)# Liquid heat of formation [J/mol]-285825.0>>>Hfg(CAS_water)# Gas heat of formation [J/mol]-241822.0>>>S0s(CAS_water)# Absolute solid enthalpy of formation [J/mol/K]None>>>S0l(CAS_water)# Absolute liquid enthalpy of formation [J/mol/K]70.0>>>S0g(CAS_water)# Absolute gas enthalpy of formation [J/mol/K]188.8

这样的“查找函数”在许多数据库中搜索,直到 既然找到了卡恩。如果没有可用值,则不返回任何值。注意一些 性质,包括固体生成热(Hfs)和绝对熵 地层(S0s)缺少水。您可以选择传递一个“方法”来选择 从数据库中检索数据:

^{pr2}$

要查看给定化学品的所有可用方法,只需使用 在名称末尾标记了“_methods”:

>>>fromchemicalsimportTb_methods>>>Tb_methods(CAS_water)['CRC_INORG','YAWS']

也可以通过各自的模块访问数据库:

>>> from chemicals.critical import critical_data_Yaws
>>> critical_data_Yaws
                               Chemical       Tc  ...  omega        Zc
CASRN                                             ...
100-00-5           p-chloronitrobenzene   751.00  ...  0.491  0.275355
100-01-6                 p-nitroaniline   851.00  ...  0.782  0.253621
100-10-7    p-dimethylaminobenzaldehyde   832.00  ...  0.527  0.209027
100-18-5           p-diisopropylbenzene   689.00  ...  0.390  0.255749
100-21-0              terephthalic acid  1113.00  ...  1.059  0.180981
                                ...      ...  ...    ...       ...
99814-65-0            1-pentadeceN-3-ol   713.00  ...    NaN  0.215149
999-21-3                diallyl maleate   693.00  ...  0.789  0.245054
999-52-0                3-chloroheptane   621.08  ...  0.418  0.248495
999-78-0         4,4-dimethyl-2-pentyne   552.81  ...  0.191  0.281303
999-97-3           hexamethyldisilazane   544.00  ...  0.510  0.260213
[7549 rows x 6 columns]

计算各种化学性质的广泛函数 以及各种化学品的相应系数:

>>> from chemicals import Antoine
>>> from chemicals.vapor_pressure import Psat_data_AntoinePoling
>>> antoine_coefficients = Psat_data_AntoinePoling.loc[CAS_water] # For calculating saturated vapor pressure
>>> antoine_coefficients
Chemical     water
A              10.1
B          1.69e+03
C               -43
Tmin            273
Tmax            473
Name: 7732-18-5, dtype: object
>>> _, A, B, C, *_ = antoine_coefficients
>>> T = 373.15 # Temperature [K]
>>> Antoine(T, A, B, C) # Vapor pressure [Pa]
101047.25357066597

要使用JIT编译的函数,请导入numba模块:

>>> from chemicals import numba
>>> numba.Antoine(T, A, B, C)
101047.25357066603

要使用数量对象,请导入单位模块:

>>> from chemicals import units
>>> from chemicals.units import u
>>> units.Antoine(T * u.K, A, B * u.K, C * u.K)
101047.25357 pascal

要使用矢量化函数,请导入矢量化模块:

>>> from chemicals import vectorized
>>> vectorized.Antoine([300, 350], A, B, C)
array([ 3546.98, 41603.98 ])

Roadmap

作者的主要发展项目是提供最新的方法 用于计算化学性质(热力学和输运) 延伸正在访问本地数据库。在

Latest source code

有关化学品来源的最新发展版本,请访问

https://github.com/CalebBell/chemicals

Bug reports

要报告缺陷,请使用化学品的Bug Tracker:

https://github.com/CalebBell/chemicals/issues

License information

有关使用条款和条件的信息,请参见LICENSE.txt 以及所有保证的免责声明。在

虽然化学品许可证不要求,但如果您方便的话, 如果在你的工作中使用了化学品,请注明。也请考虑捐款 你所做的任何改变都会使社区受益。在

Citation

在出版物中引用化学品:

Caleb Bell and Contributors (2016-2020). chemicals: Chemical properties component of Chemical Engineering Design Library (ChEDL) https://github.com/CalebBell/chemicals.

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

推荐PyPI第三方库


热门话题
使用JDBC的java参数化查询   java如何使用imap文件夹的UIDVality和HIGHESTMODSEQ同步电子邮件   java GWT+Eclipse+外部JAR文件   java在膨胀的布局上创建onClick事件   java JTree显示驱动器根本不显示   接收java。sql。SQLException:调用数据库函数时出现无效列索引错误   cassandra使用Datastax Java驱动程序进行数据块写入   java应用程序在drools工作台上触发规则   java将Windows键重新指定给键盘快捷键   java整数划分为和和和积   java如何让JDialog onTop只为他的父母使用?   java如何拥有具有特定关联方法的常量   java是否可以使用icu4j UnicodeSet类代替正则表达式进行模式匹配?   java如何比较数组的相反索引值,以及基于嵌套for循环的条件进行删除?   如果我有文件名和带有文件夹ID的Google drive文件夹完整URL,如何从Selenium Webdriver java脚本访问Google drive文件?   java变量作为图表中的参数   鼠标左键点击指针下的精灵坐标偏移补偿问题   java JDBC库在Android Studio中不工作   Play Framework中的“groovy.lang.MissingFieldException:没有这样的字段:类的元类:java.lang.class”错误   java从XML中读取子元素作为字段值