sg-proii

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

化工流程的PROII流程模拟自动化搭建,收敛,校验

一句话选型结论

按资料字段整理

sg-proii是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_0a5d41e9/sg-proii
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_0a5d41e9仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791621970
正文体量129.0 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
sg-proii当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

129.0 KB
模型实际读到的说明书原文,来自技能仓库

PRO/II 10.2 INP 语法参考

本技能提供PRO/II 10.2关键词输入(INP)文件的正确语法,所有语法均通过实际PRO/II 10.2输出验证。

文件结构要求

⚠️ 关键:所有INP文件必须包含以下完整节结构,且必须按指定顺序排列!

INP文件节必须按以下顺序排列(PRO/II 10.2强制要求,违反即ABORT):
1. TITLE → 文件头(General段:TITLE, PRINT, TOLERANCE, DIMENSION, SEQUENCE, CALCULATION)
2. COMPONENT DATA → 组分定义
3. THERMODYNAMIC DATA → 热力学方法
4. REGRESSION DATA → 回归数据(可选)
5. STREAM DATA → 流股数据
6. RXDATA → 反应数据(可选,但必须在STREAM DATA之后!)
7. PROCEDURE DATA → 过程数据(可选)
8. UNIT OPERATIONS → 强制段头,不能省略!
9. RECYCLE DATA → 循环数据(可选)
10. END → 文件结束

🔴 致命错误:COMP ID= 语法不合法
- 错误: COMP ID=H2 / ID=CO / ID=CO2 / ... — PRO/II 10.2 关键词模式不识别此语法
- 报错: *** ABORT *** Data in the input file is out of order.
- 修正: 使用 LIBID 1,H2/2,CO/3,CO2/..., BANK=CURRENT 格式(2026-06-12 Shell气化验证)

🔴 致命错误:HEATER 关键词不存在
- 错误: HEATER UID=E1 — PRO/II 10.2 关键词模式不支持 HEATER 单元操作
- 修正: 使用 FLASH UID=E1 + OPERATION ISOTHERMAL, TEMPERATURE=220, DP=100 替代(2026-06-12 Shell气化验证)

🔴 致命错误:RXDATA放在STREAM DATA之前
- 错误信息: *** ABORT *** Data in the input file is out of order.
- PRO/II严格检查节顺序,RXDATA必须在STREAM DATA之后、UNIT OPERATIONS之前
- 官方案例验证:A3G.INP, A5.INP, A6BG.INP, A7.INP的RXDATA均在STREAM DATA之后

最常见错误:直接从 STREAM DATA 跳到 COLUMN/HX 等单元操作,省略 UNIT OPERATIONS 段头。
- 后果:PRO/II 把 COLUMN/HX 等关键字当作流股数据解析,报 "not recognized" 错误
- 修正:在 STREAM DATA 段结束后,必须先写 UNIT OPERATIONS,再定义单元操作

注释语法规则

🔴 致命错误:PRO/II 10.2 关键词模式不支持 ! 作为注释字符!

PRO/II 10.2 不识别 ! 开头的注释行,会导致以下错误:
- ! 单独一行 → *** ERROR *** Statement '!' is not recognized.
- ! 注释内容 → *** ERROR *** Statement must begin with a keyword.
- 含中文的注释行 → 同上错误(即使!被支持,非ASCII字符也会导致解析问题)

❌ 禁止使用的注释方式(2026-06-12 UOP PDH模型验证):

! ---- 这是注释 ----       ← 报错!PRO/II不识别!
! 反应器段                  ← 报错!
! 丙烯纯度 ≥99.5%           ← 报错!含非ASCII字符

✅ 正确的注释方式:
1. 不使用注释(官方案例做法:60+个Applib案例均无注释行)
2. NOTES 关键字(仅限STREAM DATA和UNIT OPERATIONS段之间):
inp NOTES TEXT=Feed stream for PDH reactor
3. C 或 * 在第1列(FORTRAN风格,部分版本支持,但官方案例未使用,不建议依赖)

⚠️ 最佳实践:INP文件中不使用任何注释行,保持纯关键词语句。

TITLE段

⚠️ TITLE 仅支持 PROJECT=、PROBLEM=、USER= 三个关键字!
- ❌ NAME= — 不被识别,报"Keyword 'NAME' is not recognized"后ABORT(2026-06-12 Shell气化v2验证)
- ✅ PROBLEM= — 正确替代,用于问题描述
- ❌ TITLE/PROBLEM值中不能含/字符! — /被PRO/II解析为字段分隔符,导致字符串被截断,后面的部分变成无效字符,报"Misplaced or invalid character"后ABORT。例如2000T/D→2000TPD(2026-06-12 Shell气化v2验证)

TITLE PROJECT=PROJECT_NAME, PROBLEM=PROBLEM_NAME, USER=USER_NAME
PRINT INPUT=ALL, STREAM=COMPONENT, RATE=M, MBALANCE=ON
TOLERANCE DEFAULT=V94
DIMENSION METRIC, MDUTY=ON, BASIS=MOLE, PRES=KPA, TEMP=C, DUTY=KW, &
       STDTEMP=0, STDPRES=101.325
SEQUENCE SIMSCI
CALCULATION RECYCLE=TEAR, TVPBASIS=37.7778, RVPBASIS=APIN

COMPONENT DATA段

每个组分必须单独一行LIBID,不能在一行中指定多个组分:

COMPONENT DATA
CURRENT SEARCH=SIMSCI,PROCESS
LIBID 1,H2O, BANK=CURRENT
LIBID 2,NH3, BANK=CURRENT

多组分语法(单个LIBID中):

LIBID 3,AIR/4,N2/6,H2O/7,C6H6, BANK=CURRENT

特殊库中的组分:

LIBID 5,R245FA,,RHP, BANK=DIPPRL2018:DIPPR

ASSAY 蒸馏曲线定义(⚠️ 正确语法,已由 PRO/II 示例验证):

ASSAY 数据不在 COMPONENT DATA 段单独定义,而是在 STREAM DATA 段的 PROPERTY STREAM 语句中用子语句定义。

COMPONENT DATA 段只需:
1. LIBID 定义轻端组分(C2-C5, H2O 等)
2. CUTPOINTS TBPCUTS(t_unit)= 定义假组分沸程范围
3. ASSAY CURVEFIT=..., CONVERSION=..., FIT=..., FORMATION=... 拟合设置

COMPONENT DATA
  LIBID 1,H2O/2,C2/3,C3/4,IC4/5,NC4/6,IC5/7,NC5, BANK=SIMSCI, PROCESS
  CUTPOINTS TBPCUTS(C)=40,370,10/550,4/700,2
ASSAY CURVEFIT=IMPR, CONVERSION=API94, &
      FIT=SPLINE, FORMATION=VER91

⚠️ 以下语法在关键词模式中无效,PRO/II 不识别:
- ~~ASSAY ID=CRUDE01, TYPE=TBP, UNIT=C, NPOINT=11~~
- ~~ASSAY ID=..., NPOINT=... + 独立数据行~~

CUTPOINTS TBPCUTS 语法说明:
- TBPCUTS(C)=start, end1, n1/ end2, n2/ ...
- 第一组:start 到 end1 之间生成 n1 个假组分
- 后续组:从上一组 end 到当前 end 之间生成 ncuts 个假组分
- 原油蒸馏必须定义 TBPCUTS,否则 ASSAY 无法生成假组分

ASSAY 拟合参数说明:

参数 说明
CURVEFIT= 曲线拟合方法:IMPR(改进)或 SPLINE
CONVERSION= 转换方法:API94(推荐)
FIT= 曲线拟合过程(SPLINE 或 ALTERNATE)
FORMATION= 形成方法(VER91 或 CURRENT)

PETRO — 手动定义石油假组分(可选,通常由 TBPCUTS 自动生成):

PETRO 11, BP135, 120, 0.757, 135/12, BP260, 200, 0.836, 260
  • 语法:PETRO id, name, MW, SG, NBP
  • id:组分编号,name:组分名(最长8字符)
  • MW:分子量,SG:比重(无因次,如 0.757),NBP:常压沸点
  • ⚠️ 不是 PETROLEUM(kg/m3,C)!关键字是 PETRO,不带单位说明符
  • ⚠️ 参数顺序是 id, name, MW, SG, NBP(5个参数)
  • ⚠️ SG 是无因次比重(0.757),不是密度(757 kg/m3)

NONLIBRARY(非库组分):

NONLIBRARY 1, H2O, 18.015, 1000, 100
NONLIBRARY 2, METHANOL, 32.04, 791, 64.7

PETROLEUM(石油组分 — 已废弃,用 PETRO + TBPCUTS 替代):

PETRO 11, BP135, 120, 0.757, 135
  • 语法:PETRO id, name, MW, SG, NBP(不是 PETROLEUM)
  • ⚠️ 旧语法 PETROLEUM(kg/m3,C) 已废弃,会导致 "Value not between 299 and 2E4" 错误

SYNCOMP(同步组分数据):

SYNCOMP 1, H2O, 18.015, 1000, 100

SYNLIQ(合成液体组分):

SYNLIQ(W) 1, H2O, 18.015, 1000, 100, P, O, N, A

NOTES(注释):

NOTES TEXT=Component data for crude distillation unit

STRUCTURE(UNIFAC结构组):

STRUCTURE 1, 1(2)/2(1)
GROUP 1, 0.632, 0.632
GROUP 2, 0.120, 1.200

GENERAL DATA段

> 语法来源: PRO/II 10.2 Keyword Manual (Chapter 5, page 31+)

DIMENSION (量纲单位声明)

必须使用完整的 DIMENSION 语句,不能只写 DIMENSION METRIC!

DIMENSION METRIC, TEMP=C, PRESSURE=KPA, WT=KG, &
  TIME=HR, LENGTH=M, ENERGY=KJ, WORK=KW, DUTY=KW, &
  LIQVOL=M3, VAPVOL=M3, DENSITY=KG/M3, &
  XDENSITY=DENSITY, &
  STDTEMP=0, STDPRES=101.325
BASIS=MOLE
MDUTY=ON
参数 默认值 (ENGLISH) METRIC SI 说明
TEMP F C K 温度单位
PRESSURE PSIA KG/CM2 KPA 压力单位
WT LB KG KG 重量单位
TIME HR HR HR 时间单位
LENGTH FT M M 长度单位
ENERGY BTU KCAL KJ 能量单位
WORK HP KW KW 功单位
DUTY BTU/HR 10^6 KCAL/HR 10^6 KJ/HR 热负荷单位
BASIS MOLE MOLE MOLE 基准 (MOLE/MASS/LV/GV)
MDUTY OFF OFF OFF 热负荷是否使用10^6前缀

关键:
- BASIS=MOLE 声明流量和组成的默认基准为摩尔
- MDUTY=ON 表示热负荷单位使用 10^6 前缀 (如 MW 而不是 W)
- 声明 STDTEMP 和 STDPRES 重新定义标准状态

🔴 致命陷阱:压力关键字不带单位后缀时使用 DIMENSION 默认单位(METRIC = KG/CM2,不是 KPA!)
- 已验证(2026-08-13 吸收式脱乙烷 V26):DIMENSION METRIC(未声明 PRESSURE)下,
FLASH ... OPERATION ISOTHERMAL, TEMPERATURE=45, PRESSURE=2650 被解析为 2650 kg/cm² = 260 MPa,
而非预期的 26.5 bar(2650 kPa)。
- 后果:能正常收敛、物料平衡闭合(GLOBAL DEVIATION 0.00%),但焓值被压缩效应严重扭曲——
冷却器 DUTY 输出 -6.01 M·kcal/h,实际应为 -36.11 M·kcal/h(差 6 倍)。静默错误,极易漏检。
- 修复:① 在 DIMENSION 中显式声明 PRESSURE=KPA;② 或每个压力关键字带后缀 PRESSURE(KPA)=2650;
③ 塔的 PRESSURE(KPA) 1,2000/30,2150 写法正确(带后缀),流股 PRESSURE(KPA)=3100 正确。
- 校验方法:① 看 ot3 输出 PRESSURE, KG/CM2 数值是否合理(260 MPa 明显荒谬);
② 单位焓自洽检查——同温度不同流股的单位焓(KCAL/KG)应相近(如 45°C 贫油 ≈24 kcal/kg)。

OUTDIMENSION (输出量纲单位)

OUTDIMENSION METRIC, ADD, &
  TEMP=C, PRESSURE=KPA, WT=KG, &
  TIME=HR, DUTY=KW
关键字 说明
ADD 生成默认单位和指定单位的双份报告
REPLACE 仅用指定单位生成报告

CALCULATION (计算选项)

CALCULATION TRIALS=50, RECYCLE=TEAR, &
  TVPBASIS=37.7778, &
  RVPBASIS=APIN, &
  COMPCHECK=INPUT, &
  MAXOPS=1000000, &
  FLASH=DEFAULT, &
  DVARIABLE=ON, &
  PHASE=SIMSCI, &
  TMIN=OLDLIMIT, TMAX=OLDLIMIT
参数 默认值 说明
TRIALS 50 每个循环流股的最大迭代次数
RECYCLE ALL 选择考虑收敛的循环流股 (ALL/TEAR)
TVPBASIS 100 F 计算TVP的默认温度
RVPBASIS APINAPHTHA 计算RVP的方法
INCHECK 关闭 仅进行输入检查,不进行计算
COMPCHECK CALC 检查组分与热力学方法的兼容性 (CALC/INPUT)
MAXOPS 1,000,000 计算期间的最大单元操作和分支决策数
FLASH DEFAULT 闪蒸算法选择 (DEFAULT/ALTERNATE)
DVARIABLE ON 增强某些解决方案的准确性
PHASE SIMSCI 超临界相指定 (SIMSCI/LIQUID/VAPOR)
TMIN/TMAX OLDLIMIT 温度相关属性的最小/最大温度

TOLERANCE (容差设置)

⚠️ TOLERANCE 不支持 FLASH= 和 COLUMN= 作为关键字参数!
- ❌ TOLERANCE FLASH=0.0001, COLUMN=0.0001 — COLUMN 不被识别,报"Keyword 'COLUMN' is not recognized"后ERROR
- ❌ TOLERANCE FLASH=0.0001 — FLASH 不是独立TOLERANCE子关键字(仅存在于STREAM内部),作为顶层关键字不被识别
- ✅ TOLERANCE DEFAULT=V94 — 最常用格式,采用V94默认容差标准
- ✅ TOLERANCE DEFAULT=V94, STREAM=0.0001 — 带自定义流股容差
- ✅ TOLERANCE COMPONENT=0.0005, EQUILIBRIUM=0.0005 — 化学平衡容差

TOLERANCE 合法关键字(117个官方案例验证):DEFAULT、STREAM、COMPONENT、EQUILIBRIUM、KVALUE、ENTHALPY、DUTY、MISCELLANEOUS/MISC、MBAL、UAMBAL

TOLERANCE DEFAULT=V94

或

TOLERANCE DEFAULT=V94, STREAM=0.0001, , , &
  DUTY=0.005, MISCELLANEOUS=0.01
参数 默认值 说明
DEFAULT V94 容差标准版本(V94为当前推荐)
STREAM dx, dt, dmin, dp 0.001, -0.01, 0.001, 0.01 循环流股收敛容差
COMPONENT - 组分物料平衡容差
EQUILIBRIUM - 化学平衡容差
KVALUE - K值容差
ENTHALPY - 焓值容差
DUTY 0.0001 加热器或冷却器负荷规范绝对误差容差
MISCELLANEOUS/MISC 0.001 所有其他类型规范的误差容差
MBAL 1% 全流程总物料平衡容差
UAMBAL SKIP 是否包含UAS和Excel单元操作在总物料平衡检查中

容差约定:
- 正值表示相对容差
- 负值表示绝对容差

SEQUENCE (计算顺序)

SEQUENCE SIMSCI

或

SEQUENCE DEFINED=HX2, C1, F1
关键字 说明
SIMSCI 默认方法,使用SimSci开发的改进的最先进算法
PROCESS 使用PROCESS (PRO/II前身) 中最初出现的方法
ASENTERED 按输入文件中列出的确切顺序执行单元操作
DEFINED=uid, uid, ... 用户定义单元操作的执行顺序

SCALE (流股缩放)

SCALE STREAM=SID, RATE(M)=value, {COMP=i,j}
  • 缩放选定的产品流股到所需的流量
  • 所有其他流股和单元操作相应缩放
  • 注意: 某些单元操作不可缩放 (PIPE, DEPRESSURING, PLUGFLOW REACTOR, HXRIG, ROTARY DRUM FILTER, FILTERING CENTRIFUGE, DISSOLVER, CRYSTALLIZER, COLUMNS WITH HYDRAULICS)

CHECK (固体检查)

CHECK SOLID
  • 检查碳氢化合物和碳氢化合物/水混合物中固体的存在
  • 测试的固体形成组分: CO2, H2S, Benzene
  • 固体报告为流股总量的百分比

PRINT (打印选项)

PRINT INPUT=ALL, STREAM=COMPONENT, RATE=M, MBALANCE=ON, &
  KVT1(C)=temp1, KVT2(C)=temp2, &
  WIDTH=120, PLENGTH=60, &
  NOWARNING
参数 选项 说明
INPUT ALL/PART/NONE/COMPONENT 输入打印选项
STREAM ALL/COMPONENT/SUMMARY/NONE 流股打印选项
RATE M/WT/LV/GV 流量打印基准
MBALANCE ON/OFF 物料平衡打印
WIDTH 80/120/132 输出宽度
PLENGTH 60 页面长度
NOWARNING - 禁止警告信息

DESCRIPTION (模拟描述)

DESCRIPTION text
  • 每个关键字文件允许最多十个 DESCRIPTION 语句
  • 每个语句包含前80列的描述性文本
  • 文本出现在结果打印输出的第一页上

DBASE (数据库打印选项)

DBASE DATA={SEQUENCE, STREAM, PETRO, PROFILE, PDS or ALL}
参数 说明
SEQUENCE 打印计算顺序
STREAM 打印流股数据
PETRO 打印PETRO数据
PROFILE 打印剖面数据
PDS 打印PDS数据
ALL 打印所有数据库信息

DCOMP (组分数据打印选项)

DCOMP {PERCENT=M, WT, LV, GV},
  {TBP, WTFRAC},
  {MCONC, WCONC},
  {PWRATE},
  {TOTAL},
  {DCOMP},
  {TRIAL=1 or 100},
  {MBAL or MBALANCE=ON or OFF}
参数 选项 说明
PERCENT M/WT/LV/GV 打印百分比的基准
TBP - 打印真沸点数据
WTFRAC - 打印质量分数
MCONC - 打印摩尔浓度
WCONC - 打印质量浓度
PWRATE - 打印功率速率
TOTAL - 打印总计

EXERGY (㶲分析选项)

EXERGY {TZERO(utemp)=value},
  {PZERO(upres)=value}
参数 说明
TZERO 㶲分析参考温度(可选)
PZERO 㶲分析参考压力(可选)

说明:
- 㶲分析用于评估工艺的热力学效率
- TZERO 默认值为环境温度
- PZERO 默认值为环境压力

THERMODYNAMIC DATA段

基本语法 — 必须使用 PROPERTY STREAM= (不是 PROP STREAM=):

纯组分流股:

PROPERTY STREAM=NAME, TEMPERATURE=50, PRESSURE=200, PHASE=L, &
         RATE(WT)=1000, COMPOSITION(M)=1,1

多组分流股(摩尔组成):

PROPERTY STREAM=NAME, TEMPERATURE=55.6, PRESSURE=34.8, PHASE=M, &
         RATE(WT)=500000, COMPOSITION(M)=1,0.5/2,0.3/3,0.2

多组分流股(质量组成,带NORMALIZE):

PROPERTY STREAM=NAME, TEMPERATURE=188, PHASE=L, RATE(WT)=29205, &
         COMPOSITION(WT)=1,2.05/2,1.37/3,93.97/4,2.57, NORMALIZE

流量单位:
- RATE(WT) — 质量流量 (kg/h) ✓ 正确
- RATE(M) — 摩尔流量 (kg-mol/h)
- ~~RATE(KG)~~ — 不支持 ✗
- ~~RATE(W)~~ — 不支持 ✗

组分指定(极易出错,请严格按此格式):

⚠️ 数值规则(2026-06-11~19 CDU/VDU验证,极其重要!)

