---
title: critical_density_3d
canonical_url: "https://www.modelscope.cn/models/ai4s/critical_density_3d"
md_url: "https://www.modelscope.cn/models/ai4s/critical_density_3d.md"
repository: ai4s/critical_density_3d
chinese_name: "燧人大模型-临界密度"
last_updated: 2025-09-04
license: apache-2.0
downloads: 11
stars: 1
tags:
  - "作者：星河启智"
---

# critical_density_3d

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

ai4s/critical_density_3d 是 ModelScope 魔搭社区上的机器学习模型，采用 apache-2.0 许可。

- **Repository**: ai4s/critical_density_3d
- **License**: apache-2.0
- **Tags**: 作者：星河启智
- **Downloads**: 11
- **Stars**: 1
- **Last updated**: 2025-09-04

Source: https://www.modelscope.cn/models/ai4s/critical_density_3d

---

<!--- 以下model card模型说明部分 --->

# 燧人大模型介绍

## 模型描述
燧人大模型是一套面向分子原子尺度的深度学习模型，基于 **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. 微调
用户可以基于已有的预训练权重，在自己的数据集上进一步微调，以适配特定分子空间或特殊热力学性质。

#### 微调代码示例：
```bash
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 个热力学性质的微调模型，可以直接调用进行推理。

#### 代码范例

```bash
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 开源许可证
