critical_density_3d

11 downloads 1 likes on ModelScope updated

Model card


YAML HEAD

开源许可类型: Apache License 2.0

任务类型: 分子热力学性质-临界密度预测

框架: Pytorch

支持的语言类型: - 中文 - 英文

评估指标: - MAE - R2

模型所属领域: 物质科学


燧人大模型介绍

模型描述

燧人大模型是一套面向分子原子尺度的深度学习模型,基于 PyTorch 框架构建,能够同时支持各种热力学性质的预测,包括沸点、临界性质、热容、扩散系数、燃烧焓、生成焓、溶解度、粘度等。

临界密度(Critical Density)是指物质在临界温度和临界压力下,气相与液相界限消失、两相合并为一超临界流体时的密度,通常用 ( \rho_c ) 表示,单位为 kg/m³ 或 g/cm³。

在临界点,液体不再能被进一步压缩,气体也无法通过加压液化,此时的密度即为临界密度。它是物质的基本热力学性质之一。

应用场景:

  1. 超临界流体技术:
    如超临界 CO₂(临界密度约 468 kg/m³)广泛用于萃取、反应和材料制备,临界密度帮助确定操作条件和溶解能力。

  2. 化工与热力学建模:
    用于状态方程(如PR、SRK)的参数拟合和相平衡计算,提高过程模拟精度。

  3. 制冷与液化工程:
    判断工质的液化难易程度,优化压缩与储存条件。

  4. 材料与能源领域:
    在燃料设计、气体储运(如液化天然气LNG)中,临界密度是评估存储效率的重要参数。

  5. 科学研究:
    研究相变行为、对应状态原理和分子间作用力的依据之一。

期望模型使用方式以及适用范围

  • 科研人员:在材料设计、分子筛选过程中快速获取热力学性质预测值,辅助实验设计和评估。
  • 工程应用:在工艺模拟与安全评估环节中,用于替代部分昂贵或不精确的实验测量。
  • 教学场景:作为化工、材料、热物性课程的辅助工具。

⚠️ 模型适用于 有机小分子,不适合直接推广到 复杂聚合物、大分子材料或金属体系,模型支持的元素种类包括(H,C,N,O,F,P,S,Cl,Br,I)。

如何使用

环境安装

torch>=2.0
torch-geometric
pip install -r requirements.txt 

1. 微调

用户可以基于已有的预训练权重,在自己的数据集上进一步微调,以适配特定分子空间或特殊热力学性质。

微调代码示例:

python train.py --name critical_density --epochs 10 --batch_size 64 --lr 1e-3 --checkpoint_2d path1 --checkpoint_3d path2 --loss l1 --output_dir checkpoints

参数说明:

  • name:热力学性质名称,用于读取对应的数据,请在对应./data/{name}目录下,提供名为 {name}_train.csv, {name}_valid.csv, {name}_test.csv 三个数据文件,数据包含两列,分别为“SMILES”列和"values",可参考示例目录: ./data/critical_density/

  • epochs:训练轮次

  • batch_size:一次性处理的样本批次大小

  • lr:学习率

  • checkpoint_2d:预训练2d模型路径

  • checkpoint_3d:预训练3d模型路径

  • loss:训练损失函数

  • outpu_dir:微调模型保存路径

2. 推理

我们提供了 15 个热力学性质的微调模型,可以直接调用进行推理。

代码范例

python infer.py --device cuda --model_path ./chekpoints/critical_compressibility --smiles "CC=O"

参数说明

  • device:推理设备,使用GPU/CPU进行推理

  • model_path:微调模型的存储路径

  • smiles:待推理的分子SMILES表达式

模型局限性以及可能的偏差

  • 数据覆盖不足:训练数据集主要覆盖常见有机小分子,对于稀有化合物或大分子体系预测精度可能不足。

  • 温度/压力依赖性:模型预测的是标准条件下的物性,未显式建模温压依赖效应。

  • 泛化性:在实验数据较少的性质上,模型预测可能偏差较大。

模型训练

1. 训练数据介绍

训练数据来自开源化学数据库与部分实验文献整理,涵盖 15 种分子热力学性质。 数据包括:

  • 分子结构(SMILES)

  • 对应实验热力学性质值

2. 预处理

  1. 使用 RDKit 将 SMILES 转换为分子图表示

  2. 构建分子图的2d图表示以及3d分子坐标

  3. 数据标准化与归一化,保证不同物性的数值范围适配神经网络训练

3. 训练

  • 框架:PyTorch + PyTorch Geometric

  • 优化器:AdamW

  • 损失函数:MAE

  • 评估指标:MAE、R²

  • 每个热力学性质单独进行微调,存储在 ./checkpoints/ 目录下

模型评估

在测试集上,模型在不同任务上表现如下:

任务 MAE R²
临界密度预测 0.00581 0.97267

开源协议

本项目采用 Apache License 2.0 开源许可证