单位限定符 数值含义 总和必须等于 示例
COMPOSITION(WT)= 百分比(0-100) 100.0 1,33.3/2,33.3/3,33.4 ✅
COMPOSITION(M)= 分数(0.0-1.0) 1.0 1,0.333/2,0.333/3,0.334 ✅
COMPOSITION(LV)= 百分比(0-100) 100.0 同WT
COMPOSITION(GV)= 百分比(0-100) 100.0 同WT

配对规则(必须匹配,否则报"COMPOSITION DOES NOT EQUAL RATE"):

RATE单位 必须配对 错误配对 示例
RATE(KG/H)= COMPOSITION(WT)= ❌ COMPOSITION(M)= 100000 KG/H + WT百分比
RATE(M)= COMPOSITION(M)= ❌ COMPOSITION(WT)= 1000 M + M分数
RATE(WT)= COMPOSITION(WT)= — 同KG/H

🔴 PRO/II 10.2 不支持 COMPOSITION行中的NORMALIZE关键字(2026-06-11验证)
- 必须手动确保总和精确等于100%(WT/LV/GV)或1.0(M)
- NORMALIZE 只能用于 ASSAY 子语句(如 LIGHTEND 行)

格式规则:
- COMPOSITION(M)=comp_id,fraction — 摩尔分数(0.0-1.0)
- COMPOSITION(WT)=comp_id,fraction — 质量百分比(0-100)
- 组分之间用 / 分隔,/ 只出现在组分对之间,末尾绝对不能有 /
- NORMALIZE 必须紧跟在最后一个组分对后面,用 , 分隔,不能单独成行(仅适用于ASSAY子语句)
- 正确示例:COMPOSITION(WT)=1,33.3/2,33.3/3,33.4(总和=100.0)
- 正确示例:COMPOSITION(M)=1,0.333/2,0.333/3,0.334(总和=1.0)
- 错误示例:COMPOSITION(WT)=1,0.33/2,0.33/3,0.34(WT不能用分数!总和=1.0≠100)

温度指定:
- 循环流股(如VALVE出口)必须提供TEMPERATURE或液相分数初始估计值

THERMODYNAMIC METHOD 详细语法(Chapter 7)

> 语法来源: PRO/II 10.2 Keyword Manual (Chapter 7, page 281+)

METHOD 语句(热力学方法选择)

METHOD SYSTEM=method_name, SET=setid, {DEFAULT}
  {OPTIONS option_name=value}
  {WATER PROPERTY=model_name}
  {TRANSPORT=model_name}
参数 说明
SYSTEM= 热力学方法:PR/SRK/LKP/BWRS/UNIQUAC/NRTL/WILSON/IDEAL
SET= 热力学数据集 ID(最长 8 字符),用于区分多个方法集
DEFAULT 将此数据集设为默认(可选)
WATER PROPERTY= 水性质模型:IF97/STEAM-TA/NONE
TRANSPORT= 传递性质模型:IF97/DIPPR/STEAM-TA

可用热力学方法:

方法 名称 适用场景
PR Peng-Robinson 烃类+非极性气体,最常用
SRK Soave-Redlich-Kwong 酸性气体(CO2/H2S),优于PR
LKP Lee-Kesler-Plocker 轻烃类
BWRS Benedict-Webb-Rubin-Starling 天然气
UNIQUAC UNIQUAC 极性+非极性混合物
NRTL NRTL 极性混合物,液液平衡
WILSON Wilson 极性混合物
IDEAL Ideal Gas 理想气体,无逸度校正

PARAMETER 语句(方法参数 + BIP)

PARAMETER THERM=setid,
  {BIP(name1, name2)=value,}
  {BIP(name1, name3)=value,}
  {property=value}
参数 说明
THERM= 热力学数据集 ID(必须已用 METHOD 定义)
BIP(,) 二元交互作用参数(kij),覆盖默认值
property=value 方法特定参数(如 PR 的 PC= 等)

BIP 语法示例:

METHOD SYSTEM=PR, SET=SET01
PARAMETER THERM=SET01,
  BIP(H2O, MEOH)=0.05,
  BIP(CO2, MEOH)=0.10

COMPONENT DATA 中的组分属性(Chapter 7.3)

当使用 NONLIBRARY 定义非库组分时,需指定:

NONLIBRARY i, name, MW, SPGRAV, TB, {TC, PC, VC, ACENTRIC}
参数 含义 单位
i 组分 ID 整数
name 组分名 最长 8 字符
MW 分子量 kg/kmol
SPGRAV 比重(15°C) 无量纲
TB 正常沸点 °C 或 °F
TC 临界温度 °C 或 °F
PC 临界压力 kPa 或 PSIA
VC 临界体积 m3/kmol
ACENTRIC 偏心因子 无量纲

PETROLEUM 语句(石油组分属性,Chapter 7.4)

PETROLEUM(kg/m3, C) i, name, SG, TREF, NBP
参数 含义
i 组分 ID
name 石油组分名
SG 比重(kg/m3 或 lb/ft3)
TREF 参考温度(°C 或 °F)
NBP 正常沸点(°C 或 °F)

BIP MATRIX 语句(批量 BIP 定义)

BIP MATRIX
  METHOD=method_name,
  PAIR(comp1, comp2), kij=value
  PAIR(comp1, comp3), kij=value

关键:
- BIP 参数对收敛影响极大,不准确会导致 COLUMN 不收敛
- 优先使用 SimSci 数据库中的默认值
- 只有实验数据时才手动修改 BIP


UNIT OPERATIONS段

HX(简单换热器)

> 语法来源: PRO/II 10.2 Keyword Manual (Chapter 13.1, page 628+)

HX UID=NAME, {ZONES(OUTPUT)=5}, {PLOT}
  HOT FEED=HOT-IN, M=HOT-OUT, DP(upres)=0.0, {METHOD=setid}
  COLD FEED=COLD-IN, M=COLD-OUT, DP(upres)=0.0, {METHOD=setid}
  CONFIG COUNTERCURRENT, TPASS=2, SPASS=1
  OPERATION DUTY=1000

OPERATION 官方全部参数(13.1手册 Table 13.1-2A/2B):

参数 含义 单位限定符
DUTY 总热负荷 uduty (百万能量/时间)
HTEMP 热侧产品出口温度 utemp
CTEMP 冷侧产品出口温度 utemp
HLFRAC 热侧产品液相分率 FRAC (0~1)
CLFRAC 冷侧产品液相分率 FRAC (0~1)
HDTBB 热侧出口低于泡点温差 utemp
CDTBB 冷侧出口低于泡点温差 utemp
HDTAD 热侧出口高于露点温差 utemp
CDTAD 冷侧出口高于露点温差 utemp
HOCI 热出口-冷入口温差 utemp
HICO 热入口-冷出口温差 utemp
HOCO 热出口-冷出口温差 utemp
TMIN HOCI 与 HICO 的最小值 utemp
MITA 最小内部温差(自动分区) utemp
UA UA值 uhtco·uarea

HXRIG(严格换热器)OPERATION 额外参数:
- SDTEMP / TDTEMP — 壳侧/管侧温度变化(ΔT),仅在 HXRIG 中用
- ~~DTEMP~~ — HX 中不存在此关键字。HXRIG 用 SDTEMP/TDTEMP

配置选项:
- CONFIG COUNTERCURRENT 或 COCURRENT(逆流/并流)
- CONFIG U(unit)=value, AREA(unit)=value — UA 规格(此时不能有 OPERATION)
- CONFIG UAMAX=value — UA 上限
- TPASS=2, SPASS=1 — 管程/壳程数

UTILITY(公用工程侧)— HX必须有两侧定义!

! 冷却器:HOT侧(工艺) + UTILITY(冷却水)
UTILITY WATER, TIN(C)=30, TEMP(C)=40
! 低温加热器:COLD侧(工艺) + UTILITY(蒸汽,TSAT<400°C)
UTILITY STEAM, TSAT=150
! 空冷器:HOT侧(工艺) + UTILITY(空气)
UTILITY AIR, TIN=85, TEMPERATURE=115
! 蒸汽加热器(基于压力)
UTILITY STEAM, PSAT=300

⚠️ HX + UTILITY STEAM 仅适用于 <400°C 加热场景! 官方案例验证:
- C5.INP: UTILITY STEAM, TSAT=392(ENGLISH单位,≈200°C)
- P4G.INP: UTILITY STEAM, PSAT=300(ENGLISH单位,≈psig)
- C8.INP: UTILITY STEAM, PSAT=1101.3
- 高温加热(>400°C,如加热炉590°C)→ 改用 FLASH ISOTHERMAL
- HX必须有两侧:两侧FEED(HOT+COLD) 或 一侧FEED+UTILITY,不能只有一侧FEED无UTILITY

COMPRESSOR(压缩机)

COMPRESSOR UID=NAME
  FEED FEED-STREAM
  PRODUCT V=PRODUCT-STREAM
  OPERATION CALCULATION=ASME, COPT=SING, PRES=8500, EFF=82

OPERATION选项:
- CALCULATION=ASME 或 GPSA(官方案例A1/A3G/A4G均用GPSA)
- COPT=SING — 单级压缩
- PRES=8500 — 出口压力(kPa)
- PRATIO=2.5 — 压缩比(与PRES二选一)
- EFF=82 — 绝热效率(%)
- MEFF=90 — 机械效率(%),推荐指定

PRODUCT语法:
- 必须使用 V=streamname 或 M=streamname
- V= 指定气相产品

VALVE(阀门)

VALVE UID=NAME
  FEED FEED-STREAM
  PRODUCT M=PRODUCT-STREAM
  OPERATION PRESSURE=1150

关键要求:
- PRODUCT必须带相位限定符:M=streamname
- 不支持不带限定符的 PRODUCT streamname
- VALVE出口流股必须指定TEMPERATURE或液相分数

PUMP(泵)

PUMP UID=NAME
  FEED FEED-STREAM
  PRODUCT M=PRODUCT-STREAM
  OPERATION PRESSURE=2500, EFF=75

关键要求:
- PRODUCT必须带 M=streamname
- 效率通过OPERATION中的 EFF= 指定,不是单独的EFFICIENCY关键字
- 不支持 EFFICIENCY=75 独立一行

FLASH(闪蒸罐/加热器/冷却器)完整语法

> 语法来源: PRO/II 10.2 Keyword Manual (Chapter 11.1, page 284+)

⚠️ FLASH ISOTHERMAL 可以替代加热炉/冷却器! 当HX+UTILITY不适用时(如高温加热>400°C),用FLASH ISOTHERMAL指定出口温度和压力即可。

FLASH UID=uid, {NAME=text, KPRINT}
  FEED sid, {sid,...}
  PRODUCT V=sid,  or L=sid,  {W=sid, S=sid}
  or V=sid, L=sid, {W=sid, S=sid}
  or M=sid, {W=sid, S=sid}
  OPERATION PHASE=V or L or L1 or L2 (or W)

加热炉替代方案(FLASH ISOTHERMAL):

! 替代HX+UTILITY STEAM用于高温加热(如590°C进料加热炉)
FLASH UID=HTR01, NAME=FEED HEATER
  FEED FEED1
  PRODUCT M=HOTFEED
  OPERATION ISOTHERMAL, TEMPERATURE=590, PRESSURE=200

Performance Specifications (必填其一):

Isothermal (等温闪蒸)

ISOTHERMAL TEMP(utemp)=value, PRESSURE(upres)=value or DP(upres)=0.0

Adiabatic or Phase Separator (绝热闪蒸)

ADIABATIC TEMP(utemp)=value, {PEST(upres)=value},
  or PRESSURE(upres)=value, {TEST(utemp)=value},
  or DP(upres)=0.0, {TEST(utemp)=value},
  DUTY(uduty)=0.0

Dew Point (露点)

DEW TEMP(utemp)=value, {PEST(upres)=value}
  or PRESSURE(upres)=value, {TEST(utemp)=value}
  or DP(upres)=0.0, {TEST(utemp)=value}

Hydrocarbon Dew Point (烃露点)

DEWHC TEMP(utemp)=value, {PEST(upres)=value}
  or PRESSURE(upres)=value, {TEST(utemp)=value}
  or DP(upres)=0.0, {TEST(utemp)=value}

Water Dew Point (水露点)

DEWWATER TEMP(utemp)=value, {PEST(upres)=value}
  or PRESSURE(upres)=value, {TEST(utemp)=value}
  or DP(upres)=0.0, {TEST(utemp)=value}

Bubble point (泡点)

BUBBLE TEMP(utemp)=value, {PEST(upres)=value}
  or PRESSURE(upres)=value, {TEST(utemp)=value}
  or DP(upres)=0.0, {TEST(utemp)=value}

Isentropic (等熵)

ISENTROPIC TEMP(utemp)=value, {PEST(utemp)=value}
  or PRESSURE(upres)=value, {TEST(utemp)=value}
  or DP(upres)=0.0, {TEST(utemp)=value}

Upper Dew Point (上露点)

UPPERDEWPOINT TEMP(utemp)=value, {PEST(upres)=value}

Vapor Fraction (气相分率)

FRAC TEMP(utemp)=value, {PEST(upres)=value},
  or PRESSURE(upres)=value, {TEST(utemp)=value},
  or VFRAC(ufrac)=value

Specified Conditions (指定条件)

TPSPEC TEMP(utemp)=value, {PEST(upres)=value}
  or PRESSURE(upres)=value, {TEST(utemp)=value}
  or DP(upres)=0.0, {TEST(utemp)=value}
  and
  SPEC STREAM=sid, &lt;property 1&gt;, WET or DRY,
    {&lt;operator&gt;, &lt;reference&gt;, &lt;property 2&gt;},
    VALUE=value, {ATOL=value or RTOL=value}

Entrainment (夹带)

ENTRAINMENT FROM=phase, TO=phase,
  FRACTION=value or PERCENT=value or
  RATE(M or WT or AV, urate)=value or
  HOTVOL(LV or GV, vol units)=value, NAME=eid

ENTPROD FROM=phase, TO=phase,
  FRACTION(M or WT or AV)=value or
  PERCENT(M or WT or AV)=value or
  RATE(M or WT or AV, or GV, urate)=value or
  HOTVOL(LV or GV, vol units)=value, NAME=eid

Valid entries for phase: V or L or S or W.

Alternate Definition of Parameters (可选)

DEFINE &lt;param&gt; AS &lt;unit type&gt;=uid, &lt;param&gt;, {&lt;op&gt;, &lt;ref&gt;}
or
DEFINE &lt;param&gt; AS STREAM=sid, &lt;param&gt;, {&lt;op&gt;, &lt;ref&gt;}

Thermodynamic Set Selection (可选)

METHOD SET=setid

COLUMN(精馏/吸收/汽提塔)完整语法

> 语法来源: PRO/II 10.2 Keyword Manual (Chapter 12.1-12.10, page 391+)

最小必选结构

COLUMN or SIDESTRIPPER or SIDERECTIFIER UID=uid, {NAME=text}
  PARAMETER TRAY=value,
    {IO=30} or {SURE=20} or {LLEX=30} or
    {CHEMDIST=40} or {RATEFRAC=30} or {ENHANCEDIO=12},
    {DAMP=1.0}, {SIMSTOP=15}, {FREEWATER}
  FEED sid, trayno, {phase}/ sid2, trayno2, {phase2}/...,
    {NOTSEPARATE}, {SEPARATE}, {SUPERCEDE=ON or OFF}
  **⚠️ 多股进料必须用 `/` 分隔,不能用逗号!**
  正确: `FEED S1, 5 / S2, 10`
  错误: `FEED S1, 5, S2, 10` → 报 &quot;Misplaced or invalid character&quot;
  PRODUCT OVHD(M or LV or WT, urate)=sid, value,
    BTMS(M or LV or WT, urate)=sid, value,
    {LDRAW(M or LV or WT, urate)=sid, trayno, value/...},
    {VDRAW(M or LV or WT or GV, urate)=sid, trayno, value/...},
    {WATER(M or LV or WT, urate)=sid, 1, value}
  **⚠️ OVHD和BTMS必须在同一个PRODUCT语句中!不能分成两行!**
  正确: `PRODUCT OVHD(M)=S1, 1000, BTMS(M)=S2, 5000`
  错误: `PRODUCT OVHD(M)=S1, 1000` + `PRODUCT BTMS(M)=S2, 5000` → 报&quot;Keyword &#x27;BTMS&#x27; REQUIRED&quot;和&quot;Duplicate occurrence&quot;
  (2026-06-12验证: azeo_a3-splitter.inp, EXAM2.INP, A2.INP均确认OVHD/BTMS在同一行)
  **可以只给一侧流量,另一侧由物料平衡自动计算:**
  `PRODUCT OVHD(M)=S1, 1000, BTMS(M)=S2` → BTMS流量自动算

CONDENSER(冷凝器)完整语法

> 手册原文:"Omit this statement for columns with no condenser."

官方支持的 6 种冷凝器类型:

TYPE= 说明 附加参数 官方案例验证
PART 部分冷凝器(汽液两相塔顶) PRESSURE=, TEST=(可选) A2(T1,T5), A4, A8(ARG), C2, G8(再生塔)
TOTAL 全冷凝器 PRESSURE=, TESTIMATE=(可选) 未出现在Applib案例中
BUBB 泡点冷凝器(全凝) PRESSURE=, TEST=(可选) A2(T2,T3,T4), C1-C4, C6, A8(HP)
TFIX 固定过冷温度 TEMPERATURE=, PRESSURE= A5(DEC4), A7(T-1), C5, C8
MIXED 混合冷凝(部分出料) PRESSURE=, TESTIMATE=(可选) 未出现在Applib案例中
DTBB 泡点以下 DT 度 DT= 未出现在Applib案例中

⚠️ PART vs PARTIAL:官方案例统一使用 TYPE=PART(A2, A4, A8, C2, G8),不建议使用 PARTIAL。
⚠️ 无冷凝器时:直接省略 CONDENSER 行(吸收塔/汽提塔)

CONDENSER TYPE=PART or TOTAL or BUBB or TFIX or MIXED or DTBB,
  PRESSURE(upres)=value,
  DUTY(uduty)=value,
  VAPOR=sid, LIQ=sid,
  HXOUT=sid, TLIQ=sid

REBOILER(再沸器)完整语法

REBOILER TYPE=KETTLE or THERMOSYPHON or NONE,
  PRESSURE(upres)=value,
  DUTY(uduty)=value,
  OUT=sid

规则:THERMOSYPHON 仅 IO/EnhancedIO/SURE 算法支持。吸收塔(无再沸器)直接省略。

TYPE 选项:
- KETTLE - 釜式再沸器
- THERMOSYPHON - 热虹吸再沸器
- NONE - 无再沸器(吸收塔)

🔴 关键规则:使用 DUTY name=REBOILER 时必须声明 REBOILER TYPE=KETTLE!(2026-06-12 UOP PDH验证)

  • 没有 REBOILER TYPE=... 时,PRO/II将所有DUTY当作侧线加热器/冷却器(side-heater/cooler)
  • "REBOILER"是保留名称,不能用于侧线加热器 → 报错:The heater name REBOILER, may not be used as side-heater/cooler name. Also specify the REBOILER type.
  • 修正:添加 REBOILER TYPE=KETTLE 语句,或改用非保留名(如 DUTY 2,150,,2,参照P1.INP)
场景 DUTY语句 REBOILER TYPE 结果
有再沸器 DUTY 2,25,,REBOILER REBOILER TYPE=KETTLE ✅ 正确
有再沸器 DUTY 2,25,,REBOILER 省略 🔴 报错!REBOILER是保留名
无再沸器声明 DUTY 2,25,,2 省略 ✅ 侧线加热器,P1.INP做法
无再沸器声明 DUTY 2,25,,SIDEHC2 省略 ✅ 侧线加热器,A2/A4做法

⚠️ 同理,DUTY name=CONDENSER 必须与 CONDENSER TYPE=... 配对使用。 不指定CONDENSER TYPE时不能用name="CONDENSER"。

DUTY(热负荷)完整语法

