TLUSTY/cno_grid/config.yaml
2026-07-23 19:06:45 +08:00

62 lines
3.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 6 维 CNO NLTE 热亚矮星网格的配置文件。
# 所有丰度均为 log10(nX/nH).5 文件中的 abn 字段设为 10**logX。
#
# 网格各维范围:
# Teff : 20000 - 80000 K
# logg : 5.0 - 6.5
# logHe: -4 - 2 He/H 数密度比1e-4 .. 100
# logC : -4 - -1 C/H1e-4 .. 0.1;太阳 C/H≈-3.6,落在区间内)
# logN : -4 - -1 N/H太阳 N/H≈-4.2
# logO : -4 - -1 O/H太阳 O/H≈-3.3
# CNO 范围已修正为物理上的 sdB 范围,不再是超太阳(旧版 -2..1 会发散)
# ---- 网格轴:显式列出各维采样点 ----
grid:
teff: [20000, 30000, 40000, 60000]
logg: [5.0, 6.0]
loghe: [-2, 0]
logc: [-4, -2, -1]
logn: [-4, -2, -1]
logo: [-4, -2, -1]
# 共 4*2*2*3*3*3 = 432 个点
# ---- 收敛链 ----
# 已验证的三步配方 (tests/sdB_spectra/GUIDE.md 实测, Teff=35000 logg=5.5):
# LTE grey (T T, NITER=0) -> NLTE 连续谱 (nc, ilvlin=0) -> NLTE 谱线 (nl, ilvlin=100)
# nc 步是关键:在不考虑谱线扰动下收敛 NLTE 电离平衡,给 nl 一个稳定种子。
# 跳过 ncgrey -> 完整 NLTE会发散。
#
# 重要:不要在 nst 里设 CHMAX/ITEK用 tlusty 默认值CHMAX=0.001, ITEK=4
# 设 CHMAX=0.1 会让 nc 提前停止,给 nl 一个坏种子导致发散。
#
# nc 的 NITER=10 是实测最优tests/sdB_spectra/GUIDE.md NITER 扫描结论):
# - NITER=10 总耗时 12.4min35000K CNO 完整模型)
# - 光谱精度 vs NITER=50 差异仅 6e-6完全等价
# - NITER=50 浪费 2.2× 时间NITER=200/500 更浪费且无收益
# 物理上 nc纯连续谱缺少谱线约束外层温度永不真正收敛——追求高 NITER
# 没意义。nl含谱线会自修正到正确解流量差异 <3e-12
chain:
- {label: lte, lte: T, ltgray: T, ilvlin: 0, require_converged: false, niter: 0}
- {label: nc, lte: F, ltgray: F, ilvlin: 0, require_converged: false, niter: 10}
- {label: nl, lte: F, ltgray: F, ilvlin: 100, require_converged: true, niter: 100}
itek_fallback: [] # 留空ITEK 默认值最稳;非空会重试(实测无效)
niter: 100 # 每个 tlusty 运行的默认最大迭代数 (nst NITER)nc 阶段在 chain 内覆盖为 10
# ---- 种子步进回退NEW----
# 冷启动失败时,自动用已收敛的邻居模型作种子,用 LTGRAY=F 热启动重试。
# 这是高温 He-poor / 富金属区收敛的关键(见 EXPERIENCE.md §5Y
# 失败的冷启动结果会备份到 <model>.coldfail/ 目录。
seed_step_fallback: true
# ---- 执行参数 ----
nworkers: 16 # 并行 worker 数(每次 tlusty 运行是单线程的;
# 想用更多核心就调大;每个 worker 需要独立工作目录)
timeout_sec: 3600 # 单模型墙钟时间上限
resume: true # 跳过已完成的模型conv.json 中 converged=true
# ---- 路径(相对 TLUSTY除非给出绝对路径----
template: templates/cno_atmos.5.tpl
fort55: templates/fort.55.lin
linelist: data/gfVIS99.dat
results: results