TLUSTY 输入输出文件完整文档
概述
TLUSTY 使用 Fortran 风格的文件单元号(Unit Numbers)进行 I/O 操作。
本文档记录 TLUSTY 所有文件单元的用途、格式和内容。
相关文档: SYNSPEC I/O 文件见 docs/SYNSPEC_IO_FILES.md
第一部分:核心输入/输出
| 单元号 |
文件名 |
用途 |
方向 |
格式 |
说明 |
| 5 |
stdin |
主输入文件 |
输入 |
格式化 |
命令行输入,包含所有模型参数 |
| 6 |
stdout |
标准输出 |
输出 |
格式化 |
进度信息、警告、错误消息 |
| 7 |
fort.7 |
模型输出 |
输出 |
格式化 |
最终模型数据(温度、密度、布居数) |
| 8 |
fort.8 |
模型输入 |
输入 |
格式化 |
初始模型或重启模型数据 |
第二部分:迭代输出
| 单元号 |
文件名 |
用途 |
方向 |
格式 |
说明 |
| 9 |
fort.9 |
收敛历史 |
输出 |
格式化 |
每次迭代的温度、电子密度变化 |
| 10 |
fort.10 |
警告/慢收敛 |
输出 |
格式化 |
收敛问题诊断信息 |
| 11 |
fort.11 |
辐射压力 |
输出 |
格式化 |
深度点辐射压力数据 |
| 12 |
fort.12 |
模型快照 |
输出 |
格式化 |
迭代中间状态的模型数据 |
| 13 |
fort.13 |
通量输出 |
输出 |
格式化 |
频率点通量数据 |
| 14 |
fort.14 |
角度分布 |
输出 |
格式化 |
辐射强度角度分布 |
第三部分:状态/调试输出
| 单元号 |
文件名 |
用途 |
方向 |
格式 |
说明 |
| 16 |
fort.16 |
能级布居详情 |
输出 |
格式化 |
详细布居数变化信息 |
| 17 |
fort.17 |
迭代模型 |
输出 |
格式化 |
迭代过程中的模型状态 |
| 18 |
fort.18 |
迭代日志 |
输出 |
格式化 |
迭代步骤日志(调试用) |
| 20 |
fort.20 |
备份模型 |
输出 |
格式化 |
模型备份(用于重启) |
| 22 |
fort.22 |
模型快照 |
输出 |
格式化 |
另一种格式的模型快照 |
第四部分:ODF/不透明度文件
| 单元号 |
文件名 |
用途 |
方向 |
格式 |
说明 |
| 40 |
RBF.DAT |
辐射bracketing |
输入 |
格式化 |
辐射场参数文件 |
| 82 |
fort.82 |
谱线统计 |
输出 |
格式化 |
谱线频率范围统计 |
| 84 |
fort.84 |
参数值 |
I/O |
格式化 |
参数优化值 |
| 86 |
fort.86 |
冷却率 |
输出 |
格式化 |
各深度点冷却率 |
| 87 |
fort.87 |
冷却分解 |
输出 |
格式化 |
按离子分解的冷却率 |
| 88 |
fort.88 |
冷却对比 |
输出 |
格式化 |
冷却率对比数据 |
第五部分:控制参数文件
| 单元号 |
文件名 |
用途 |
方向 |
格式 |
说明 |
| 44 |
fort.44 |
收敛控制 |
输入 |
格式化 |
自定义收敛参数 |
| 57 |
(动态) |
准静态线数据 |
输入 |
格式化 |
ALLARD 准静态线 |
| 58 |
(动态) |
He 数据 |
输入 |
格式化 |
氦原子数据表 |
| 59 |
(动态) |
He 数据 |
输入 |
格式化 |
氦原子数据表 |
| 69 |
fort.69 |
计时信息 |
输出 |
格式化 |
性能计时数据 |
第六部分:临时/暂存文件
| 单元号 |
文件名 |
用途 |
方向 |
格式 |
说明 |
| 91 |
(SCRATCH) |
暂存1 |
I/O |
无格式 |
二进制暂存 |
| 92 |
(SCRATCH) |
暂存2 |
I/O |
无格式 |
二进制暂存 |
| 93 |
(SCRATCH) |
暂存3 |
I/O |
无格式 |
二进制暂存 |
第七部分:原子数据文件
7.1 能级数据文件 (*.dat)
| 模式 |
示例文件 |
说明 |
[元素][离子].dat |
h1.dat, he1.dat, c1.dat |
原子能级数据 |
[元素][离子]_[n]+[m]lev.dat |
al2_20+9lev.dat |
自定义能级数 |
[元素][离子]hyd.dat |
al4hyd.dat |
氢化物数据 |
7.2 光谱数据文件 (*.t)
| 模式 |
示例文件 |
说明 |
[元素][离子].t |
c1.t, ca1.t, al1.t |
Kurucz 光谱线数据 |
7.3 CIA 数据 (碰撞诱导吸收)
| 文件名 |
说明 |
CIA_H2H.dat |
H₂-H 碰撞吸收 |
CIA_H2H2.dat |
H₂-H₂ 碰撞吸收 |
CIA_H2He.dat |
H₂-He 碰撞吸收 |
CIA_HHe.dat |
H-He 碰撞吸收 |
7.4 Stark 加宽数据
| 文件名 |
说明 |
lemke.dat |
Lemke H Stark 线宽 |
tremblay.dat |
Tremblay H Stark 线宽 |
laquasi.dat |
Lyman-α 准静态轮廓 |
lbquasi.dat |
Lyman-β 准静态轮廓 |
lgquasi.dat |
Lyman-γ 准静态轮廓 |
lhquasi.dat |
Lyman 系其他线 |
7.5 其他数据文件
| 文件名 |
说明 |
absopac.dat |
吸收不透明度 |
ioniz.dat |
电离数据 |
irwin_bc.dat |
Irwin 边界条件 |
irwin_orig.dat |
Irwin 原始数据 |
ptab.dat |
压力表 |
stab.dat |
自由能表 |
xenomorph.blue.dat |
XENOMORPH 蓝端 |
xenomorph.red.dat |
XENOMORPH 红端 |
RBF.DAT |
辐射场边界 |
第八部分:文件格式详解
8.1 fort.5 (主输入)
35000. 4.0 ! TEFF, GRAV (有效温度K, log g)
T T ! LTE, LTGRAY (LTE开关, 灰大气开关)
'' ! 可选参数文件名(空=无)
*-----------------------------------------------------------------
* frequencies
50 ! NFREAD (频率点数)
*-----------------------------------------------------------------
* data for atoms
8 ! NATOMS (原子种类数)
* mode abn modpf
2 0 0 ! 模式, 丰度, 配分函数模式
...
*-----------------------------------------------------------------
* data for ions
*iat iz nlevs ilast ilvlin nonstd typion filei
1 0 9 0 100 0 ' H 1' './data/h1.dat'
...
8.2 fort.7/fort.8 (模型文件)
! 头部: ND, NUMPAR
70 3
! 质量深度数组
1.000E+00 9.500E-01 ... 1.000E-10
! 每个深度点
! TEMP(ID) ELEC(ID) DENS(ID) [TOTN(ID)] [POPUL(1..NLEVEL)]
8.3 fort.9 (收敛历史)
RELATIVE CHANGES OF VECTOR PSI
ITER ID TEMP NE POP RAD MAXIMUM ilev ifr
1 70 1.23E-02 2.45E-01 1.00E+00 0.00E+00 2.45E-01 5 10
...
第九部分:有 I/O 的模块分析
| 模块 |
主要 I/O 操作 |
复杂度 |
| INITIA |
打开所有输入文件 |
高 |
| OUTPUT |
写入 fort.7, fort.12, fort.22 |
中 |
| READBF |
读取原子数据文件 |
低 |
| PRSENT |
打印进度到 fort.6 |
低 |
| TIMING |
写入 fort.69 |
低 |
| OPFRAC |
读取 ODF 文件 |
中 |
| INILAM |
初始化谱线数据 |
高 |
| KURUCZ |
读取 Kurucz 格式模型 |
中 |
| NSTPAR |
读取非标准参数 |
中 |
| MOLEQ |
分子数据处理 |
中 |
| OPDATA |
读取不透明度数据 |
中 |
| RDATA |
读取原子数据 |
低 |
| SIGAVE |
Stark 加宽数据 |
低 |
第十部分:重构优先级
高优先级(核心 I/O,必须实现)
| 文件 |
单元 |
用途 |
| fort.5 |
5 |
主输入 |
| fort.6 |
6 |
标准输出 |
| fort.7 |
7 |
模型输出 |
| fort.8 |
8 |
模型输入 |
中优先级(诊断/中间文件)
| 文件 |
单元 |
用途 |
| fort.9 |
9 |
收敛历史 |
| fort.11 |
11 |
辐射压力 |
| fort.12 |
12 |
模型快照 |
低优先级(调试/可选)
| 文件 |
单元 |
用途 |
| fort.10 |
10 |
警告 |
| fort.14 |
14 |
角度分布 |
| fort.16-18 |
16-18 |
调试 |
| fort.69 |
69 |
计时 |
| fort.82,84,86-88 |
|
ODF 诊断 |
附录:测试文件清单 (tests/tlusty/hhe/)
| 文件 |
大小 |
说明 |
| hhe35lt.5 |
984 B |
输入文件 |
| fort.7 |
45 KB |
模型输出 |
| fort.8 |
45 KB |
模型输入 |
| fort.9 |
139 KB |
收敛历史 |
| fort.10 |
1.2 KB |
警告 |
| fort.11 |
8 KB |
辐射压力 |
| fort.12 |
45 KB |
模型快照 |
| fort.14 |
96 KB |
角度分布 |
| fort.17 |
4.7 KB |
迭代模型 |
| fort.18 |
480 KB |
详细日志 |
| fort.22 |
45 KB |
模型快照 |
| fort.69 |
3.3 KB |
计时 |
| fort.82 |
4.5 KB |
谱线统计 |
| fort.84 |
1.9 KB |
参数值 |