DUTY(uduty) idno, segno, value {, name}/....
DUTY(V or L, uduty) idno, segno, value {, name}/....    (for RATEFRAC)
  • idno: 整数编号
  • segno: 塔板号(就是TRAY号),不是段号! 编号规则非常简单:
  • 冷凝器:segno=1(顶板)
  • 再沸器:segno=TRAY(底板 = PARAMETER TRAY的值)
  • 中段回流(PA):segno=PA返回的塔板号
  • ⚠️ 无论冷凝器类型如何(PART/BUBB/TFIX),再沸器segno始终=TRAY!
  • 验证来源(2026-06-12 官方案例全面验证):
    • A2 T1: TRAY=10, COND TYPE=PART → DUTY 1,1(cond), DUTY 2,10(reb)
    • A2 T2: TRAY=17, COND TYPE=BUBB → DUTY 1,1(cond), DUTY 2,17(reb)
    • A4: TRAY=16, COND TYPE=PART → DUTY 1,1(cond), DUTY 2,16(reb)
    • A8 HP: TRAY=44, COND TYPE=BUBB → DUTY 1,1(cond), DUTY 2,44(reb)
    • A8 ARG: TRAY=3, COND TYPE=PART → DUTY 1,1(cond), DUTY 2,3(reb)
    • C2: TRAY=18, COND TYPE=BUBB → DUTY 1,1(cond), DUTY 2,18(reb)
    • G7G再生塔: TRAY=12, COND TYPE=PART → DUTY 1,1(cond), DUTY 2,12(reb)
  • ~~旧规则"TRAY+2"和"PARTIAL=TRAY, BUBB=TRAY+1"均错误,已修正~~
  • value: 热负荷(百万能量单位/时间),正值=加热,负值=冷却。留空=由程序计算
  • name: DUTY名称字符串,被VARY DNAME=引用!⚠️ 不是idno序号!
  • 推荐命名:CONDENSER(冷凝器)、REBOILER(再沸器)、SIDEHC1/SIDEHC2(中段)
  • 官方案例:A9/B2/C8/G8/G10/U2 用 REBOILER;A2/A4/A5/A7/C1-C6 用 SIDEHC2
  • 也可用数字字符串如 1、2(C4/C5/G2/P1-P6/R2-R8),但可读性差
  • 🔴 错误示例:DUTY 2,25,,REB + VARY DNAME=2 → INVALID HEATER NAME "2"!
  • ✅ 正确示例:DUTY 2,25,,REBOILER + VARY DNAME=REBOILER
  • DUTY 与 HEAT 同义(HEAT 为旧版保留关键字)

⚠️ segno 编号规则(2026-06-12 官方案例全面验证修正):

关键字 编号体系 TRAY=10 时的编号
DUTY segno 塔板号 1=冷凝器(顶板), 2~9=中间塔板, 10=再沸器(底板)
PRESSURE / TEMPERATURE 塔板编号 1, 2, 3, ..., 10
FEED 塔板位置 塔板编号 1~10
LDRAW / VDRAW 塔板编号 1~10

简单规则:DUTY的segno就是塔板号,再沸器segno=TRAY(底板号),与冷凝器类型无关!

PRESSURE vs PSPEC(塔压定义)

两种方式互斥,任选其一:

方式一(逐板): PRESSURE(KPA) 1,4450/ 5,4470/ N,4500

方式二(顶压+压降): PSPEC PTOP(KPA)=4450, DPCOL(KPA)=50
                     或 PSPEC PTOP(KPA)=4450, DPTRAY(KPA)=3.33

关键:
- PSPEC 使用 PTOP= + DPCOL=/DPTRAY= 格式,不是 PSPEC 1,4450, N,4500!
- PRESSURE 使用塔板编号(1 ~ TRAY),不是 segno!
- 对 TRAY=5,PRESSURE 范围是 1,val/5,val(不能用 6 或 7,会报 "Invalid tray number")

ESTIMATE(初始估算生成器)完整语法

> 手册原文 §12.1 page 413, 420-421。仅支持以下关键字,不可混入其他。

ESTIMATE MODEL=SIMPLE or CONVENTIONAL or REFINE or CHEM
  {CESTIMATE(L or L1 or L2 or V or IL or IV) trayno, x1, x2,.../...}
  { CTEMP(utemp)=value,  TTEMP(utemp)=value,
    BTEMP(utemp)=value,  RTEMP(utemp)=value }
  RRATIO(LD or L1 or L2 or LF)=3.0

温度估算关键字(四选,按塔结构选取):

关键字 含义 何时使用
CTEMP 冷凝器温度 塔有冷凝器时
TTEMP 塔顶塔板温度 塔无冷凝器时(= Tray 2 if has condenser, Tray 1 if not)
BTEMP 塔底温度 总是(有再沸器时=倒数第二板)
RTEMP 再沸器温度 塔有再沸器时

