化学工程设计库(ChEDL)化学性质组成
chemicals的Python项目详细描述
目录
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
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
作者的主要发展项目是提供最新的方法 用于计算化学性质(热力学和输运) 延伸正在访问本地数据库。在
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.
- 项目
标签: