Commit Graph

8 Commits

Author SHA1 Message Date
fmq
a088a69900 feat: 完成 F2R 重构主线,完善 TLUSTY 初始模型与 LTE 初始化,并补齐 SYNSPEC 不透明度/旋转卷积链路 2026-07-15 16:54:21 +08:00
fmq
e2c1a4580a feat: F2R 重构全部完成 + 自动化脚本改进
Phase 1 翻译 (完成):
- TLUSTY 350 函数 100% 翻译
- SYNSPEC 168 函数 100% 翻译
- ~495 Rust 模块

Phase 2 集成 (完成):
- TLUSTY RESOLV 7 个 TODO 全部清除
- TLUSTY Runner IJALI 频率选择实现
- OPFRAC ioniz.dat 解析完整实现
- SYNSPEC Runner 编排流程连接完成
- SYNSPEC RESOLV OPAC→RTE→OUTPRI 调用链完整

Phase 3 验证 (完成, 修复 8 处 bug):
- INITIA: compute_hydrogen_level_bounds 索引混合修复
- INILIN: GAMR0/GS0/GW0 展宽公式修复, 经典 VdW 公式修复
- INIBL0: CNM 常数 2.997925e18→e17 修复
- OPAC: Lyman IJ=2 修正缺失修复
- RTE: minv3 矩阵求逆符号错误修复

自动化脚本改进:
- specf2r.sh: 添加 429 限流退避、完成检测、同步等待
- SKILL.md: 三阶段工作流 + 状态文件系统
- references/: Phase 1/2/3 独立参考文档

新增:
- src/bin/synspec.rs: SYNSPEC 可执行文件入口
- .f2r_phase/.f2r_tasks/.f2r_complete: 状态管理文件

编译: 0 错误 | Clippy: 0 错误 | 测试: voigt 28 + eldens 5 通过

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 14:54:53 +08:00
fmq
0dfe6facd6 feat: 完善 SYNSPEC 不透明度调用链 + 新增旋转卷积和状态结构体
- 新增 rotin.rs: ROTINS 旋转卷积函数(含 kernel、interpolate_at 等辅助函数)
- 新增 synspec/state/: COMMON 块翻译(constants, model, params, wind)
- 重构 opac.rs: 连接 LINOP、MOLOP、HYDLIN、HE2LIN、PHTION、PHTX 调用
  - 新增 OpacLinopData、OpacHydlinData、OpacHe2linData 等可选数据结构
  - 支持 IHYL=0(插值模式)和 IHYL>0(详细模式)的氢线处理
  - 支持分子线不透明度(MOLOP)和光致电离(PHTION/PHTX)
- 更新 resolv.rs: 适配新的 OpacParams 签名
- 更新 he2lin.rs: 修复 minor import
- 更新 mod.rs: 导出 rotin 模块

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 13:22:15 +08:00
fmq
0f97c0b05b feat: 添加 TLUSTY 新模块 + 修复编译错误
新增 TLUSTY 模块:
- crossd: 光电离截面评估 (bound-free cross section)
- sgmer0: 合并能级光电离截面初始化
- sgmerd: 合并能级光电离截面计算
- dwnfr0: 频率网格下载 (continuum)
- convc1: 对流收敛控制 (radiative)
- chckse: 统计平衡检查 (rates)

扩展 RESOLV 编排器:
- 添加 Feautrier 形式解
- 添加 Lucy 温度修正
- 添加 ROSSTD/PZEVAL/CONOUT 调用
- 添加 IFPOPR=2 占据数更新
- 添加 HESOL6 流体静力平衡修正

修复:
- sgmer0.rs: 修复 config 未声明为 mut 的编译错误
- crossd.rs: 修复测试中使用错误字段路径的问题
  (frqall.ijbf/phoexp.aijbf/phoexp.bfcs 而非 obfpar)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 12:35:09 +08:00
fmq
5b9626c8d5 feat: 添加 lyahhe 函数 - Lyman alpha 氦展宽插值
- 从 synspec54.f:12768 翻译
- 使用 OnceLock 实现延迟初始化
- 支持二分查找和线性插值
- 3 个单元测试通过

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 03:24:15 +08:00
554b5418ee 修复10 2026-06-06 14:24:50 +08:00
fengmengqi
ddfe08cb93 代码整理 2026-03-25 18:34:41 +08:00
f08c328b70 tlusty重构完成 2026-03-25 13:31:23 +08:00