MODEL 选项:
- SIMPLE - 简单估算
- CONVENTIONAL - 常规方法-REFINE- 精细估算
- CHEM - 化学蒸馏估算`

CESTIMATE 选项(CHEMDIST 和 SURE 算法):

CESTIMATE(L or L1 or L2 or V) trayno, x1, x2,.../...

温度估算关键字(四选,按塔结构选取):

关键字 含义 何时使用
CTEMP 冷凝器温度 塔有冷凝器时
TTEMP 塔顶塔板温度 塔无冷凝器时(= Tray 2 if has condenser, Tray 1 if not)
BTEMP 塔底温度 总是(有再沸器时=倒数第二板)
RTEMP 再沸器温度 塔有再沸器时

产品流量初估值(在 PRODUCT 语句中,不在 ESTIMATE 中):

⚠️ OVHD和BTMS必须在同一个PRODUCT语句中! 官方案例无一例外均为单行写法:

PRODUCT OVHD(M)=S1, 1000, BTMS(M)=S2, 5000, SUPERSEDE=ON

分两行写会导致 "Keyword 'BTMS' REQUIRED" 和 "Duplicate occurrence of statement 'PRODUCT'" 错误。

可以只给一侧流量,另一侧由物料平衡自动计算:

PRODUCT OVHD(M)=S1, 1000, BTMS(M)=S2, SUPERSEDE=ON
  • value 是产品摩尔流量估计值(BASIS=MOLE时),至少一端必须提供
  • 手册原文: "This rate is required if it is not given on the [other] keyword."

ESTIMATE 不支持的关键字(已验证被 PRO/II 10.2 拒绝):
- ~~TEMP~~ → 用 TTEMP(无冷凝器)或 CTEMP(有冷凝器)
- ~~RATE(M)~~ → 产品流量初估在 PRODUCT 语句中
- ~~RATE(WT)~~ → 同上

PA (Pump-Around) 完整语法

PA FROM=trayno1, TO=trayno2, PHASE=L or V,
  {NAME=idchar*12,}
  RATE(urate)=value, TEMP(utemp)=value,
  DUTY(uduty)=value,
  RETURN=sid, DRAW=sid

参数说明:
- FROM, TO - 泵循环的起始和终止塔板号
- PHASE - 泵循环物料的相态(L=液相, V=气相)
- RATE - 泵循环流量
- TEMP - 泵循环返回温度
- DUTY - 泵循环热负荷
- RETURN - 返回流股名
- DRAW - 抽出流股名

SPEC(规格)完整语法

SPEC COLUMN=uid or SIDESTRIPPER=uid, &lt;property 1&gt;,
  {&lt;operator&gt;, &lt;reference&gt;, &lt;property 2&gt;},
  VALUE=value, {ATOL=value or RTOL=value}

⚠️ PRO/II 10.2 关键词模式 SPEC 限制(2026-06-11 验证):

特性 是否支持 说明
VALUE= 关键字 ✅ 必须 数值前必须有 VALUE=,不能直接写数字
COMP 属性 ❌ 不支持 关键词模式不识别 COMP 关键字
GE / LE 操作符 ❌ 不支持 关键词模式不识别不等式约束
REFLUX ✅ 支持 回流比
RRAT ✅ 支持 回流比(同 REFLUX)
DUTY ✅ 支持 热负荷
MDIA ✅ 支持 组分摩尔分数(区别于 COMP)

正确 SPEC 示例(PRO/II 10.2 关键词模式):

SPEC COLUMN=T101, REFLUX, VALUE=2.0
SPEC COLUMN=T101, RRAT, VALUE=1.5
SPEC COLUMN=T101, DUTY, VALUE=5.0

不支持的 SPEC 示例:

SPEC COLUMN=T101, COMP,1,OVHD,VALUE=0.95,GE    ← COMP 不被识别
SPEC COLUMN=T101, COMP,2,BTMS,0.05,LE           ← COMP 不被识别, 缺 VALUE=

VARY ({CHANGE}) 完整语法

> ⚠️ 2026-06-12 UOP PDH模型验证:VARY DNAME= 必须引用DUTY语句中的name字符串,不是序号!

VARY({CHANGE}) DNAME=duty_name, ...
VARY({CHANGE}) DNAME=duty_name1, duty_name2, ...     ! 多个duty用逗号分隔
VARY DRAW=sid,...
VARY FEED=sid,...
VARY FTRAY(tray)

VARY DNAME 引用规则(2026-06-12 官方50+案例验证):

VARY DNAME= 后面跟的是DUTY语句中定义的name字符串,不是idno序号!

DUTY定义 正确VARY 错误VARY 说明
DUTY 1,1,,CONDENSER VARY DNAME=CONDENSER ~~VARY DNAME=1~~ name="CONDENSER"
DUTY 2,25,,REBOILER VARY DNAME=REBOILER ~~VARY DNAME=2~~ name="REBOILER"
DUTY 2,10,,2 VARY DNAME=2 — name="2"(数字字符串)
DUTY 2,16,,SIDEHC2 VARY DNAME=SIDEHC2 — name="SIDEHC2"

🔴 错误后果:INVALID HEATER NAME &quot;X&quot; is included in VARY statement.

官方案例DUTY命名惯例(推荐遵循):

命名 用途 官方案例
CONDENSER 冷凝器DUTY A2, A4, A5, A7, A8, A9, B2, C1-C8, G8, P1-P6, R2-R8
REBOILER 再沸器DUTY A9, B2, C8, G8, G10, R2A, U2
SIDEHC2 非冷凝器DUTY(再沸器/中间加热) A2, A4, A5, A7, C1-C4, VCM
SIDEHC1 第一中间DUTY A8, G8, VCM
2 数字字符串(第二种DUTY) C4, C5, G2, P1-P6, R2-R8
1 数字字符串(唯一DUTY) G5, G7G, R4R, R8

⚠️ 强烈建议使用 CONDENSER 和 REBOILER 作为DUTY名,不要用数字字符串,可读性更好。

一行多DUTY引用(B2.inp验证):

VARY DNAME=REBOILER,CONDENSER      ! 一行引用两个DUTY

COLUMN SPEC/VARY配对规则(2产品塔)

> 2026-06-12 官方50+案例验证:2产品塔(SUPERSEDE=ON)需要 2个SPEC + 2个VARY

自由度分析:
- 2产品塔(OVHD + BTMS)+ SUPERSEDE=ON → 产品流量为变量
- 2个DUTY(CONDENSER + REBOILER)→ 2个可调变量
- 需要2个SPEC约束2个自由度

标准配对模式(官方案例验证):

模式 SPEC 1 SPEC 2 VARY 1 VARY 2 案例
A RRATIO 产品纯度 DNAME=CONDENSER DNAME=REBOILER C5
B RRATIO 产品流量 DNAME=CONDENSER DNAME=REBOILER A5
C 产品纯度 RRATIO DNAME=CONDENSER DNAME=REBOILER C4, A9
D 温度 产品纯度 DNAME=CONDENSER DNAME=REBOILER A8

标准模板:

COLUMN UID=C1, NAME=DEETHANIZER
  PARAMETER TRAY=25, IO=200, DAMP=0.5
  FEED FEED1, 12, TNOTSEPARATE, NOTSEPARATE
  PRODUCT  OVHD(M)=OV1, 200, BTMS(M)=BT1, 650, SUPERSEDE=ON
  CONDENSER TYPE=PART, PRESSURE=1700
  REBOILER TYPE=KETTLE
  DUTY  1,1,,CONDENSER
  DUTY  2,25,,REBOILER
  PSPEC PTOP=1700, DPCOL=50
  ESTIMATE MODEL=CONVENTIONAL, CTEMP=-20, BTEMP=75, RRATIO=3.0
  TEMPERATURE(C) 1,-20/ 8,0/ 16,30/ 25,75
  SPEC ID=S1, COLUMN=C1, RRATIO, VALUE=3.0
  SPEC ID=S2, STREAM=OV1, RATE(M), TOTAL, WET, VALUE=200
  VARY DNAME=CONDENSER
  VARY DNAME=REBOILER

DEFINE(参数定义)完整语法

DEFINE &lt;param&gt; AS &lt;unit type&gt;=uid, &lt;param&gt;, {&lt;op&gt;, &lt;ref&gt;}
or
DEFINE &lt;param&gt; AS STREAM=sid, &lt;param&gt;, {&lt;op&gt;, &lt;ref&gt;}

TEMPERATURE(逐板温度估算)

逐板温度用独立的 TEMPERATURE 关键字,不在 ESTIMATE 中:

TEMPERATURE(C) 1,-55/ 5,-50/ 10,-40/ N,-20    ← 逐板温度估算

DUTY(冷凝器/再沸器/中间换热器热负荷)

DUTY idno, segno, value, name  /  idno, segno, value, name  / ...
  • idno: 整数编号
  • segno: 塔板号(1=冷凝器, N=再沸器)
  • value: 热负荷(百万能量单位/时间),正值=加热,负值=冷却,留空=由程序计算
  • name: DUTY名称,被VARY DNAME=引用! 推荐用CONDENSER/REBOILER
  • DUTY 与 HEAT 同义(HEAT 为旧版保留关键字)

SIDE(侧线产品)

侧线抽出是 PRODUCT 语句的一部分,不是独立关键字。

语法(PRO/II 10.2 验证):

PRODUCT SIDE(L)=sid, segno, value
PRODUCT SIDE(V)=sid, segno, value
参数 含义
SIDE(L) 液相侧线抽出(最常用)
SIDE(V) 气相侧线抽出
sid 侧线产品流股名(最长 8 字符)
segno 抽出塔板号(1=冷凝器, N=再沸器)
value 流量初值(摩尔流量,BASIS=MOLE 时)
  • 一个 COLUMN 可有多条 PRODUCT SIDE 语句
  • value(流量初值)必须提供,否则报语法错误
  • 侧线抽出影响物料平衡,极大影响收敛,初值要合理

⚠️ LDRAW 侧线语法(在PRODUCT语句内部):

LDRAW 是另一种侧线抽出方式,在PRODUCT语句内部使用:

PRODUCT OVHD(M)=NAPHTHA, 300, LDRAW(M)=KERO, 14, 150, LDRAW(M)=DIESEL, 27, 250, BTMS(M)=BOT, 300, SUPERSEDE=ON

⚠️ LDRAW + SUPERSEDE=ON 冲突规则(2026-06-19 VDU验证):
- SUPERSEDE=ON 让SPEC覆盖OVHD/BTMS的流量初值
- 但LDRAW的流量初值不能被SPEC覆盖!SUPERSEDE只对OVHD/BTMS有效
- 如果要对LDRAW流量做SPEC约束,需要额外VARY变量(如DUTY侧线加热器SIDEHC)
- 推荐做法:LDRAW固定抽出率(不约束),OVHD/BTMS用SPEC+VARY控制

LDRAW 也可以单独作为PRODUCT子语句(官方案例R3R验证):

PRODUCT  OVHD(M)=9, 2879, WATER=7, 1, 1105, BTMS(M)=20, SUPERSEDE=ON
LDRAW(M)=15, 8, 1047/17, 12, 575/19, 16, 715

注意:LDRAW是COLUMN的子语句,不在PRODUCT内部时作为独立行,格式=LDRAW(unit)=sid, trayno, value/trayno2, sid2, value2

常见错误:
| 错误写法 | 正确写法 |
|---------|---------|
| SIDE KERO,12,150 | PRODUCT SIDE(L)=KERO,12,150 |
| PRODUCT SIDE(L)=KERO,150 | PRODUCT SIDE(L)=KERO,12,150(缺少塔板号)|
| PRODUCT SIDE=KERO,12,150 | PRODUCT SIDE(L)=... 或 (V)=...(必须指定相态)|

推荐分行写(更清晰):

PRODUCT OVHD(M)=NAPHTHA, 300
PRODUCT SIDE(L)=KERO, 12, 150
PRODUCT SIDE(L)=DIESEL, 25, 250
PRODUCT BTMS(M)=BOT, 300

完整常压分馏塔示例(含侧线 + 中段回流)

COLUMN UID=C1, NAME=ATM_DIST
  PARAMETER TRAY=40
  FEED FEED,20
  PRODUCT OVHD(M)=NAPHTHA, 300
  PRODUCT SIDE(L)=KERO, 14, 150
  PRODUCT SIDE(L)=DIESEL, 27, 250
  PRODUCT BTMS(M)=BOT, 300
  CONDENSER TYPE=BUBB, PRESSURE(KPA)=110
  REBOILER TYPE=KETTLE
  PRESSURE(KPA) 1,110/ 20,120/ 40,130
  ESTIMATE MODEL=SIMPLE, CTEMP=110, BTEMP=350, RRATIO=2.5
  TEMPERATURE(C) 1,110/ 10,180/ 20,260/ 30,320/ 40,355
  HEAT 1,1,-5.0
  HEAT 2,7,-8.0
  • HEAT 1,1,-5.0:冷凝器(segno=1)取热 5 MW(负值=取热)
  • HEAT 2,7,-8.0:第 7 段(segno=7 = 第5层塔板,TRAY=5时)中段取热 8 MW
  • segno 编号:1=冷凝器, 2~6=5层塔板, 7=再沸器
  • PRODUCT SIDE(L)=KERO,14:SIDE 使用 segno 编号,14 = 第12层塔板

完整吸收塔示例(无冷凝器无再沸器)

COLUMN UID=ABS01, NAME=ABSORBER
  PARAMETER TRAY=15
  FEED GAS-IN,15/ LIQUID-IN,1
  PRODUCT OVHD(M)=GAS-OUT, 8000
  PRODUCT BTMS(M)=LIQUID-OUT, 600
  PRESSURE(KPA) 1,4450/ 15,4500
  ESTIMATE MODEL=SIMPLE, TTEMP=-55, BTEMP=-20
  TEMPERATURE(C) 1,-55/ 5,-50/ 10,-40/ 15,-20

完整汽提塔示例(无冷凝器+釜式再沸器)

模式A:固定DUTY值(0 SPEC + 0 VARY)

COLUMN UID=STR01, NAME=REGEN
  PARAMETER TRAY=8
  FEED FEED-IN,1
  PRODUCT OVHD(V)=VAPOR-OUT, 300
  PRODUCT BTMS(M)=BTMS-OUT, 500
  REBOILER TYPE=KETTLE
  PRESSURE(KPA) 1,110/ 8,120
  DUTY 1,8,4.0
  ESTIMATE MODEL=SIMPLE, TTEMP=70, BTEMP=95
  TEMPERATURE(C) 1,70/ 4,85/ 8,95

模式B:SPEC/VARY控制塔底组成(1 SPEC + 1 VARY)— 2026-06-21 Lurgi Rectisol v9验证

COLUMN UID=REGEN
  PARAMETER TRAY=8, IO=300, DAMP=0.5
  FEED 11,1
  PRODUCT OVHD(V)=12,500, BTMS(M)=13,14000
  REBOILER TYPE=KETTLE
  PSPEC PTOP=200, DPCOL=20
  DUTY 1,8,,REBOILER
  ESTIMATE MODEL=SIMPLE, TTEMP=50, BTEMP=83
  TEMPERATURE(C) 1,50/ 3,60/ 5,70/ 8,83
  SPEC ID=S1, STREAM=13, FRACTION, COMP=2, WET, VALUE=0.005
  VARY DNAME=REBOILER

汽提塔关键规则(2026-06-21验证):
1. 无冷凝器:省略CONDENSER语句(不要写CONDENSER TYPE=NONE)
2. FEED在tray 1(塔顶液相进料):提供塔顶液相源,避免NO FEED or HEATER at tray 1
3. REBOILER TYPE=KETTLE:提供上升蒸汽(汽提动力)
4. DUTY命名:DUTY 1,N,,REBOILER(value留空,name=REBOILER)→ 允许VARY DNAME=REBOILER
5. OVHD(V):气相产品(被汽提的轻组分)
6. BTMS(M):液相产品(再生后的重组分)
7. ESTIMATE用TTEMP(非CTEMP):无冷凝器时用TTEMP指定塔顶温度
8. PSPEC代替PRESSURE:PSPEC PTOP=xxx, DPCOL=xx比逐板PRESSURE更稳定

COLUMN 收敛问题排查

> ⚠️ 验证结论(2026-06-11): PRO/II 10.2 的 COLUMN 模块 语法正确,可以运行(RC=11),但 收敛困难(RC=14)。之前以为的"许可问题"已被排除 — 正确配置环境后(proii.ini + SIMSCICFI + Licensing 路径),COLUMN 模块正常工作。

环境配置要求(关键!)

COLUMN 测试必须使用正确的环境配置,否则 PROIN.exe 会崩溃(RC=3221225781):

# 必须的路径
SIMSCI_CFI = r&#x27;C:\Program Files\Common Files\SIMSCI\SIMSCICFI53\VC120x64&#x27;
LICENSING = r&#x27;C:\Program Files (x86)\Common Files\SimSci\Licensing10\VC120x64&#x27;
PROII_BIN = r&#x27;E:\Program Files\SIMSCI\PROII102\BIN&#x27;
CNF = %APPDATA%\SIMSCI\PROII102\proii.ini  # 不是 PROII.CNF!

正确的 COLUMN 语法(已通过 PROIN RC=11 验证)

COLUMN UID=T101,NAME=TESTCOL
  PARAMETER IO=100,DAMP=0.5,TRAY=5    ← 算法 + 迭代次数 + 阻尼
  FEED FEED,3                           ← 进料流股 + 塔板号
  PRODUCT OVHD=OVHD,40,BTMS=BTMS,60    ← 塔顶/塔底产品 + 流率
  CONDENSER TYPE=BUBB                   ← 冷凝器类型
  REBOILER TYPE=KETTLE                  ← 再沸器类型
  PRESSURE(KPA) 1,105/5,110            ← 逐板压力(塔板编号 1~N)
  HEAT 1,1,-5/2,7,5                    ← 冷凝器(segno=1)+再沸器(segno=TRAY+2=7)热负荷
  ESTIMATE MODEL=SIMPLE,CTEMP=60,BTEMP=150,RRATIO=2.0
  TEMPERATURE(C) 1,60/2,80/3,100/4,130/5,150

关键规则:
1. PARAMETER 语句必须指定算法:IO=、SURE=、CHEMDIST=、ENHANCEDIO=、RATEFRAC=、LLEX=
2. 必须提供 HEAT 语句:否则报 "VAPOR FEED or a HEATER is REQUIRED on the BOTTOM tray"
3. PRESSURE 用塔板编号(1 ~ TRAY),HEAT 用 segno 编号(1=冷凝器, TRAY+2=再沸器)
4. PRODUCT 语法:OVHD=sid,rate,BTMS=sid,rate
5. 热负荷单位是百万能量/时间单位(与 DIMENSION DUTY 联动)
6. ESTIMATE 提供初值,但不替代操作规格

segno / 塔板编号对照速查

TRAY= 冷凝器 segno 塔板 segno 再沸器 segno PRESSURE 范围
2 1 2,3 4 1,val/2,val
3 1 2,3,4 5 1,val/3,val
5 1 2,3,4,5,6 7 1,val/5,val
10 1 2~11 12 1,val/10,val
40 1 2~41 42 1,val/40,val

COLUMN 限制

  • 不能处理单组分进料:进料中至少需要 2 个组分,否则报 "Only ONE component is in the total feed"

收敛行为分析

IO 算法对 NC5+NC8 IDEAL 系统的收敛表现:

E(ENTH+SPEC): 2.14e2 → 7.05e0 (在稳定下降)
E(ENTH+SPEC): 7.83e-2 → 7.19e-2 → 7.18e-2(震荡停滞)
ALPHA: 逐渐减小至 ~1e-4,最终因 ALPHA 太小而终止

收敛失败原因:不是语法/许可问题,而是:
1. HEAT 值不匹配(冷凝器/再沸器热负荷与实际分离热不匹配)
2. 塔板数太少时,ESTIMATE MODEL=SIMPLE 提供的初值不足
3. IDEAL 热力学对烃类不够准确,建议改为 PR/SRK
4. 自由度超界(PRODUCT流量+HEAT+SPEC 总计超过 N-1)

收敛技巧:
- 增加迭代次数:IO=500 或 SURE=200
- 调整 DAMP:默认 1.0,收敛慢时降至 0.3-0.5
- 增大 SIMSTOP:默认 15,增大到 50
- ESTIMATE 用 CONVENTIONAL 代替 SIMPLE(提供更好的初值)
- 先确认 segno 编号正确(再沸器 = TRAY,不是 TRAY+2,详见 proii-modeling-guide 技能)
- TRAY >= 5 时才考虑使用 COLUMN(2-3 块板初值不足)

COLUMN 收敛排查路径(不要直接退回 FLASH):
> ⚠️ 工艺描述中有塔就必须用 COLUMN,FLASH 串联只是提取初值的辅助手段。
1. 检查自由度:PRODUCT + HEAT + SPEC 总数 ≤ TRAY-1
2. 检查 ESTIMATE:优先 MODEL=CONVENTIONAL, RRATIO=2.0,省略 CTEMP/BTEMP
3. 检查组分选择:VDU 用 NC10+ 重组分
4. 检查压力单位:用 PRESSURE(KPA) 明确指定
5. 检查进料温度:VDU 进料 200°C,塔底温度不要 >350°C(否则 "DRIED UP")
6. 用渐进扩展法:3组分5层 → 10层 → 20层 → 40层
7. 以上都试过仍不收敛:先用 FLASH 跑通流程提取初值,再回 COLUMN 重试

FLASH 串联仅在以下场景使用:
- COLUMN 收敛前提取初值(辅助手段,最终目标仍是 COLUMN)
- 纯方案比选阶段快速估算(需明确标注为简化模型)
- 非精馏场景的加热/冷却(FLASH ISOTHERMAL 替代加热炉)

WATER SUPERSATURATION 错误

  • 触发条件:使用 PR 热力学 + 含水组分,在某些温度/压力条件下水蒸气的饱和度计算溢出
  • 解决方案:
    1. 避开 PR,改用 SRK 或 IDEAL(不含水时)
    2. 如果必须用水 + PR,确保操作条件远离饱和曲线
    3. 用 WATER PROPERTY=IF97 替代默认水性质模型

CONTROLLER(控制器)

CONTROLLER UID=NAME
  SPEC STREAM=STREAM-NAME, RATE(WT,KG/H),TOTAL,WET, VALUE=2000
  VARY STREAM=ADJUST-STREAM, RATE(WT,KG/H)
  CPARAMETER IPRINT, SOLVE, ITER=30

MIXER(混合器)

MIXER UID=NAME
  FEED STREAM1,STREAM2
  PRODUCT M=PRODUCT-STREAM

SPLITTER(分流器)

SPLITTER UID=NAME
  FEED FEED-STREAM
  PRODUCT M=PROD1, M=PROD2
  OPERATION OPTION=FILL
  SPEC STREAM=PROD1, RATE(KGM/H),TOTAL,WET, VALUE=100

⚠️ 重要规则:
- OPERATION OPTION=FILL 必须指定,否则报"Missing OPTION"错误
- FRACTION 不是有效关键字!报"Statement 'FRACTION' is not recognized"
- SPLITTER按总流量分配产品,不支持组分选择性分离
- PSA等需要组分分离的场景,需用FLASH串联或专门单元近似

SPLITTER常见错误:
| 错误写法 | 正确写法 | 说明 |
|---------|---------|------|
| PRODUCT 1=A, 2=B | PRODUCT M=A, M=B | PRODUCT不能使用序号 |
| FRACTION 1=0.85, 2=0.15 | OPERATION OPTION=FILL + SPEC STREAM=A, RATE(...), VALUE=... | FRACTION关键字不被识别 |
| 省略OPERATION OPTION | OPERATION OPTION=FILL(必须) | 报"Missing OPTION" |

闭环模型收敛策略(2026-06-20 Rectisol验证)

问题诊断流程

  1. 开环验证:先搭建开环模型(断开循环),获得收敛的循环流股数据
  2. 数据回填:将开环模型收敛数据回填到闭环模型初始估计
  3. 排放机制:必须添加排放分流器去除累积组分(如H2O)
  4. 迭代优化:根据物料衡算结果,逐步调整排放率和补充流率

ISOTHERMAL vs ADIABATIC在闭环中的行为差异

闪蒸类型 开环系统 闭环系统 推荐场景
ISOTHERMAL 收敛快,温度指定 推荐! 温度可控,避免发散 闭环系统、温度敏感工艺
ADIABATIC 可用,但需初值估计 危险! 温度由焓平衡决定,初始估计偏差导致温度过低→更多气体溶解→更多液相→更低温度→恶性循环发散 开环系统、快速估算

Rectisol案例:
- ADIABATIC版闭环:MEF1流率从708暴涨至28,844 kg-mol/hr
- 根因:ADIABATIC闪蒸温度过低(-52~-55°C),大量气体溶解在甲醇中
- 解决:改为ISOTHERMAL,指定物理合理温度(FLS01=-40°C, FLS02=0°C, FLS03=30°C)

物料衡算偏差处理策略

症状:全局偏差>1%,或单组分偏差>5%

根因与解决:
1. 组分累积(如H2O在甲醇循环中累积)
- 解决:添加SPLITTER排放分流器
- 计算排放率:排放流率 = 进料带入组分流率 / 排放流股中该组分的摩尔分数
- 示例:WPURGE = 124.32 / 0.4677 ≈ 266 kg-mol/h

  1. 组分损失(如甲醇被SYOUT带走)
    - 解决:添加补充流股(如MEOHMAKE)
    - 计算补充率:补充流率 = 所有出口流股中该组分的流量之和

  2. 循环流率不匹配
    - 解决:更新循环流股初始估计值(基于开环模型收敛数据)

开环→闭环模型转换流程

步骤:
1. 搭建开环模型:断开循环流股(如MEF1→...→MEF1NEW)
2. 运行开环模型至收敛
3. 记录循环流股(如MEF1NEW)的:流率、温度、压力、相态、组分
4. 搭建闭环模型:连接循环流股
5. 在STREAM DATA中定义循环流股初始估计:使用开环模型收敛数据
6. 运行闭环模型
7. 如物料衡算偏差>1%,添加排放分流器并优化

Rectisol案例:
- 开环模型:rectisol_v4_open.inp(MEF1→...→MEF1NEW)
- 收敛数据:MEF1NEW = 708.805 kg-mol/h, -60°C, 4500 kPa, LIQUID
- 闭环模型:rectisol_v4_final3.inp(MEF1初始估计使用开环数据)
- 结果:3次迭代收敛,全局偏差0.15 mol%

常见错误汇总

错误写法 正确写法 说明
! 注释内容 或 ! 单独一行 不使用注释行,或用 NOTES TEXT=... 🔴 PRO/II 10.2不支持!注释! 导致"Statement must begin with a keyword"或"Statement '!' is not recognized"。官方案例均无注释行(2026-06-12 UOP PDH验证)
VARY DNAME=2 但DUTY名是REBOILER VARY DNAME=REBOILER(引用DUTY的name字符串) 🔴 INVALID HEATER NAME! VARY DNAME必须引用DUTY语句中的name字段,不是idno序号。官方案例验证:DUTY 2,25,,REBOILER → VARY DNAME=REBOILER(2026-06-12 UOP PDH验证)
2产品塔SUPERSEDE=ON只有1个SPEC+1个VARY 需要2个SPEC+2个VARY 列有2个自由度(CONDENSER+REBOILER),需要2个SPEC约束。官方案例均为2 SPEC + 2 VARY(2026-06-12验证)
DUTY 2,25,,REB(非标准命名) DUTY 2,25,,REBOILER 官方案例统一使用REBOILER(A9, B2, C8, G8, G10, U2),不推荐缩写(2026-06-12验证)
DUTY 2,25,,REBOILER 但缺少 REBOILER TYPE=KETTLE 必须添加 REBOILER TYPE=KETTLE 🔴 "REBOILER"是保留名! 没有REBOILER TYPE声明时,DUTY被视为侧线加热器,"REBOILER"不能用作侧线加热器名。报错:The heater name REBOILER, may not be used as side-heater/cooler name(2026-06-12 UOP PDH验证)
同理:DUTY 1,1,,CONDENSER 但缺少 CONDENSER TYPE=... 必须添加 CONDENSER TYPE=PART/BUBB/TFIX "CONDENSER"也是保留名,必须与CONDENSER TYPE配对使用(2026-06-12验证)
省略 UNIT OPERATIONS 段头 必须先写 UNIT OPERATIONS 再定义单元操作 最严重:直接导致所有单元操作关键字被误解析为流股数据
PETROLEUM(KG/M3,C) id,name,SG,TREF,NBP PETRO id,name,MW,SG,NBP 或用 CUTPOINTS TBPCUTS 参数顺序和关键字都错误,导致 "Value not between 299 and 2E4"
ASSAY ID=CRUDE01,TYPE=TBP,UNIT=C,NPOINT=11 在 STREAM DATA 段用 ASSAY=LV + TBP/API/LIGHT 子语句 COMPONENT DATA 段不支持此语法
TBP DATA=0,80/5,120/... 作为独立语句 TBP STREAM=sid,PRES(MMHG)=760,&amp; DATA=...(子语句缩进) TBP DATA 不是独立关键字
API AVERAGE=35 API STREAM=sid, AVG=35(子语句) API AVERAGE 不是有效语法
PETRO UID=... + CUT POINT=... 用 COLUMN + LDRAW 替代 PETRO 单元操作关键词模式不支持,仅 GUI 可用
PROP STREAM= PROPERTY STREAM= 关键字不全
RATE(KG)= RATE(WT)= 单位限定符错误
RATE(W)= RATE(WT)= 单位限定符错误
HEATX UID= HX UID= 关键字错误
OPER HOT DUTY= OPER DUTY= HOT前缀不支持
OPER COLD CTEMP= OPER CTEMP= COLD前缀不支持
PRODUCT STREAM PRODUCT M=STREAM 缺相位限定符
EFFICIENCY=75 OPERATION PRES=2500, EFF=75 合并到OPERATION
LIBID 1,A/2,B, BANK= 分两行 LIBID 1,A, BANK= 和 LIBID 2,B, BANK= 或使用 / 分隔符但需验证
H2O=1.0 独立行 COMPOSITION(M)=1,1 在PROPERTY行 组成不能独立一行
阀门出口无温度 PROPERTY须包含TEMPERATURE= PHASE=M的阀门出口必须指定温度估算值
流股无组成 PROPERTY STREAM=D, TEMP=50, PRES=100, PHASE=L 添加 COMPOSITION(M)=..., NORMALIZE PRO/II 10.2 每条流股必须有组成,否则报 "INVALID COMPOSITIONS ≤ 0"
COMPOSITION(M)=..., ESTIMATE COMPOSITION(M)=..., NORMALIZE PRO/II 10.2 不识别COMPOSITION后的ESTIMATE关键字,会报"Missing SLASH"
CONDENSER TYPE=NONE 省略 CONDENSER 行 PRO/II 10.2 不识别 NONE 选项
PSPEC 1,4450, N,4500 PSPEC PTOP=4450, DPCOL=50 或 PRESSURE 1,4450/ N,4500 PSPEC 格式是 PTOP=+DPCOL=/DPTRAY=,非逐板值
ESTIMATE 1,T=-55/ N,T=-20 ESTIMATE MODEL=SIMPLE, TTEMP=-55, BTEMP=95 + PRODUCT ... value 详见 ESTIMATE/TTEMP/PRODUCT
TRAY 1, TEMP=-55 TEMPERATURE(C) 1,-55/ N,-20 逐板温度用 TEMPERATURE 关键字
循环流股用 ~~ESTIMATE~~ 用 COMPOSITION(M)=..., NORMALIZE ESTIMATE 是 COLUMN 内部关键字,不能用于 STREAM DATA
FEED S1, 5, S2, 10(多股进料用逗号) FEED S1, 5 / S2, 10 COLUMN多股进料必须用/分隔,逗号只用于同一进料的stream,tray,phase(2026-06-12验证)
CONDENSER TYPE=PARTIAL CONDENSER TYPE=PART 官方案例统一使用TYPE=PART(A2, A4, A8, C2, G8验证)
DUTY 1,1,,CONDENSER DUTY 1,1,-2,CONDENSER DUTY语法:idno,segno,value,name — value可留空(由程序算)或指定
~~再沸器DUTY segno=TRAY+2~~ 或 ~~取决于冷凝器类型~~ 再沸器DUTY segno=TRAY 无论冷凝器类型(PART/BUBB/TFIX),再沸器segno=TRAY! 官方案例全面验证(2026-06-12修正)
循环流股未在STREAM DATA定义 在STREAM DATA中添加初值估计 LEAN_MEOH等循环流股必须提供初值,否则模拟无法启动
正向流股出现在STREAM DATA 仅循环/外部进料在STREAM DATA 由单元操作产出的正向流股(如HX产出)不应在STREAM DATA重复定义
PRODUCT OVHD(M)=S1, 1000 + 换行 + PRODUCT BTMS(M)=S2, 5000 PRODUCT OVHD(M)=S1, 1000, BTMS(M)=S2, 5000 OVHD和BTMS必须在同一PRODUCT行! 分两行报"Keyword 'BTMS' REQUIRED"和"Duplicate occurrence"(2026-06-12验证)
RXDATA放在THERMO和STREAM之间 RXDATA放在STREAM DATA之后、UNIT OPERATIONS之前 🔴 ABORT! PRO/II严格检查节顺序:General→Component→Thermo→Regression→Stream→Reaction→Procedure→UnitOps→Recycle。RXDATA必须在STREAM DATA之后!(2026-06-12 UOP PDH验证)
CONREACTOR缺少RXCALCULATION MODEL=STOIC 添加RXCALCULATION MODEL=STOIC行 官方案例A5.INP的CONREACTOR均包含此行,不可省略(2026-06-12验证)
HX+UTILITY STEAM用于高温加热(>400°C) 改用FLASH ISOTHERMAL 蒸汽无法加热到590°C,PRO/II HX+UTILITY STEAM仅适用于<400°C场景。高温加热炉用FLASH UID=..., OPERATION ISOTHERMAL, TEMPERATURE=590, PRESSURE=...(2026-06-12验证)
HX只有一侧FEED且无UTILITY 至少需要一侧FEED+UTILITY,或两侧FEED,或用FLASH代替 PRO/II HX要求两侧都有定义(HOT+COLD或一侧+UTILITY),单侧无UTILITY不可行(2026-06-12验证)
COMPRESSOR使用MEFF参数 官方案例无MEFF A1/A3G/A4G官方案例均无MEFF参数,使用OPERATION CALCULATION=GPSA/ASME, COPT=SING, PRES=..., EFF=...(2026-06-12验证)
塔产品流量与物料衡算不匹配 产品流量应接近物料衡算值 🔴 最常见收敛失败原因! OVHD/BTMS流量与进料组成严重不匹配时,塔无法收敛。必须先估算进料组成,再设定产品流量(2026-06-12 UOP PDH验证)
C3分离塔塔板数不足 至少150层理论板 C3H6/C3H8相对挥发度≈1.12,99%+纯度需Fenske Nmin≈93,实际需150+板(P1.INP官方案例:TRAY=149,2026-06-12验证)
2产品塔用RRATIO+纯度SPEC比双纯度SPEC更稳定 优先用双纯度SPEC(两侧产品纯度) P1.INP验证:双纯度SPEC(OVHD C3H8≤0.4wt% + BTMS C3H6≤4%LV)比RRATIO+纯度更容易收敛,不约束回流比让求解器自由调整(2026-06-12验证)
3相分离器V01无水时指定W= 无水进料时去掉W=产品 FEED中无H2O时,FLASH不应指定W=WATER1,改为仅V=和L=(2026-06-12验证)
COMP ID=H2 / ID=CO / ... 在COMPONENT DATA LIBID 1,H2/2,CO/..., BANK=CURRENT 🔴 ABORT! PRO/II 10.2关键词模式不识别COMP ID=语法,必须用LIBID。报"Data in the input file is out of order"(2026-06-12 Shell气化验证)
HEATER UID=E1 作为单元操作 FLASH UID=E1, OPERATION ISOTHERMAL, TEMPERATURE=..., DP=... 🔴 ABORT! PRO/II 10.2关键词模式不支持HEATER关键字,加热/冷却操作统一用FLASH ISOTHERMAL替代(2026-06-12 Shell气化验证)
流股名超过8字符(如SHIFT-STM=9字符) 改为≤8字符名(如SHFTSTM) PRO/II流股名最长8字符,超长导致截断或解析错误(2026-06-12 Shell气化验证)
DIMENSION METRIC 不完整 DIMENSION METRIC, MDUTY=ON, BASIS=MOLE, PRES=KPA, TEMP=C, DUTY=KW, &amp; STDTEMP=0, STDPRES=101.325 缺少完整参数可能导致后续单位计算错误(2026-06-12 Shell气化验证)
缺少General段关键字 添加 PRINT/TOLERANCE/SEQUENCE/CALCULATION 官方案例均包含完整General段,省略可能导致兼容性问题(2026-06-12 Shell气化验证)
FLASH块 TEMPERATURE / PRESSURE 独立行 OPERATION ISOTHERMAL, TEMPERATURE=40, PRESSURE=3700 FLASH的温度/压力必须在OPERATION行中指定,不能作为独立关键字行(2026-06-12 Shell气化验证)
MIXER FEED S1/QWATER FEED S1, QWATER MIXER多股进料用逗号分隔,/是组分/塔板分隔符不是进料分隔符(2026-06-12 Shell气化验证)
COMPOSITION值为百分比但未NORMALIZE 添加 , NORMALIZE COMPOSITION(M)=1,28/2,60/...(和=100)是百分比格式,必须加NORMALIZE让PRO/II归一化;若写分数格式则和必须=1.0(2026-06-12 Shell气化验证)
TITLE NAME=... TITLE PROJECT=..., PROBLEM=... 🔴 ABORT! TITLE语句中NAME=关键字不被PRO/II 10.2识别,报"Keyword 'NAME' is not recognized"后ABORT。TITLE仅支持PROJECT=、PROBLEM=、USER=三个关键字(2026-06-12 Shell气化v2验证)
STREAM=S1, TEMPERATURE=... 缺少PROPERTY关键字 PROPERTY STREAM=S1, TEMPERATURE=..., PHASE=..., RATE(M)=..., COMPOSITION(M)=... 🔴 错误! PRO/II 10.2流股定义必须以PROPERTY STREAM=开头,不能只用STREAM=(2026-06-12 Shell气化v2验证)
流股缺少PHASE和RATE 必须指定PHASE=V/L/M和RATE(M)=值或RATE(WT)=值 缺少PHASE导致PRO/II无法判断进料相态,缺少RATE导致流量默认为零。所有进料流股必须同时指定PHASE和RATE(2026-06-12 Shell气化v2验证)
RXSET LOCAL=WGS01 RXSET ID=WGS01 🔴 错误! RXDATA中定义反应集必须用RXSET ID=,不能用RXSET LOCAL=。LOCAL仅用于COLUMN内部反应精馏(2026-06-12 Shell气化v2验证)
HORX -41100 缺少关键字 HORX HEAT=-41100, REFCOMP=2, REFTEMP=25 🔴 错误! HORX必须使用HEAT=关键字指定反应热值,REFCOMP=指定参考组分,REFTEMP=指定参考温度。裸数字不被识别(2026-06-12 Shell气化v2验证)
CONREACTOR内联RXSET定义 使用RXCALCULATION MODEL=STOIC+RXSTOIC RXSET=外部集名+REACTION+BASE COMPONENT=+CONVERSION 值 🔴 错误! CONREACTOR内部不能直接写RXSET/REACTION/STOICHIOMETRY。反应定义必须在RXDATA段,CONREACTOR通过RXSTOIC RXSET=引用名调用(2026-06-12 Shell气化v2验证,参考A5.INP)
煤气化模型缺少O2组分 必须在COMPONENT DATA中添加O2组分,并在S2流股中正确引用 🔴 模型错误! Shell/BGE等气化炉进料含O2,若不定义O2组分则无法正确模拟气化反应。O2组分编号必须与S2流股COMPOSITION中的引用一致(2026-06-12 Shell气化v2验证)
GIBBS ELEMENTS REACTANTS遗漏O2 ELEMENTS REACTANTS=必须包含所有参与平衡的活性组分(含O2),排除惰性组分(AR、ASH) ⚠️ 模型精度! 若O2不在ELEMENTS REACTANTS列表中,GIBBS反应器不会让O2参与平衡计算,导致气化反应无法进行(2026-06-12 Shell气化v2验证)
ASH不在CURRENT库中 使用NONLIBRARY 10, ASH, 60, 2.4, 3000定义,或简化模型移除ASH ⚠️ 运行错误! ASH不是PRO/II标准库组分,LIBID 10,ASH, BANK=CURRENT会导致"Component not found in bank"错误(2026-06-12 Shell气化v2验证)
TITLE/PROBLEM值中含/字符 去掉/,如2000T/D→2000TPD 🔴 ABORT! PRO/II将/解析为字段分隔符,2000T/D被截断为2000T,后面的D变成无效字符,报"Misplaced or invalid character"后ABORT,且TITLE语句整体不被识别(2026-06-12 Shell气化v2验证)
NAME值超过8字符 缩短NAME,如INTERSTAGE→INTSTG NAME关键字值虽然某些版本允许超长,但为安全起见应≤8字符,避免截断和不可预见问题(2026-06-12 Shell气化v2验证)
TOLERANCE FLASH=..., COLUMN=... TOLERANCE DEFAULT=V94 🔴 ERROR! TOLERANCE不支持FLASH=和COLUMN=作为关键字参数,报"Keyword 'COLUMN' is not recognized"。合法关键字:DEFAULT, STREAM, COMPONENT, EQUILIBRIUM, KVALUE, ENTHALPY, DUTY, MISCELLANEOUS, MBAL, UAMBAL(2026-06-12 Shell气化v3验证,117个官方案例确认)
COMPOSITION(WT)用分数(总和=1.0而非100) WT必须用百分比(0-100),总和=100.0;M必须用分数(0-1),总和=1.0 🔴 "COMPOSITION DOES NOT EQUAL RATE"! WT=百分比,M=分数。PRO/II 10.2不支持COMPOSITION行中的NORMALIZE关键字(2026-06-11 CDU验证)
SIDE关键字(不在PRODUCT语句中) PRODUCT SIDE(L)=KERO,12,150 或 LDRAW(M)=KERO,14,150 🔴 "Keyword 'SIDE' is not recognized"! 侧线产品必须在PRODUCT语句中使用SIDE(L)/SIDE(V)子语句,或用LDRAW子语句(2026-06-19 VDU验证)
LDRAW+SUPERSEDE=ON+SPEC冲突 LDRAW固定抽出率,OVHD/BTMS用SPEC SUPERSEDE=ON只对OVHD/BTMS有效,不能对LDRAW使用SPEC约束。需要额外VARY(DUTY SIDEHC)来约束侧线流量(2026-06-19 VDU验证)
VDU FLASH压力单位错误 PRESSURE(KPA)=10(不是PRESSURE=10→10 KG/CM2≈10bar) DIMENSION METRIC下PRESSURE=20被解释为20 KG/CM2≈20bar,不是20 kPa。VDU真空条件必须用PRESSURE(KPA)=10明确指定单位(2026-06-19 VDU验证)
塔底温度初值太高(350°C+) 降低温度初值到200-280°C "Tray LIQUID has DRIED UP" — 塔底温度太高导致液相完全蒸发。VDU进料温度200°C左右,温度剖面平缓(2026-06-19 VDU验证)
NC40不在SIMSCI库中 NC30(最重可用正构烷烃)或NONLIBRARY SIMSCI库中NC4-NC30可用,NC40不在库中。如需极重组分用NONLIBRARY或PETRO定义(2026-06-19验证)
SMR反应器绝热出口-4.56°C 用OPERATION ISOTHERMAL, TEMPERATURE=800 🔴 物理不合理! SMR强吸热(ΔH=+206kJ/mol),绝热假设导致出口温度极低。实际SMR在800°C炉膛加热操作,必须用ISOTHERMAL而非ADIABATIC(2026-06-19 SMR验证)
SPLITTER使用FRACTION关键字 用OPERATION OPTION=FILL+SPEC STREAM=...,RATE(...),VALUE=... 🔴 FRACTION不是有效关键字! SPLITTER不支持FRACTION,报"Statement 'FRACTION' is not recognized"。必须用OPERATION OPTION=FILL + SPEC指定产品流量(2026-06-19 SMR验证)
SPLITTER缺少OPTION 必须添加OPERATION OPTION=FILL 🔴 Missing OPTION! SPLITTER必须指定OPERATION OPTION(FILL等),否则报"Missing OPTION"错误(2026-06-19 SMR验证)
CO2用FLASH脱除无效 用COLUMN(吸收塔)或添加水洗流股 ⚠️ 模型精度! CO2在3bar/38°C不凝析,FLASH无法分离CO2。需MDEA吸收塔COLUMN或水洗吸收(2026-06-19 SMR验证)
SPLITTER不能组分分离 SPLITTER按总流量分配,不改善纯度 ⚠️ PSA近似! SPLITTER只能按总流量分配产品,不支持组分选择性分离。PSA需用FLASH串联或专门组分分离单元近似(2026-06-19 SMR验证)
PROBLEM值含空格导致截断WARNING 简化PROBLEM值,避免空格和过长的描述 PRO/II对PROBLEM=值的显示长度有限制(约14-16字符),过长的值会触发"String is truncated to '...' WARNING。虽然WARNING不致命,但建议PROBLEM值简洁,含空格时更易被截断(2026-06-12 Shell气化v3验证)
单元间END语句导致只求解第一个单元 移除所有单元之间的END语句,只在文件最末尾保留一个END 🔴 严重错误! PRO/II中END终止整个UNIT OPERATIONS段,不是终止单个单元。在单元之间放END会导致PROCALC只计算第一个单元,后续所有单元被忽略。CALCULATION SEQUENCE只列出1个单元。所有单元必须在同一个UNIT OPERATIONS段内连续定义,段末仅一个END(2026-06-20 氨合成v3/Claus v6/甲醇v2验证)
EQUREACTOR报"Equilibrium Data MISSING" 改用CONREACTOR+CONVERSION关键字 🔴 错误! EQUREACTOR需要EQUILIBRIUM平衡常数数据,不支持直接指定CONVERSION。需要指定转化率的反应器必须用CONREACTOR(转化率反应器),语法:OPERATION ADIABATIC/ISOTHERMAL+RXCALCULATION MODEL=STOIC+RXSTOIC RXSET=集名+REACTION Rn+BASE COMPONENT=组号+CONVERSION 值(2026-06-20 氨合成v2验证)
HORX单位混淆(kJ/mol vs kJ/kg-mol) METRIC+DUTY=KW下HORX单位为kJ/kg-mol,需将文献值的kJ/mol乘以1000 🔴 严重错误! PRO/II在DIMENSION METRIC, DUTY=KW下,HORX HEAT的单位是kJ/kg-mol(即kJ/kmol),不是kJ/mol。例如甲醇合成反应热ΔH=-90.6 kJ/mol,HORX应写-90600(不是-90.6)。差1000倍会导致反应器能量平衡严重失真、不收敛(2026-06-20 甲醇v2验证)
元素硫组分名称S2/S8 NOT FOUND 使用SULFUR(SIMSCI库中元素硫的名称) 🔴 错误! SIMSCI库中不存在S2或S8组分名称。元素硫的正确名称为"SULFUR",通过LIBID 7,SULFUR, BANK=CURRENT定义。若模型含硫磺,还需添加WATER DECANT=ON, PROPERTY=IF97, TRANSPORT=SIMSCI到THERMODYNAMIC DATA段(2026-06-20 Claus v6验证)
NORMALIZE关键字被解析为组成数据 移除, NORMALIZE(当组成已恰好为1.0时),或用续行符&amp;拆分COMPOSITION语句 🔴 错误! 在COMPOSITION语句末尾的, NORMALIZE可能被PRO/II解析为组成数据的一部分,导致"The sum of COMPOSITION DOES NOT EQUAL the specified RATE"错误。如果组成已归一化(总和=1.0),应直接移除NORMALIZE。用&amp;续行符拆分长COMPOSITION语句可避免此问题(2026-06-20 Claus v1验证)
Claus反应器NEGATIVE component RATES R1(燃烧)以O2为base component(100%转化),R2(Claus)以SO2为base component(80%转化) 🔴 收敛失败! 若以H2S为base设定60%转化率,所需O2可能超过进料中的O2量,导致NEGATIVE RATES。正确方案:R1(2H2S+3O2→2SO2+2H2O)以O2为base,CONVERSION=1.0(O2完全消耗);R2(2H2S+SO2→3S+2H2O)以SO2为base,CONVERSION=0.80。这样进料O2量自动决定R1的H2S消耗量(2026-06-20 Claus v5→v6验证)
ADIABATIC反应器比ISOTHERMAL难收敛 先用ISOTHERMAL验证模型正确性,再切换为ADIABATIC ⚠️ 收敛性! ADIABATIC模式需要同时求解物料平衡和能量平衡,收敛难度显著高于ISOTHERMAL。当反应器不收敛时,先切换为OPERATION ISOTHERMAL, TEMPERATURE=出料温度验证化学计量和转化率是否正确。确认后再切换为ADIABATIC(2026-06-20 甲醇v2验证)
闭环循环中H2O/MeOH等溶剂累积 添加SPLITTER排放分流器(PURGE),用SPEC STREAM=WPURGE, RATE(M), TOTAL, WET, VALUE=流量 ⚠️ 循环收敛! 闭环循环中溶剂(H2O/MeOH)会不断累积导致循环不收敛。在溶剂返回路径上添加SPLITTER,将一部分溶剂作为WPURGE排放。Rectisol v4_spl2模型用此方法48次迭代收敛,全局偏差-0.02 mol%(2026-06-20 Rectisol v4_spl2验证)
CONREACTOR同时使用PRESSURE和DP 只用一个:PRESSURE=出料压力 或 DP=压降,不能同时出现 🔴 错误! "No more than 1 of keywords 'PRESSURE' AND 'DP' ALLOWED on 'OPERATION' statement"。CONREACTOR的OPERATION行不能同时指定PRESSURE和DP。建议用PRESSURE=出料压力(不含DP),更直观(2026-06-20 乙烯裂解/FT/重整验证)
SIMSCI库中烃类组分名 使用化学式(C6H14, C6H12, C7H14, C6H6, C7H8),不是常见名(NC6, CYCLOHEXANE, BENZENE等) 🔴 NOT FOUND! SIMSCI库中环烷烃和芳烃不接受常见英文名(NC6/CYCLOHEXANE/METHYLCYCLOHEXANE/BENZENE/TOLUENE均NOT FOUND)。必须使用化学式:C6H14(n-己烷)、C6H12(环己烷)、C7H14(甲基环己烷)、C6H6(苯)、C7H8(甲苯)。短链烃H2/CH4/C2H4/C2H6/C3H6/C3H8等使用化学式即可(2026-06-20 催化重整验证)
METHYLCYCLOHEXANE名称超过16字符被截断 使用C7H14(5字符),避免截断 ⚠️ WARNING! 组件ID最长15-16字符,METHYLCYCLOHEXANE(16字符)被截断为METHYLCYCLOHEXAN,导致LIBID行解析异常,可能级联影响其他组件查找。所有组分名应≤15字符(2026-06-20 催化重整验证)
C4H8缺少传输性质数据 用C3H6(丙烯)替代C4H8(丁烯) 🔴 10 ERRORS! C4H8在SIMSCI库中缺少Vapor Viscosity/Surface Tension/Thermal Conductivity数据,即使移除WATER DECANT=ON, TRANSPORT=SIMSCI仍报错(DEFAULT也启用传输计算)。烷基化模型改用C3H6+C4H10→C7H16(2026-06-20 烷基化验证)
CH3OH不被SIMSCI识别 用"MEOH"而非"CH3OH" 🔴 NOT FOUND! CH3OH不在SIMSCI组分库中。正确名称为"MEOH"(甲醇)。C2H6O(乙醇/DME)可被识别但SIMSCI water solubility method不支持,会使用估计参数(MESSAGE级别,不影响计算)(2026-06-20 DME合成验证)
CONREACTOR多反应负流率 确保base component总量不超过进料,反应按顺序消耗 ⚠️ WARNING! 多个反应使用同一base component时,各反应转化率基于原始进料量计算。若总转化率超过100%或某反应物(O2等)不足,PROCALC报"NEGATIVE component RATES"。需确保各反应物消耗量≤进料量(2026-06-20 环氧乙烷验证)
化学计量数必须精确平衡 仔细验证C/H/O原子守恒,允许误差<0.1% 🔴 ERROR! STOICHIOMETRY percent error超过0.1%即报错。常见错误:加氢反应H2系数错误(如C20H42+H2→2C8H18+C3H8+CH4左边44H右边48H,应改为+3H2)。建议写出完整反应方程式后逐原子验证(2026-06-20 延迟焦化/加氢裂化验证)
LIBID行超过80字符被截断 用续行符&amp;拆分长LIBID行 🔴 ERROR! PRO/II关键词文件每行有约80字符限制。LIBID行含8+组分时(如LIBID 1,C3H8/2,C5H12/.../8,C16H34, BANK=CURRENT)超过80字符会被静默截断,导致BANK=SI而非BANK=SIMSCI,PROCESS,进而所有组件NOT FOUND。用&amp;续行拆分:LIBID 1,C3H8/2,C5H12/3,C6H14/4,C7H16/5,C8H18/ &amp; 换行 6,C10H22/7,C12H26/8,C16H34, BANK=CURRENT(2026-06-20 CDU/VDU/ShellGas验证)
反应物不足导致NEGATIVE RATES 确保base component选择量小的反应物 🔴 ERROR! 当以量大的组分(如O2)为base component设高转化率时,可能消耗超过量小的反应物(如CH4)导致负流率。应以量小的组分(如CH4)为base component。例如Shell气化:CH4=90 kg-mol/hr, O2=1455 kg-mol/hr,以O2为base 95%转化需要2764 kg-mol/hr CH4远超进料(2026-06-20 Shell气化验证)

塔收敛策略(2026-06-12 P1/G2官方案例验证)

> 核心来源:P1.INP(C3分离塔149板)、G2.INP(脱乙烷塔20板)、C3.INP(MEK-水-甲苯21板)

收敛失败根因诊断

步骤1:检查物料衡算 — 最常见的收敛失败原因

产品流量(OVHD/BTMS)必须与进料组成一致!做法:
1. 从上游单元操作追踪进料组成和流量
2. 估算轻/重关键组分在OVHD和BTMS中的分配
3. 设定与物料衡算一致的产品流量初始值

示例(UOP PDH模型):

进料HCUNSAT ≈ 790 kmol/h(C3H8≈503, C3H6≈272, C2-≈8, C4+≈9)
错误:OVHD=200(C2-只有8 kmol/h,不可能有200 kmol/h OVHD!)
修正:OVHD=10, BTMS=780

步骤2:检查塔板数是否足够

分离类型 相对挥发度α 最少理论板Nmin 推荐实际板数 官方案例
C2-/C3+(脱乙烷) 3-5 5-8 20-30 G2: TRAY=20
C3H6/C3H8(碳三分离) 1.10-1.15 90-100 140-200 P1: TRAY=149
C3/C4(脱丙烷) 2-3 10-15 30-50 R2A: TRAY=66
窄沸程分离 <1.2 >50 >100 C3: TRAY=21 + CHEMDIST

步骤3:检查SPEC类型

SPEC策略 适用场景 官方案例
双纯度SPEC(两侧产品纯度) 首选! 最稳健,让求解器自由调整RRATIO和产品分配 P1: BTMS C3H6≤4% + OVHD C3H8≤0.4wt%
RRATIO + 纯度SPEC 次选,约束回流比可能过紧 A5, C5
RRATIO + 产品流量SPEC 简单分离可用,产品流量需准确 G2: RRATIO=0.4 + 比率SPEC
双产品流量SPEC 不推荐,过度约束 —

P1官方案例C3分离塔完整语法(黄金参考)

COLUMN UID=C3SP
    PARAMETER TRAY=149,IO=40
    FEED FD,110,TNOTSEPARATE, NOTSEPARATE
    PRODUCT  OVHD(M)=TOPS,542, BTMS(M)=BOTS, SUPERSEDE=ON
    CONDENSER TYPE=BUBB
    DUTY  1,1,,CONDENSER
    DUTY  2,149,,2
    PRINT PROPTABLE=PART
    ESTIMATE MODEL=CONVENTIONAL, RRATIO=15
    PRESSURE 1,220/2,225/149,250
    SPEC ID=COL1SPEC1, STREAM=BOTS,FRACTION(LV), COMP=2,WET, VALUE=0.04
    SPEC ID=COL1SPEC2, STREAM=TOPS,FRACTION(WT), COMP=3,WET, VALUE=0.004
    VARY DNAME=CONDENSER
    VARY DNAME=2

关键学习:
- IO=40 足够收敛(不是500!)
- 无DAMP — 默认值即可
- 无温度初值 — 仅指定RRATIO
- FEED在tray 110/149(73.6%位置)— 丙烯富进料靠下进料
- 用PRESSURE语句代替PSPEC — 指定3个点的压力分布
- 双纯度SPEC — BTMS中丙烯≤4%LV + OVHD中丙烷≤0.4wt%
- BUBB冷凝器 — 全凝器,OVHD为液相产品

DAMP/DAMPING参数使用规则

参数 官方案例使用 建议
不指定DAMP P1, G2等大多数案例 默认首选
DAMP=0.3-0.5 R6A(0.3), R6(0.5) 收敛困难时使用
DAMPING=0.7-0.9 C3(0.8), G8(0.4-0.7), R3R-R5R(0.7-0.8), R4R(0.9) CHEMDIST/复杂塔
IO值 P1=40, G2=default, R6=25 简单塔40-50足够,复杂塔可增大

DAMP vs DAMPING:
- DAMP = Inside-Out算法阻尼因子(0-1,小值=强阻尼=更稳定但慢)
- DAMPING = 全局阻尼因子(0-1,接近1=弱阻尼)
- 官方案例中:大多数塔不设DAMP;复杂塔(CHEMDIST、多侧线)用DAMPING

进料位置选择

进料特征 进料位置 原因
轻组分富进料(LK>50%) 偏下部(60-75%位置) 需要更多精馏段提纯轻组分
重组分富进料(HK>50%) 偏上部(25-40%位置) 需要更多提馏段脱除轻组分
接近共沸组成 中部(45-55%位置) 两侧都需要足够板数

P1验证:C3H6富进料(73% C3H6)→ feed tray 110/149 = 73.6%位置

附录:Fortran语法基础(PRO/II Keyword底层参考)

PRO/II 10.2 的keyword解析器用Fortran编写,理解Fortran固定格式有助于理解PRO/II INP文件的解析规则。

Fortran 77 固定格式(PRO/II INP文件解析基础)

列 区域 说明
1 注释区 C/c/* → 整行注释;空格=语句行
2-5 标号区 语句标号(1-5位数字),可省略
6 续行区 非0非空格字符 → 续行(最多19个续行)
7-72 语句区 语句内容
73-80 卡片序号 被忽略

关键规则:
- 注释行:第1列=C/c/*(Fortran77);!(Fortran90+,PRO/II 10.2不支持!)
- 续行:第6列任意非0非空格字符(常用1、2...或&amp;)
- 字符串中的!不当作注释(但PRO/II不支持!)
- 每行最长72列(超长会被截断)

PRO/II INP文件与Fortran fixed-format的对应关系

PRO/II规则 Fortran固定格式对应
第1列* → 注释(SKILL.md中错误声明) Fortran77标准:第1列C/c/*=注释
!不支持(2026-06-12验证) !是Fortran90+语法,PRO/II 10.2基于Fortran77
最大132字符 Fortran90自由格式132列;Fortran77固定格式72列
&amp;续行(SKILL.md中声明) Fortran90自由格式用&amp;;Fortran77用第6列字符

⚠️ 重要发现:PRO/II 10.2 INP文件格式混合了Fortran77和Fortran90特征:
- 不支持!注释 → 遵循Fortran77规则
- 但支持132字符行长 → 可能是Fortran90特征或PRO/II扩展
- 建议使用Fortran77固定格式规则编写INP文件(最安全) |

Fortran关键语法(理解PRO/II内部实现)

C     Fortran77注释行(第1列C)
      PROGRAM MAIN
      IMPLICIT NONE
      INTEGER :: I
      REAL :: X
      X = 1.0
      IF (X .GT. 0) THEN
        PRINT *, &#x27;Positive&#x27;
      END IF
      END PROGRAM MAIN

PRO/II Keyword文件可能的Fortran特征:
- ENTRY语句:多个入口点(解释为何PRO/II keyword可以多种调用方式)
- COMMON块:全局变量共享(解释PRO/II中某些参数全局有效)
- BLOCK DATA:数据初始化(解释PRO/II的默认物性参数来源)
- INCLUDE:文件包含(解释PRO/II如何加载不同物性方法)

对PRO/II建模的实用意义

  1. INP文件注释:使用*在第1列(Fortran77风格),而非!
  2. 长行处理:分行时用第6列字符(Fortran77续行),而非&amp;
  3. 字符串:Fortran77中字符串用单引号&#x27;...&#x27;或双引号&quot;...&quot;
  4. 格式:遵循Fortran77固定格式(72列限制)最安全

> 注意:2026-06-12 UOP PDH验证发现PRO/II 10.2不支持任何注释行(*/C/!均报错)。
> 官方案例(60+个)均无注释行。
> 结论:INP文件最好完全不使用注释行。


官方案例验证的完整语法模式(2026-06-12 Applib全面学习)

> 来源: E:\Program Files\SIMSCI\PROII102\User\Applib\ 下全部60+官方案例INP文件
> 涵盖: A1-A8, B1-B2, C1-C8, G1-G11, P1-P7, R1-R8, S1-S2, T1, U1-U2, FCEL1, Casebook系列

FEED分离选项详解

所有官方案例的FEED格式:

FEED stream, tray, TNOTSEPARATE, NOTSEPARATE                    ! 单股进料(最常见)
FEED stream1, tray1, TNOTSEPARATE / stream2, tray2, TNOTSEPARATE, NOTSEPARATE  ! 两股进料
选项 含义 使用场景
TNOTSEPARATE 热进料的汽液相不分离,作为一个混合相进料 最常用,几乎所有进料都加此选项
NOTSEPARATE 全局不分离标志(最后一个进料后) 与TNOTSEPARATE配合使用
TSEPARATE 热进料的汽液相分离后分别进料 两相进料、闪蒸进料
SEPARATE 全局分离标志 炼油塔、复杂进料

复杂进料示例(P3.INP — 乙烯急冷塔,8股进料):

FEED 1,14,TSEPARATE/S2,16,TSEPARATE/2,4,TNOTSEPARATE/&amp;
     6,10,TNOTSEPARATE/W1,1,TNOTSEPARATE/W2,2,TNOTSEPARATE/&amp;
     W3,3,TNOTSEPARATE/W4,4,TNOTSEPARATE, SEPARATE

SIDESTRIPPER 语法

> 官方案例: R3R.INP, R4R.INP — 原油蒸馏侧线汽提塔

SIDESTRIPPER UID=uid, {NAME=text}
    PARAMETER TRAY=n, {IO}
    FEED draw_stream, 1, TNOTSEPARATE / strip_steam, 2, TNOTSEPARATE, NOTSEPARATE
    PRODUCT  OVHD(M)=overhead_sid, BTMS(M)=bottoms_sid, rate, SUPERSEDE=ON
    PSPEC PTOP=val
    ESTIMATE MODEL=SIMPLE
    {SPEC ID=id, STREAM=sid, D86(95,F), VALUE=val}
    {VARY FEED=sid or DRAW=sid}

R3R.INP示例(煤油汽提塔):

SIDESTRIPPER UID=SS01, NAME=KERO STRIP
    PARAMETER TRAY=2,IO
    FEED 15,1,TNOTSEPARATE/5,2,TNOTSEPARATE, NOTSEPARATE
    PRODUCT  OVHD(M)=14, BTMS(M)=10,1047, SUPERSEDE=ON
    PSPEC PTOP=11.8
    ESTIMATE MODEL=SIMPLE
    SPEC ID=SCOL1SPEC1, STREAM=10, D86(95,F), VALUE=520
    VARY FEED=15

关键:
- SIDESTRIPPER的FEED第一个是从主塔LDRAW抽出的流股,第二个是汽提蒸汽
- VARY可以用FEED=sid调节进料流量,或DRAW=sid调节侧线抽出

PA (Pump-Around) 与 DUTY 关联

> 官方案例: R3R.INP, R5R.INP, G2.INP

PA必须与DUTY关联,DUTY的segno就是PA返回的塔板号:

DUTY  1,1,,CONDENSER          ! 冷凝器
DUTY  2,18,,2                 ! 再沸器 (TRAY=18)
DUTY  3,13,-39.9991,3         ! PA1 返回塔板13
DUTY  4,9,-49.9994,4          ! PA2 返回塔板9
DUTY  5,2,-49.9994,5          ! PA3 返回塔板2

PA  NAME=1, FROM=14, TO=13, PHASE=L, DNAME=3, TEMP=450
PA  NAME=2, FROM=10, TO=9, PHASE=L, DNAME=4, TEMP=310
PA  NAME=3, FROM=3, TO=2, PHASE=L, DNAME=5, TEMP=175

PA关键字段:
- FROM: 抽取塔板号
- TO: 返回塔板号(与DUTY segno相同)
- PHASE: L(液相) 或 V(气相)
- DNAME: 关联的DUTY idno编号
- TEMP: 返回温度
- RATE(LV): PA流量(可选,与DUTY value二选一)

G2.INP单PA示例:

PA  NAME=1, FROM=20, TO=20, PHASE=L, DNAME=2, LFRAC(M)=0.65

VARY引用DUTY的方式

⚠️ 关键规则:VARY DNAME= 引用DUTY语句中的name字符串,不是idno序号!

VARY DNAME=CONDENSER       ! 按名称引用(冷凝器)— 最常用
VARY DNAME=REBOILER        ! 按名称引用(再沸器)— 最常用
VARY DNAME=SIDEHC2         ! 按名称引用(再沸器/中间加热)
VARY DNAME=2               ! 引用name=&quot;2&quot;的DUTY(数字字符串,可读性差)
VARY DNAME=REBOILER,CONDENSER  ! 一行引用多个DUTY(B2.inp验证)
VARY DRAW=stream           ! 调节侧线抽出流量
VARY FEED=stream           ! 调节进料流量
VARY FTRAY(tray)           ! 调节进料位置

DUTY name 与 VARY DNAME 对应关系(2026-06-12 官方50+案例验证):

DUTY语句 name值 正确VARY DNAME 错误VARY DNAME
DUTY 1,1,,CONDENSER CONDENSER VARY DNAME=CONDENSER ~~VARY DNAME=1~~
DUTY 2,25,,REBOILER REBOILER VARY DNAME=REBOILER ~~VARY DNAME=2~~
DUTY 2,10,,SIDEHC2 SIDEHC2 VARY DNAME=SIDEHC2 ~~VARY DNAME=2~~
DUTY 2,10,,2 2 VARY DNAME=2 —

SPEC语法(官方案例验证的完整格式)

! 回流比规格
SPEC ID=S1, RRATIO, VALUE=2.5

! 产品纯度规格
SPEC ID=S2, STREAM=sid, FRACTION(LV), COMP=2, WET, VALUE=0.04
SPEC ID=S3, STREAM=sid, FRACTION, COMP=5, WET, VALUE=0.995

! 流量比值规格(DIVIDE用法)
SPEC ID=S4, STREAM=str1, RATE(KGM/H), COMP=1, WET, DIVIDE, STREAM=str2, RATE(KGM/H), COMP=1, WET, VALUE=0.999

! 温度规格
SPEC ID=S5, TRAY=1, TEMPERATURE(F), VALUE=120

! 炼油规格(D86/RVP/EP)
SPEC ID=S6, STREAM=sid, D86(95,F), VALUE=520
SPEC ID=S7, STREAM=sid, D86(EP,F), VALUE=450
SPEC ID=S8, STREAM=sid, RVP, VALUE=12

! 蒸汽比规格
SPEC ID=S9, TRAY=12, RATE(LBM/H), PHASE=V, WET, DIVIDE, STREAM=sid, RATE(LBM/H), TOTAL, WET, VALUE=0.5

ESTIMATE模式选择指南

MODEL 适用场景 官方案例
CONVENTIONAL 常规精馏/吸收塔 A2, A4, A5, C1-C5, C8, G2, G7G
SIMPLE 汽提塔/SIDESTRIPPER R3R(SS01-SS03), R4R
CHEM 化学蒸馏/反应精馏 A7, B2, C3, C6
REFINE 炼油塔 R3R(COL1), R5R

ESTIMATE参数选项:

ESTIMATE MODEL=CONVENTIONAL, RRATIO=3.0                    ! 回流比
ESTIMATE MODEL=CONVENTIONAL, REFLUX(L)=2500                ! 回流量
ESTIMATE MODEL=CONVENTIONAL, CTEMP=80, BTEMP=120, RRATIO=0.5  ! 冷凝器/塔底温度+回流比
ESTIMATE MODEL=SIMPLE, TTEMP=70, BTEMP=95                  ! 顶板/底板温度
ESTIMATE MODEL=CHEM, RRATIO(L)=4, CTEMP=160, BTEMP=200     ! 化学蒸馏
ESTIMATE MODEL=CONVENTIONAL                                 ! 吸收塔(无参数)

DIMENSION 变体(官方案例中使用的所有格式)

DIMENSION ENGLISH, MDUTY=ON, BASIS=MOLE                    ! A系列, C系列(最常见)
DIMENSION ENGLISH, MDUTY=ON, BASIS=MOLE, PRES=PSIG         ! P1
DIMENSION METRIC, MDUTY=ON, BASIS=MOLE                     ! G1-G9, Rectisol
DIMENSION METRIC, MDUTY=ON, BASIS=MOLE, PRES=TORR          ! A2
DIMENSION SI, MDUTY=ON, BASIS=MOLE, TEMP=C                 ! A7
DIMENSION METRIC, MDUTY=ON, BASIS=MOLE, TEMP=K, PRES=ATM   ! A8
DIMENSION ENGLISH, MDUTY=ON, BASIS=MOLE, LIQVOL=BBL, XDENSITY=API  ! R系列炼油

METHOD子系统选项

! 标准用法
METHOD SYSTEM=SRK, SET=SET01, DEFAULT

! 带子系统
METHOD KVAL(VLE)=SRK, KVAL(LLE)=NRTL, ENTHALPY(L)=LK, SET=SET02, DEFAULT

! 子系统独立设置
KVAL(VLE) POYNTING=OFF, FILL=IDEAL, BANK=NONE
KVAL(VLE) FILL=UNIF                          ! 用UNIFAC填充缺失BIP

! 直接输入交互参数
NRTL 1,10,0,316.145,0,602.96,0.5341          ! i,j,k,a_ij,k&#x27;,a_ji,alpha
SRK 1,3,-0.00694,0,0,0                        ! i,j,kij,0,0,0
VANLAAR 1,2,-1.16,-0.463                      ! i,j,A12,A21

! 水性质
WATER PROPERTY=SATURATED                      ! 大部分G系列
WATER PROPERTY=IF97, TRANSPORT=IF97           ! A4, A5, A8

! 炼油专用传输性质
METHOD SYSTEM=GS, SET=GS01, DEFAULT
  TRANSPORT=PETR
  VISCOSITY(L)=API
  VISCOSITY(V)=PETR
  CONDUCTIVITY(L)=PETR
  CONDUCTIVITY(V)=PETR
  SURFTENSION=PETR

! AMINE系统
METHOD SYSTEM=AMIN, SET=AMINE, DEFAULT        ! G8 胺吸收

热力学方法选择指南

方法 适用场景 官方案例
PR 通用VLE,烃类分离 P1, P3, T1, A4, R8
SRK 酸性气体(CO2/H2S) G1-G5, G7G, R7
SRKM SRK-Mathias-Copeman,极性体系 A6A, A6B, C3, C6
GS 炼油/石油蒸馏 R1-R5, P2G
BK10 炼油TBP蒸馏 R1, R4R, U1
NRTL 极性/电解质体系 C1-C6, C8, A2, A7, B1
AMIN 胺吸收脱硫 G8
PSRK 预测型SRK(UNIFAC) Rectisol
UNIF 极性体系(无BIP时) P6
IDEAL 理想体系 S1

STREAM DATA高级选项

REFSTREAM(参考流股):

PROPERTY STREAM=7, TEMPERATURE=295, PRESSURE=474, REFSTREAM=5     ! 复用流股5的组成
PROPERTY STREAM=1R, REFSTREAM=1                                     ! 完全复制流股1

NAME(流股别名):

NAME 1,FEED/2,OVERHEAD/3,BOTTOMS/CRUDE,CRUDE FEED/NAPH,NAPHTHA

SOLID(固体流股):

SOLID STREAM=CELLULOSE, COMPOSITION(WT,LB/H)=6,20000

LFRACTION(液相分率):

PROPERTY STREAM=S2, PRESSURE=700, PHASE=M, LFRACTION=0.7, RATE(M)=100, COMPOSITION(M)=...

ASSAY子语句完整语法(官方案例验证)

PROPERTY STREAM=CRUDE, TEMPERATURE=450, PRESSURE=14, PHASE=M, &amp;
         RATE(LV)=4999.99, ASSAY=LV
  TBP STREAM=CRUDE, DATA=3,97/5,149/10,208/20,330/.../100,1600, &amp;
       TEMP=F, PRES(MMHG)=760
  D86 STREAM=CRUDE, DATA=0,175/5,177/10,179/.../100,537, &amp;
       TEMP=F, PRES(MMHG)=759.998
  D2887 STREAM=CRUDE, DATA=5.74,135/19.55,210/.../87.94,990, TEMP=F
  API STREAM=CRUDE, AVERAGE=45.37, &amp;
       DATA=8.33,80.01/16.89,62.9/34.8,50.6/...
  LIGHTEND STREAM=CRUDE, COMPOSITION(M)=1,0.1/2,1.4/3,0.65/4,3.15/5,5.1, &amp;
           PERCENT(WT)=10.4, NORMALIZE
  MW STREAM=CRUDE, AVG=162.9, &amp;
     DATA=18.92,99.5/33.4,135/48.4,184.7/69.8,334.8/100,789
  SPGR STREAM=CRUDE, AVERAGE=0.9833
子语句 含义 关键参数
TBP 真沸点蒸馏曲线 DATA=lv%,temp/..., TEMP=F/C, PRES(MMHG)=
D86 ASTM D86蒸馏曲线 同TBP格式
D2887 ASTM D2887蒸馏曲线 同TBP格式
API API重度 AVERAGE=, DATA=lv%,api/...
LIGHTEND 轻端组成 COMPOSITION(M)=, PERCENT(WT/LV)=, NORMALIZE
MW 分子量分布 AVG=, DATA=lv%,mw/...
SPGR 比重 AVERAGE=

完整炼油塔示例(R3R.INP简化版)

COLUMN UID=COL1, NAME=CRUDE TOWER
    PARAMETER TRAY=20, IO
    FEED CRUDE, 17, TNOTSEPARATE, NOTSEPARATE
    PRODUCT  OVHD(M)=9, 2879, WATER=7, 1, 1105, BTMS(M)=20, SUPERSEDE=ON
    LDRAW(M)=15, 8, 1047/17, 12, 575/19, 16, 715
    CONDENSER TYPE=TFIX, TEMP=110
    DUTY  1,1,,CONDENSER
    DUTY  2,18,,2
    DUTY  3,13,-39.9991,3
    DUTY  4,9,-49.9994,4
    DUTY  5,2,-49.9994,5
    PA  NAME=1, FROM=14, TO=13, PHASE=L, DNAME=3, TEMP=450
    PA  NAME=2, FROM=10, TO=9, PHASE=L, DNAME=4, TEMP=310
    PA  NAME=3, FROM=3, TO=2, PHASE=L, DNAME=5, TEMP=175
    PSPEC PTOP=11.8
    ESTIMATE MODEL=REFINE
    SPEC ID=S1, STREAM=9, D86(95,F), VALUE=340
    VARY DUTY=1, 2

RECYCLE DATA

RECYCLE DATA
  ACCELERATION TYPE=WEGSTEIN, START=5, WEGLOWER=-0.3, WEGUPPER=1.5
  LOOP NUMBER=1, START=P1, END=FT1      ! 显式指定循环起止单元
END

反应器语法(官方案例验证)

CONREACTOR(转化率反应器):

CONREACTOR UID=RX1, NAME=HDS REACTOR
    FEED FEED1, FEED2                    ! 多股进料用逗号(不是/)
    PRODUCT M=PRODUCT1
    OPERATION ADIABATIC, PRESSURE=500
    RXCALCULATION MODEL=STOIC
    RXSTOIC RXSET=RX1
    REACTION R1
    BASE COMPONENT=3
    CONVERSION 0.95

EQUREACTOR(平衡反应器 — A6A/B 合成氨):

EQUREACTOR UID=R1, NAME=AMMONIA RX
    FEED FEED1
    PRODUCT V=VAPOR1, L=LIQUID1
    OPERATION ADIABATIC, PHASE=V, DP=5
    RXCALCULATION PARTIALPRESSURE, MODEL=STOIC
    RXSTOIC RXSET=RX1
    REACTION SHIFT
    BASE COMPONENT=2
    APPROACH DT=30

GIBBS(吉布斯反应器 — Casebook_Ammonia):

GIBBS UID=R1, NAME=GIBBS RX
    FEED FEED1, FEED2
    PRODUCT V=VAPOR1
    OPERATION PHASE=M, DP=5
    ELEMENTS REACTANTS=1/2/3/...
    CONVERSION APPROACH=0.95

CSTR(动力学反应器 — P7):

CSTR UID=R1, NAME=PROPYLENE CHLORINATION
    FEED FEED1
    PRODUCT M=PROD1
    OPERATION PHASE=L, VOLUME=5000, PRESSURE=150, TEMPERATURE=50
    RXCALCULATION VAPOR=CONCENTRATION
    RXSTOIC RXSET=RX1
    REACTION R1
      KINETICS COMPONENT=2, PEXP(R,LB,FT3,PSIA,HR)=A, ACTIVATION=Ea
      KORDER 1,1/2,1

反应精馏(RXTRAY — A7, P6, Casebook_MTBE):

COLUMN UID=T1, NAME=MTBE COLUMN
    PARAMETER TRAY=30, CHEMDIST=35
    ...
    VLLECHECK CHECK=OFF
    RXTRAY REFERENCE=ALJX, LOCAL=L_ALJX, KPROCEDURE=ALJD, TRAY=8, 13
    RXSET LOCAL=L_ALJX
      REACTION ID=ALJ0, COPTION=KINETICS
    KINETICS PEXP(C,KG,M3,KPA,HR)

RXDATA块

RXDATA
  RXSET ID=RX1
    REACTION ID=R1
      STOICHIOMETRY 1,-1/2,-3/3,1/4,1         ! comp,coeff(负=反应物,正=产物)
      HORX HEAT=-45.108, REFCOMP=2, REFTEMP=800   ! 反应热
      EQUILIBRIUM(R,LB,FT3,PSIG) A=-32.975, B=22930.4  ! 平衡常数

LLE(液液萃取)塔特殊语法

! PARAMETER指定LLEX算法
PARAMETER TRAY=4, LLEX=10

! PRODUCT指定L1/L2相
PRODUCT OVHD(L1,M)=7, 2, BTMS(M)=5, 162.7, SUPERSEDE=ON
PRODUCT OVHD(L1,M)=2, 25, L2DRAW(M)=3, 1, 6, BTMS(M)=4, SUPERSEDE=ON

! VLLECHECK
VLLECHECK TRAYS=21, CHECK=ON, SET=SET02

! METHOD指定LLE和VLE不同方法
METHOD KVAL(LLE)=NRTL, KVAL(VLE)=NRTL, L1KEY=2, L2KEY=3, SET=SET02

简写 vs 完整格式对照

官方案例中存在两种格式(P3G.INP为简写,P3.INP为完整),建议始终使用完整格式:

简写 完整格式
COMP COMPONENT DATA
THERMO THERMODYNAMIC DATA
PROP PROPERTY
PARA PARAMETER
PROD PRODUCT
PRES PRESSURE
TEMP TEMPERATURE
VAPO VAPOR
COND TYPE=PART CONDENSER TYPE=PART
SPEC TEMP, TRAY=14, VALUE=420 SPEC ID=S1, TRAY=14, TEMPERATURE(F), VALUE=420

VALVE出口流股强制要求

重要: 阀门出口流股(PHASE=M)必须提供 TEMPERATURE 或 LIQUID FRACTION 初始估算值。PRO/II 10.2 不会自动进行闪蒸计算来确定阀门出口状态。

正确: PROPERTY STREAM=RFLIQ, TEMPERATURE=45, PRESSURE=345, PHASE=M, &amp;
         RATE(WT)=46878, COMPOSITION(M)=2,1

错误: PROPERTY STREAM=RFLIQ, PRESSURE=345, PHASE=M, &amp;
         RATE(WT)=46878, COMPOSITION(M)=2,1

错误信息: *** ERROR *** RFLIQ REQUIRES TEMPERATURE and/or LIQUID FRACTION. Feed flash

HX约束选择指南

优先使用温度约束而非相分数约束,以提高收敛成功率:

优先级 约束 说明
推荐 OPER HTEMP=40 热侧出口温度(°C),适合蒸发器/冷凝器
推荐 OPER CTEMP=126 冷侧出口温度(°C),适合蒸汽发生器
备选 OPER HLFRAC=1 热侧全冷凝(可能导致不收敛)
备选 OPER CLFRAC=1 冷侧全汽化(可能导致不收敛)
备选 OPER DUTY=1000 固定热负荷(kW),需准确能量平衡

注意: HLFRAC/CLFRAC 在某些PRO/II版本中可能导致收敛困难,建议对复叠循环等复杂流程使用HTEMP/CTEMP。

特殊组分库

  • R245FA: 需要 BANK=DIPPRL2018:DIPPR 库,LIBID N,R245FA,,RHP, BANK=DIPPRL2018:DIPPR
  • 某些PRO/II安装可能缺少DIPPR库,导致运行时假死(无输出文件,仅生成.prz)
  • 替代方案:使用CURRENT库中的NH3、R134a等
  • NH3: LIBID N,NH3, BANK=CURRENT — 所有安装均可用(临界温度132.5°C)
  • H2O: LIBID N,H2O, BANK=CURRENT — 配合 WATER PROPERTY=IF97

调试技巧

  1. PRO/II运行后在 %TEMP%/P2_*/ 目录下查找输出文件
  2. .sr1 文件包含源码列表和错误信息
  3. .ot1 文件包含热力学报告
  4. .html 文件包含热力学序列化报告
  5. Import返回1=有轻微警告,返回4=有错误,但可能仍能运行
  6. RunCalcs返回0=计算收敛
  7. 诊断许可证问题: 如果PRO/II只生成.prz文件但不生成文本输出(.sr1/.pr1)且进程假死,检查许可证状态

INP文件头强制格式

关键:所有PRO/II 10.2 INP文件必须使用以下完整头格式,缺失任一部分都会导致Import=5(语法错误):

TITLE PROJECT=NAME, PROBLEM=NAME, USER=NAME
PRINT INPUT=ALL, STREAM=COMPONENT, RATE=M, MBALANCE=ON
TOLERANCE DEFAULT=V94
DIMENSION METRIC, MDUTY=ON, BASIS=MOLE, PRES=KPA, TEMP=C, DUTY=KW, &amp;
       STDTEMP=0, STDPRES=101.325
SEQUENCE SIMSCI
CALCULATION RECYCLE=TEAR, TVPBASIS=37.7778, RVPBASIS=APIN

常见错误:
- ~~DIMENSION METRIC~~ → 缺少完整参数,必须包含所有附加参数
- ~~STREAM=ALL~~ → 应使用 STREAM=COMPONENT
- 缺少 ASSAY 行 → 必须在COMPONENT DATA中添加

COMPONENT DATA强制ASSAY行

每个INP文件必须在COMPONENT DATA段的LIBID行之后添加:

ASSAY FIT=ALTERNATE, CONVERSION=API94, CURVEFIT=CURRENT, &amp;
       FORMATION=VER91, KVRECONCILE=TAILS

命名限制

类型 最大长度 示例
流股名 8字符 SYIN, MEF1, SYCLD
单元操作名 6字符 CLD01, FLS01, PMP01
组分ID 支持多位数 LIBID 10,MeOH

Rectisol(低温甲醇洗)建模指南

适用组分(CURRENT库)

1:H2, 2:CO, 3:CO2, 4:H2S, 5:COS, 6:N2, 7:CH4, 8:AR, 9:H2O, 10:MeOH

热力学方法

  • 推荐: METHOD SYSTEM=SRKM, SET=SET01, DEFAULT — SRK-Mathias-Copeman,专为酸性气体+甲醇极性体系设计
  • 备选: METHOD SYSTEM=PR, SET=SET01, DEFAULT (不要加 WATER PROPERTY=IF97,否则 COS/MeOH 会报警)
  • 禁用: PR+WATER PROPERTY=IF97 — 会触发 "COS/MeOH not supported by SIMSCI water solubility method" 警告

流股组成策略(避免组成和不等于1.0)

  • 仅对外部进料指定完整组成,确保求和精确=1.0
  • 所有中间/产品流股必须指定组成(PRO/II 10.2 要求每条流股都有组成,否则默认全零=无效)
  • HX/VALVE/PUMP 产品流股:复制进料组成(这些单元不改变组成)
  • FLASH/COLUMN 产品流股:提供物理合理的估算组成 + , NORMALIZE

流程配置

  1. 合成气预冷(HX: SYIN→SYCLD, 40→-20°C)
  2. 主吸收塔(COLUMN, 15层): 塔顶贫甲醇(-55°C) + 塔底合成气(-20°C)逆流接触
  3. 一级减压阀 + 闪蒸罐(H2回收,~1500 kPa)
  4. 二级减压阀 + 闪蒸罐(CO2闪蒸,~500 kPa)
  5. 富甲醇预热(HX: 蒸汽加热 → 80°C)
  6. 甲醇再生塔(COLUMN+再沸器, 8层): 汽提CO2+H2S,塔底得再生贫甲醇
  7. 贫甲醇泵 + 两级冷却 → 循环回吸收塔

关键操作参数

  • 主吸收塔:45 bar,顶部-55°C,底部-20°C
  • 循环甲醇:-60°C,19,294 kg/h(2000t/d甲醇产能)
  • 净化气指标:CO2 < 20 ppmv,H2S < 0.1 ppmv
  • 甲醇纯度:>99.5 wt%

PETRO 包(原油蒸馏 — Assay进料 + Cut Point切割)

> 语法来源:PRO/II 10.2 PETRO Package Manual
> 适用场景:常减压蒸馏塔,进料用蒸馏曲线(Assay)定义,产品按沸程(Cut Point)切割输出
>
> ⚠️ 关键限制(2026-06-11 验证):PRO/II 10.2 的关键词模式(CLI/INP文件)不支持 PETRO UID=... ENDPETRO 单元操作!该功能仅在 PROVISION GUI 中可用。通过完整搜索 1201 页 Keyword Manual 确认,PETRO 关键字仅出现在组分定义中(PETRO id,name,MW,SG,NBP),没有作为单元操作出现。

概述

PETRO 包是 PRO/II 专门用于原油蒸馏建模的模块:
- 进料:用 ASSAY 蒸馏曲线(TBP/ASTM)定义原油,无需清晰组分
- 产品:用 CUT POINT 按沸程(温度)或碳数切割
- 优势:自动生成假组分(Pseudo-components),准确模拟原油蒸馏

⚠️ PETRO 包(原油蒸馏)— 关键词模式不支持!

> 重要发现:PETRO 单元操作(CUT POINT, RECOVERY 等)仅在 PROVISION GUI 中可用,
> 关键词模式(INP 文件)不支持 PETRO 单元操作。
> 原油蒸馏建模应使用 COLUMN + ASSAY=LV 方式。

文件结构(COLUMN + ASSAY 方式,已验证)

TITLE
COMPONENT DATA
  LIBID ... (轻端组分 C2-C5, H2O)
  CUTPOINTS TBPCUTS(C)=start,end1,n1/end2,n2/...
  ASSAY CURVEFIT=..., CONVERSION=..., FIT=..., FORMATION=...
THERMODYNAMIC DATA
  METHODS SYSTEM=GS, TRANS=PETRO, VISC(L)=API
STREAM DATA
  PROP STREAM=..., ASSAY=LV
    TBP   STREAM=sid, PRES(MMHG)=760, DATA=...
    API   STREAM=sid, AVG=val
    LIGHT STREAM=sid, PERCENT(V)=val, COMP(V)=..., NORMALIZE
UNIT OPERATIONS
  COLUMN UID=..., NAME=...
    PARAM TRAY=N, DAMP=val
    PROD OVHD=..., LDRAW=..., BTMS=...
    PA FROM=..., TO=..., PHASE=L, TEMP=val
    ESTI MODEL=REFINERY
    SPEC ...
  ENDCOL
  SIDESTRIPPER UID=...
END

ASSAY 蒸馏曲线数据(在 STREAM DATA 段定义,不是 COMPONENT DATA 段)

⚠️ 以下语法在关键词模式中无效:
- ~~ASSAY ID=CRUDE01, TYPE=TBP, UNIT=C, NPOINT=11~~ — PRO/II 不识别
- ~~ASSAY ID=..., NPOINT=... + 独立数据行~~ — PRO/II 不识别

正确语法(来自 PRO/II 自带示例 pdtsr3r.inp):

PROP STREAM=CRUDE, TEMP=380, PRES=200, PHASE=M, RATE(WT)=500000, ASSAY=LV
  TBP   STREAM=CRUDE, PRES(MMHG)=760, &amp;
        DATA=2,50/5,120/10,180/20,260/30,350/40,430/ &amp;
             50,490/60,540/70,590/80,640/90,700/100,780
  API   STREAM=CRUDE, AVG=32
  LIGHT STREAM=CRUDE, PERCENT(LV)=3, &amp;
        COMP(V)=2,0.1/3,0.3/4,0.3/5,0.8/6,0.5/7,1.0, NORMALIZE
  70, 410/ 80, 460/ 90, 520
参数 含义
ID= Assay 标识符(最长8字符),在流股中引用
TYPE= 蒸馏曲线类型:TBP(真沸点)或 ASTM(ASTM D86)
UNIT= 温度单位:C(摄氏度)或 F(华氏度)
NPOINT= 数据点个数
数据行 体积分数, 温度 对,用 / 分隔

注意:
- NPOINT 必须等于实际数据点个数
- 温度单位必须与 UNIT= 一致
- 蒸馏曲线必须单调上升(温度升高,馏出量增加)

Assay 拟合设置(必须)

ASSAY FIT=ALTERNATE, CONVERSION=API94, CURVEFIT=CURRENT, &amp;
       FORMATION=VER91, KVRECONCILE=TAILS

流股中引用 Assay(STREAM DATA 段)

PROPERTY STREAM=CRUDE_FEED, TEMPERATURE=380, PRESSURE=120, PHASE=M, &amp;
         RATE(WT)=100000, &amp;
         ASSAY=LV, NORMALIZE

关键:
- ASSAY=LV:以 Liquid Volume 为基准(关键词模式正确语法,见 Keyword Manual p1178)
- ASSAY=WT:以 Weight 为基准
- 不能写成 ASSAY=CRUDE01(会把 ID 当作关键字名,不被识别)
- 不能再指定 COMPOSITION(Assay 进料无需清晰组分)
- NORMALIZE:归一化进料量
- Assay ID 通过 COMPONENT DATA 中的 ASSAY ID=... 定义,流股通过 ASSAY=LV 关联

PETRO 单元操作(UNIT OPERATIONS 段)

PETRO UID=P1, NAME=ATMOSPHERIC_PETRO
  FEED CRUDE_FEED
  PRESSURE(KPA)=120
  CUT POINT=NAPHTHA,  TMAX=175,    UNIT=C
  CUT POINT=KERO,      TMIN=175, TMAX=250, UNIT=C
  CUT POINT=DIESEL,    TMIN=250, TMAX=350, UNIT=C
  CUT POINT=RESID,     TMIN=350,           UNIT=C
  RECOVERY NAPHTHA, 0.95
  RECOVERY KERO,     0.95
  RECOVERY DIESEL,  0.95
ENDPETRO
关键字 语法 说明
FEED FEED stream_name 进料流股名(必须已用 ASSAY= 定义)
PRESSURE PRESSURE(KPA)=val 操作压力
CUT POINT CUT POINT=sid, TMAX=val, UNIT=C 定义产品切割点(按温度)
CUT POINT CUT POINT=sid, TMIN=val, TMAX=val, UNIT=C 定义产品切割范围
RECOVERY RECOVERY sid, fraction 产品回收率(0~1,可选)

CUT POINT 语法详解:

CUT POINT=sid, {TMAX=val | TMIN=val}, UNIT={C|F}
参数 含义
sid 产品流股名(最长8字符),PRO/II 自动创建该流股
TMAX= 切割上限温度(°C 或 °F),该产品的 TBP 切割上限
TMIN= 切割下限温度(可选),该产品的 TBP 切割下限
UNIT= 温度单位:C 或 F,必须与 ASSAY 定义一致

常见错误:

错误写法 正确写法 说明
CUT PNT=... CUT POINT=... 关键字拼写错误
CUT POINT=NAPHTHA, 175 CUT POINT=NAPHTHA, TMAX=175, UNIT=C 缺少关键字参数名
CUT POINT=NAPHTHA, TMAX=175 CUT POINT=NAPHTHA, TMAX=175, UNIT=C 缺少 UNIT=
只有一个 CUT POINT(塔底产品) 必须定义所有产品切割点 否则物料不平衡

完整示例(常压蒸馏塔 — Assay进料 + Cut Point输出)

> ⚠️ 以下示例仅用于理解 PETRO 语法,无法在 PRO/II 10.2 关键词模式(CLI)中运行。 PETRO 单元操作仅支持 PROVISION GUI。

TITLE PROJECT=ATMDIST, PROBLEM=PETRO01, USER=USER
PRINT INPUT=ALL, STREAM=COMPONENT, RATE=M, MBALANCE=ON
TOLERANCE DEFAULT=V94
DIMENSION METRIC, MDUTY=ON, BASIS=MOLE, PRES=KPA, TEMP=C, DUTY=KW, &amp;
       STDTEMP=0, STDPRES=101.325
SEQUENCE SIMSCI
CALCULATION RECYCLE=TEAR, TVPBASIS=37.7778, RVPBASIS=APIN

COMPONENT DATA
CURRENT SEARCH=SIMSCI,PROCESS
ASSAY ID=CRUDE01, TYPE=TBP, UNIT=C, NPOINT=11
  0,  80/  5, 120/ 10, 150/ 20, 200/
  30, 250/ 40, 290/ 50, 330/ 60, 370/
  70, 410/ 80, 460/ 90, 520
ASSAY FIT=ALTERNATE, CONVERSION=API94, CURVEFIT=CURRENT, &amp;
       FORMATION=VER91, KVRECONCILE=TAILS

THERMODYNAMIC DATA
METHOD SYSTEM=PR, SET=SET01, DEFAULT
  WATER PROPERTY=IF97, TRANSPORT=IF97

STREAM DATA
PROPERTY STREAM=CRUDE_FEED, TEMPERATURE=380, PRESSURE=120, PHASE=M, &amp;
         RATE(WT)=100000, &amp;
         ASSAY=LV, NORMALIZE

UNIT OPERATIONS

PETRO UID=P1, NAME=ATM_DIST_PETRO    ← 关键词模式不支持!
  FEED CRUDE_FEED
  PRESSURE(KPA)=120
  CUT POINT=NAPHTHA,  TMAX=175,    UNIT=C
  CUT POINT=KERO,      TMIN=175, TMAX=250, UNIT=C
  CUT POINT=DIESEL,    TMIN=250, TMAX=350, UNIT=C
  CUT POINT=RESID,     TMIN=350,           UNIT=C
  RECOVERY NAPHTHA, 0.95
  RECOVERY KERO,     0.95
  RECOVERY DIESEL,  0.95
ENDPETRO

END

与 COLUMN 模型的对比

特性 COLUMN 模型 PETRO 模型
进料 清晰组分(LIBID + COMPOSITION) Assay 蒸馏曲线(无需清晰组分)
产品定义 SIDE 侧线抽出(指定塔板号) CUT POINT(按沸程切割,无需塔板号)
塔板详细计算 支持(逐板计算) 简化(不计算逐板)
适用场景 清晰组分精馏(炼化、化工) 原油蒸馏(常减压装置)
收敛难度 较高(需初值) 较低(自动处理)

常见错误汇总(PETRO)

错误 正确 说明
在 Assay 流股中指定 COMPOSITION 去掉 COMPOSITION,只用 ASSAY= Assay 进料无需清晰组分
CUT POINT 缺少 UNIT= 加上 UNIT=C 或 UNIT=F 温度单位必须指定
只有一个 CUT POINT 定义所有产品切割点(包括塔底渣油) 否则物料不平衡
ASSAY 数据点个数 ≠ NPOINT= 修改 NPOINT= 使其相等 必须严格一致
忘记写 UNIT OPERATIONS 段头 在 STREAM DATA 后加 UNIT OPERATIONS 所有单元操作前必须写

Chapter 14: Reactors (反应器)

EQUREACTOR (平衡反应器)

EQUREACTOR UID=uid, {NAME=text}
  FEED sid, {sid, ...}
  PRODUCT V=sid or L=sid, {W=sid, S=sid}
  OPERATION ISOTHERMAL, {TEMPERATURE(utemp)=value}
  OPERATION ADIABATIC, {DUTY=value}
  REACTION id=reaction_id, {CONVERSION=frac}
  DEFINE &lt;param&gt; AS &lt;unit_type&gt;=uid, &lt;param&gt;, {&lt;op&gt;, &lt;ref&gt;}

操作模式:
- ISOTHERMAL: 等温操作,指定温度
- ADIABATIC: 绝热操作,可指定热负荷

示例:

EQUREACTOR UID=R101, NAME=&#x27;Methanol Synthesis&#x27;
  FEED FEED1
  PRODUCT V=V101, L=L101
  OPERATION ISOTHERMAL, TEMPERATURE(DEGC)=250.0
  REACTION R1, CONVERSION=0.85

CONREACTOR (转化率反应器)

> 关键区别:需要指定转化率(Conversion)时用CONREACTOR;需要平衡常数(Approach DT)时用EQUREACTOR。
> HORX单位:METRIC+DUTY=KW下,HORX HEAT单位为kJ/kg-mol(=kJ/kmol),不是kJ/mol。文献值kJ/mol需×1000。
> 收敛建议:先ISOTHERMAL验证化学计量,再切ADIABATIC。

语法A(简写 — 单反应,无外部RXSET):

CONREACTOR UID=uid, {NAME=text}
  FEED sid, {sid, ...}
  PRODUCT V=sid or L=sid, {W=sid, S=sid}
  OPERATION ISOTHERMAL, {TEMPERATURE(utemp)=value}
  OPERATION ADIABATIC, {DUTY=value}
  CONVERSION component=name, FRACTION=frac
  DEFINE &lt;param&gt; AS &lt;unit_type&gt;=uid, &lt;param&gt;, {&lt;op&gt;, &lt;ref&gt;}

语法B(标准 — RXDATA外部定义+RXSTOIC引用,推荐):

CONREACTOR UID=uid, {NAME=text}
  FEED sid
  PRODUCT V=sid
  OPERATION ADIABATIC, PHASE=V, DP=5
  RXCALCULATION MODEL=STOIC
  RXSTOIC RXSET=外部集名
  REACTION R1
  BASE COMPONENT=组号
  CONVERSION 0.15

> 语法B需在RXDATA段预定义RXSET。BASE COMPONENT指定限制转化的组分。
> 2026-06-20 氨合成v3/Claus v6/甲醇v2 三模型验证通过。

GIBBS (吉布斯反应器)

GIBBS UID=uid, {NAME=text}
  FEED sid, {sid, ...}
  PRODUCT V=sid or L=sid, {W=sid, S=sid}
  OPERATION PHASE=M or V or L or VL or LL or VLL
  PARAMETER MAXTRIALS=50, TOLERANCE=0.0001
  DEFINE &lt;param&gt; AS &lt;unit_type&gt;=uid, &lt;param&gt;, {&lt;op&gt;, &lt;ref&gt;}

操作模式:
- PHASE=M: 混合相 (默认)
- PHASE=V: 气相
- PHASE=L: 液相

PLUGFLOW (活塞流反应器)

PLUGFLOW UID=uid, {NAME=text}
  FEED sid, {sid, ...}
  PRODUCT V=sid or L=sid, {W=sid, S=sid}
  OPERATION LENGTH(uleng)=value, DIAMETER(ufleng)=value
  KINETICS id=kinetic_id, RATE=value
  DEFINE &lt;param&gt; AS &lt;unit_type&gt;=uid, &lt;param&gt;, {&lt;op&gt;, &lt;ref&gt;}

CSTR (连续搅拌釜反应器)

CSTR UID=uid, {NAME=text}
  FEED sid, {sid, ...}
  PRODUCT V=sid or L=sid, {W=sid, S=sid}
  OPERATION PHASE=L or V or BOIL
  PARAMETER BTRIAL=3, DERIV=0.01
  KINETICS id=kinetic_id, RATE=value
  DEFINE &lt;param&gt; AS &lt;unit_type&gt;=uid, &lt;param&gt;, {&lt;op&gt;, &lt;ref&gt;}

Chapter 16: Utility Units (公用事业单元)

STCALC (蒸汽计算)

STCALC UID=uid, {NAME=text}
  FEED {sid, 1.0/...}
  OPERATION STOP=ZERO, DUTY=0.0

操作模式: Feed Blending | Stream Splitting | Stream Synthesis

HCURVE (换热器曲线)

HCURVE UID=uid, {NAME=text} {PLOT}
  HX=uid, HOT or COLD, {PRESSURE(upres)=value,value}, ISOB=value
  HXRIG=uid, SHELL or TUBE, {PRESSURE(upres)=value,value}, ISOB=value

UPSTREAM (上游单元)

UPSTREAM UID=uid, {NAME=text}
  FEED sid, {sid,...}
  PRODUCT V=sid or L=sid or W=sid or M=sid
  OPERATION SELECTOR, STREAM=sid
  OPERATION GOR, {RFPL(upres)=value}, {RFTL(utemp)=value}

操作模式: SELECTOR | GOR | DROPOUT | RELVOLUME | CVD


Chapter 17: Controllers (控制器)

CONTROLLER (控制器定义)

CONTROLLER UID=uid, {NAME=text}
  SPEC COLUMN=uid or SIDESTRIPPER=uid, &lt;property&gt;, value
  SPEC STREAM=sid, &lt;property&gt;, value
  MANIPULATE STREAM=sid, &lt;parameter&gt;
  MANIPULATE UNIT=uid, &lt;parameter&gt;

DESIGN SPEC (设计规定)

DESIGN SPEC UID=uid, {NAME=text}
  SPEC STREAM=sid, &lt;property&gt;, value
  MANIPULATE FEED=sid, RATE(value)
  TOLERANCE=value
  MAXITER=number

SENSITIVITY (灵敏度分析)

SENSITIVITY UID=uid, {NAME=text}
  VARY &lt;parameter&gt;, MIN=value, MAX=value, INCR=value
  TABULATE STREAM=sid, &lt;property&gt;

LOOP (收敛回路)

LOOP NO=idno, START=uid, END=uid, TRIAL=50
  CONVERGENCE METHOD=method

PARAMETER / CHANGE / RESULT

PARAMETER {ID=id*12}, STREAM=sid*12, &lt;parameter&gt;, VALUE=value
CHANGE {ID=id*12}, STREAM=sid*12, &lt;parameter&gt;, VALUE=value
RESULT {ID=id*12}, STREAM=sid*12, &lt;parameter&gt;, {operator, &lt;reference&gt;}

Chapter 18, 20, 21: 高级功能

HXNET (换热器网络)

HXNET UID=uid, {NAME=text}
  STREAM hot_sid, COLD=Y or N
  MINAPP(utemp)=value
  OPERATION METHOD=LP or MILP

OPTIMIZE (优化)

OPTIMIZE UID=uid, {NAME=text}
  OBJECTIVE MAXIMIZE or MINIMIZE, &lt;variable&gt;
  VARIABLE &lt;param&gt;, MIN=value, MAX=value
  CONSTRAINT STREAM=sid, &lt;param&gt;, OPERATOR=LE/GE/EQ, value

CASESTUDY (案例研究)

CASESTUDY UID=uid, {NAME=text}
  PARAMETER STREAM=sid, &lt;parameter&gt;, VALUE=val1, val2, ...
  RESULT STREAM=sid, &lt;parameter&gt;

Chapter 15: Solids(固体单元)

> 语法来源: PRO/II 10.2 Keyword Manual (Chapter 15, page 773+)

15.1 CRUSHER(破碎机)

CRUSHER UID=uid, {NAME=text}
  FEED sid, {sid,...}
  PRODUCT M=sid, S=sid
  OPERATION METHOD=method_id
  PARAMETER P80=value, F80=value
参数 含义
P80 80% 产品通过的筛孔尺寸
F80 80% 进料通过的筛孔尺寸
METHOD 破碎计算模型

15.2 SCREEN(筛分机)

SCREEN UID=uid, {NAME=text}
  FEED sid, {sid,...}
  PRODUCT M=sid1, M=sid2, {S=sid3}
  OPERATION CUT=size, RECOVERY=frac
  PARAMETER METHOD=method_id
参数 含义
CUT= 筛分切割尺寸
RECOVERY= 回收率(0~1)

15.3 DRYER(干燥机)

DRYER UID=uid, {NAME=text}
  FEED sid, {sid,...}
  PRODUCT M=sid, S=sid
  OPERATION TEMP(utemp)=value, {DUTY(uduty)=value}
  PARAMETER METHOD=method_id, {DTYPE=type}
参数 含义
TEMP= 干燥温度
DUTY= 热负荷(可选)
METHOD 干燥模型
DTYPE 干燥机类型

15.4 FILTER(过滤器)

FILTER UID=uid, {NAME=text}
  FEED sid, {sid,...}
  PRODUCT FILTRATE=sid, CAKE=sid
  OPERATION ANGLE(RAD or DEG or GRAD)=value
  PARAMETER METHOD=method_id, {AREA(uarea)=value}
参数 含义
ANGLE= 过滤器倾角
AREA= 过滤面积
FILTRATE= 滤液出口流股
CAKE= 滤饼出口流股

15.5 CRYSTALLIZER(结晶器)

CRYSTALLIZER UID=uid, {NAME=text}
  FEED sid, {sid,...}
  PRODUCT M=sid, S=sid
  OPERATION SOLUTE=i, SOLVENT=j
  PARAMETER METHOD=method_id, {YIELD=frac}
参数 含义
SOLUTE= 溶质组分 ID
SOLVENT= 溶剂组分 ID
YIELD= 结晶收率

15.6 DISSOLVER(溶解器)

DISSOLVER UID=uid, {NAME=text}
  FEED sid, {sid,...}
  PRODUCT M=sid, S=sid
  OPERATION SOLUTE=i, SOLVENT=j
  PARAMETER METHOD=method_id, {TEMP(utemp)=value}

15.7 SOLID-TRANSPORT(固体输送)

SOLID-TRANSPORT UID=uid, {NAME=text}
  FEED sid, {sid,...}
  PRODUCT M=sid, S=sid
  OPERATION DP(upres)=value, {VELOCITY(uvel)=value}
参数 含义
DP= 压力降
VELOCITY= 输送速度

15.8 固体单元通用规则

  • 所有固体单元必须指定 FEED 和 PRODUCT
  • 固体产品流股用 S= 指定(Solids)
  • 液体产品流股用 M= 或 L= 指定
  • 热力学方法需用 METHOD= 指定

附录: 单位系统速查

温度单位 (utemp)

  • DEGC: 摄氏度 | DEGF: 华氏度 | K: 开尔文

压力单位 (upres)

  • BAR: 巴 | PSIA: 磅/平方英寸(绝压) | KPA: 千帕

流率单位

  • KG/HR: 千克/小时 | KMOL/HR: 千摩尔/小时 | M3/HR: 立方米/小时

文件更新: 2026-06-12
本次更新 (2026-06-12):
- 重大修正:DUTY再沸器segno=TRAY(不是TRAY+2或TRAY+1),无论冷凝器类型如何。所有官方案例验证。
- 重大修正:CONDENSER TYPE=PART是正确的(不是PARTIAL),所有官方案例使用PART
- 重大修正:PRODUCT OVHD/BTMS必须在同一行(不支持分行写),所有官方案例验证
- 重大修正:RXDATA必须在STREAM DATA之后(不是THERMO之后),否则ABORT(2026-06-12 UOP PDH验证)
- 重大修正:CONREACTOR必须包含RXCALCULATION MODEL=STOIC行(A5.INP验证)
- 重大修正:COMPRESSOR不应使用MEFF参数(官方案例无此参数)
- 新增:INP文件节完整顺序(含RXDATA/REGRESSION/PROCEDURE/RECYCLE位置)
- 新增:FLASH ISOTHERMAL替代高温加热炉方案(>400°C不能用HX+UTILITY STEAM)
- 新增:HX+UTILITY完整语法和限制(必须有两侧定义,UTILITY STEAM仅适用<400°C)
- 新增:SIDESTRIPPER完整语法(R3R.INP验证)
- 新增:PA(Pump-Around)与DUTY关联语法(R3R/R5R/G2验证)
- 新增:FEED分离选项详解(TNOTSEPARATE/TSEPARATE/NOTSEPARATE/SEPARATE)
- 新增:SPEC完整格式(回流比/纯度/流量比/温度/D86/RVP/蒸汽比)
- 新增:ESTIMATE模式选择指南(CONVENTIONAL/SIMPLE/CHEM/REFINE)
- 新增:DIMENSION所有官方案例变体
- 新增:METHOD子系统选项(KVAL/ENTHALPY/DENSITY/TRANSPORT/AMINE/PETR)
- 新增:热力学方法选择指南(10种方法+适用场景+官方案例)
- 新增:STREAM DATA高级选项(REFSTREAM/NAME/SOLID/LFRACTION)
- 新增:ASSAY子语句完整语法(TBP/D86/D2887/API/LIGHTEND/MW/SPGR)
- 新增:完整炼油塔示例(R3R.INP简化版,含PA+DUTY+LDRAW+WATER)
- 新增:反应器语法(CONREACTOR/EQUREACTOR/GIBBS/CSTR/RXTRAY/RXDATA)
- 新增:LLE塔特殊语法(LLEX/L1/L2/VLLECHECK)
- 新增:VARY引用DUTY的三种方式
- 新增:简写vs完整格式对照表
- 新增:常见错误5项(RXDATA顺序/CONREACTOR缺RXCALCULATION/HX高温限制/HX单侧限制/COMPRESSOR MEFF)
- 2026-06-20更新:新增9项常见错误(单元间END语句/EQUREACTOR需EQUILIBRIUM/HORX单位×1000/SULFUR组分名/NORMALIZE解析错误/Claus反应base选择/ADIABATIC难收敛/闭环溶剂累积/Rectisol闭环收敛)
- 2026-06-20更新:CONREACTOR语法新增语法B(RXSTOIC标准引用方式),添加HORX单位和ISOTHERMAL→ADIABATIC收敛建议
- 2026-06-20验证:氨合成v3(6单元,0%偏差)/Claus v6(7单元,0%偏差)/甲醇v2(11单元,循环27次收敛,0%偏差)/Rectisol v4_spl2(9单元,循环48次收敛,-0.02%偏差)
- 2026-06-20新增:3项常见错误(CONREACTOR PRESSURE+DP冲突/SIMSCI烃类组分名用化学式/组分名≤15字符)
- 2026-06-20验证:乙烯裂解v1(6单元,0%偏差)/费托合成v1(4单元,0%偏差)/催化重整v1(3单元,0%偏差)
- 2026-06-20新增:4项常见错误(C4H8缺传输性质/CH3OH用MEOH/CONREACTOR多反应负流率/化学计量数精确平衡)
- 2026-06-20验证:延迟焦化v1(6单元,0%偏差)/加氢裂化v1(7单元,0%偏差)/液化气分馏v1(4单元,0%偏差)/烷基化v1(5单元,0%偏差)/环氧乙烷v1(5单元,0%偏差)/水气变换v1(6单元,0%偏差)/DME合成v1(4单元,0%偏差)/天然气液化v1(5单元,0%偏差)
- 2026-08-12新增:多稳态撕裂收敛陷阱诊断路线(吸收式脱乙烷验证)/开环固定点验证法/FLASH焓基准陷阱需CoolProp外校/PROCALC返回码11-12含义/bash直调PROII EXE管线/部分冷凝器单产品语法


闭环撕裂收敛多稳态陷阱(2026-08-12 吸收式脱乙烷验证)

症状

两塔联立 + 双 SPEC 约束(如塔底 C2=0.5% + 塔底 C6=98% + 塔顶 C6≤2%)的闭环模型,
WEGSTEIN 撕裂迭代从任意初值(包括精确回填的高循环态初值)均塌缩到低循环态伪稳态。
- 表现:循环油流率从期望的 ~156 kmol/h 塌缩到 ~4 kmol/h("贫油枯竭")
- 后果:吸收塔顶温度飙高(110°C+)、C3/C6 大量逃逸,但日志仍显示 "SOLVED"(收敛到错误分支)

诊断路线(决定性方法)

  1. 精确回填初值:将此前开环收敛的循环流股组成/流率严格回填为 STREAM 初值
    - 若仍塌缩 → 排除初值问题,锁定为数值收敛器局限
  2. 开环固定点验证(v17 法):断开回收(删 SPLITTER/COOL 回接),按比例回填循环流股
    - 即验证 X=f(X) 不动点:回填值 = 下游产出的再生循环油(比例缩放)
    - 两次独立运行结果一致(相对误差 <0.001%)→ 证明该循环量是真实自洽设计点
    - 结论:PRO/II 撕裂收敛器无法从低分支吸引子脱困 ≠ 物理不可行
  3. 工程处理策略:采用"固定循环量 + 分液器排出盈余"稳态实现(SPLITTER 分流多余油量外排)

WEGSTEIN 撕裂迭代日志解读

  • Loop 1 NOT SOLVED after N trials ×多次后 Loop 1 SOLVED after M trials → 收敛了,但可能收敛到错误分支,必须核对关键流股数值
  • SPLITTER FEED FLOW is insufficient + Applied the FILL option → 每轮必现的正常警告,非错误

FLASH 单元焓基准陷阱(2026-08-12 验证)

症状

FLASH 单元模拟贫油冷却器(把 174°C 贫油冷却到 40°C),输出焓差与物理显热严重不符
(如 0.043 M·kcal/h vs 物理预期 ~1.14 M·kcal/h),相差一个数量级以上。

原因与对策

  • 原因:FLASH 焓输出可能采用不一致的焓基准(组分汽化焓/参考态差异)
  • 对策:一律用 CoolProp 独立核算真实热负荷(质量加权焓差),不采信 FLASH 焓差
  • 泵功率按 ΔP×V/η 独立核算,不依赖 PRO/II 输出

PROCALC 返回码含义(2026-08-12 验证)

返回码 含义 判断依据
0 完全成功 日志 "NO ERRORS"
11/12 完成但带警告(正常!) 日志 "PROBLEM SOLUTION REACHED" + "NO ERRORS"(WARNINGS 可忽略,如 SPLITTER FILL)
其他非零 需查日志具体错误 看 vXX_procalc.log 的 ERROR/ABORT

判断收敛以日志为准,不是返回码。

bash 直调 PRO/II EXE 管线(2026-08-12 验证)

  • git-bash 中 cmd /c 与 PowerShell 调 cmd 均被安全策略拦截(输出 "Microsoft Windows [版本...]" 后空转)
  • 正确做法:bash 中 export PATH 含 SIMSCICFI53/Licensing10/PROII102 后逐个调用
    PROIN.EXE /CNF=... → PROCALC.EXE /CNF=... → PROOUT.EXE /CNF=...
  • /CNF= 参数中的反斜杠需双写转义

部分冷凝器单产品语法(2026-08-12 验证)

  • CONDENSER TYPE=PART + 单行 PRODUCT OVHD(M)=..., BTMS(M)=..., SUPERSEDE=ON
  • 不支持 OVHD(V)+OVHD(L) 双塔顶产品语法(部分冷凝器只有单产品)

常见问题

5 问
答案由本站依据条目字段整理
sg-proii怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_0a5d41e9/sg-proii。安装方式为未标注。装完刷新技能列表或重开客户端。

sg-proii支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

sg-proii权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

sg-proii收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

sg-proii用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。