SpectraRust/docs/file_tree.md
2026-03-25 18:28:13 +08:00

385 lines
16 KiB
Markdown
Raw Permalink 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.

建议的新目录结构
src/tlusty/
├── lib.rs
├── math/ # [17 模块] 纯数学工具(无物理依赖)
│ ├── mod.rs
│ ├── special/ # 特殊函数
│ │ ├── mod.rs
│ │ ├── expint.rs # 指数积分
│ │ ├── erfcx.rs # 误差函数
│ │ ├── expo.rs # 安全指数函数
│ │ └── gauleg.rs # Gauss-Legendre 积分
│ ├── solvers/ # 方程求解器
│ │ ├── mod.rs
│ │ ├── tridag.rs # 三对角矩阵
│ │ ├── lineqs.rs # 线性方程组
│ │ ├── minv3.rs # 3×3 矩阵求逆
│ │ ├── matinv.rs # 矩阵求逆
│ │ ├── cubic.rs # 三次方程
│ │ └── quartc.rs # 四次方程
│ ├── interpolate/ # 插值函数
│ │ ├── mod.rs
│ │ ├── lagran.rs # Lagrange 插值
│ │ ├── yint.rs # 二次插值
│ │ ├── ylintp.rs # 线性插值
│ │ ├── interp.rs # 通用插值
│ │ ├── tabint.rs # 表格插值
│ │ └── locate.rs # 二分查找
│ └── utils/ # 其他数学工具
│ ├── mod.rs
│ ├── indexx.rs # 索引排序
│ ├── laguer.rs # Laguerre 多项式
│ └── ubeta.rs # U(beta) 函数
├── physics/ # [80+ 模块] 物理计算
│ ├── mod.rs
│ │
│ ├── opacity/ # 不透明度计算 (13 模块)
│ │ ├── mod.rs
│ │ ├── opacf0.rs # 单深度点系数
│ │ ├── opacf1.rs # 单频率点系数
│ │ ├── opacfa.rs # 全深度点系数
│ │ ├── opacfd.rs # 系数及导数
│ │ ├── opacfl.rs # 频率/深度系数
│ │ ├── opadd.rs # 额外不透明度
│ │ ├── opadd0.rs # 附加源截面
│ │ ├── opahst.rs # 氢高能级参数
│ │ ├── opaini.rs # 初始化
│ │ ├── opctab.rs # 不透明度表
│ │ ├── opdata.rs # OP 数据读取
│ │ ├── opfrac.rs # OP 电离分数
│ │ └── traini.rs # 深度无关初始化
│ │
│ ├── cross_section/ # 截面计算 (25+ 模块)
│ │ ├── mod.rs
│ │ ├── photoion/ # 光电离截面
│ │ │ ├── mod.rs
│ │ │ ├── cross.rs # 通用光电离
│ │ │ ├── verner.rs # Verner 截面
│ │ │ ├── vern16.rs # 硫离子
│ │ │ ├── vern18.rs # 氩离子
│ │ │ ├── vern20.rs # 钙离子
│ │ │ ├── vern26.rs # 铁离子
│ │ │ ├── topbas.rs # OP 截面
│ │ │ ├── sigk.rs # 光致电离
│ │ │ ├── bkhsgo.rs # K/L 壳层
│ │ │ ├── reiman.rs # Reilman-Manson
│ │ │ ├── hephot.rs # He I
│ │ │ ├── carbon.rs # 碳中性
│ │ │ └── ckoest.rs # Koester He I
│ │ ├── bound_free/ # 束缚-自由
│ │ │ ├── mod.rs
│ │ │ ├── sbfch.rs # CH 截面
│ │ │ ├── sbfhe1.rs # He I
│ │ │ ├── sbfhmi.rs # H⁻
│ │ │ └── sbfoh.rs # OH
│ │ ├── free_free/ # 自由-自由
│ │ │ ├── mod.rs
│ │ │ ├── ffcros.rs # FF 截面
│ │ │ ├── sffhmi.rs # H⁻ FF
│ │ │ └── h2minus.rs # H₂⁻ 不透明度
│ │ ├── gaunt/ # Gaunt 因子
│ │ │ ├── mod.rs
│ │ │ ├── gaunt.rs # 氢 BF Gaunt
│ │ │ ├── gfree.rs # FF Gaunt
│ │ │ └── gntk.rs # 通用 Gaunt
│ │ ├── cia/ # 碰撞诱导吸收
│ │ │ ├── mod.rs
│ │ │ ├── cia_h2h.rs
│ │ │ ├── cia_h2h2.rs
│ │ │ ├── cia_h2he.rs
│ │ │ └── cia_hhe.rs
│ │ └── rayleigh/ # Rayleigh 散射
│ │ ├── mod.rs
│ │ ├── rayleigh.rs
│ │ └── rayset.rs
│ │
│ ├── line_profile/ # 谱线轮廓 (18 模块)
│ │ ├── mod.rs
│ │ ├── voigt.rs # Voigt 轮廓
│ │ ├── voigte.rs # Voigt 近似
│ │ ├── profil.rs # 标准轮廓
│ │ ├── profsp.rs # 非标准轮廓
│ │ ├── stark/ # Stark 展宽
│ │ │ ├── mod.rs
│ │ │ ├── stark0.rs
│ │ │ ├── starka.rs
│ │ │ ├── divstr.rs
│ │ │ ├── inthyd.rs
│ │ │ ├── intlem.rs
│ │ │ ├── lemini.rs
│ │ │ └── gomini.rs
│ │ ├── broadening/ # 展宽机制
│ │ │ ├── mod.rs
│ │ │ ├── dopgam.rs # Doppler/Voigt
│ │ │ ├── gamsp.rs # 自定义展宽
│ │ │ ├── gami.rs # 微扰展宽
│ │ │ └── gvdw.rs # Van der Waals
│ │ ├── quasimol/ # 准分子
│ │ │ ├── mod.rs
│ │ │ ├── allard.rs
│ │ │ ├── allardt.rs
│ │ │ └── quasim.rs
│ │ └── hydrogen/ # 氢线特殊处理
│ │ ├── mod.rs
│ │ ├── lymlin.rs
│ │ ├── ghydop.rs
│ │ └── intxen.rs
│ │
│ ├── collision/ # 碰撞过程 (13 模块)
│ │ ├── mod.rs
│ │ ├── rates/ # 碰撞速率
│ │ │ ├── mod.rs
│ │ │ ├── colh.rs # 氢碰撞
│ │ │ ├── colhe.rs # 氦碰撞
│ │ │ ├── collhe.rs # 氦碰撞系数
│ │ │ ├── colis.rs # 其他物种
│ │ │ ├── butler.rs # Butler 碰撞激发
│ │ │ ├── ceh12.rs # Lyman-α
│ │ │ ├── cheav.rs # He I 激发
│ │ │ └── cspec.rs # 碰撞强度
│ │ ├── ionization/ # 碰撞电离
│ │ │ ├── mod.rs
│ │ │ ├── cion.rs
│ │ │ ├── irc.rs
│ │ │ └── szirc.rs
│ │ ├── dielectronic/ # 双电子复合
│ │ │ ├── mod.rs
│ │ │ ├── dielrc.rs
│ │ │ └── dietot.rs
│ │ └── charge_transfer/ # 电荷转移
│ │ ├── mod.rs
│ │ └── ctdata.rs
│ │
│ ├── radiative/ # 辐射转移 (15 模块)
│ │ ├── mod.rs
│ │ ├── rte/ # 辐射转移方程
│ │ │ ├── mod.rs
│ │ │ ├── rteang.rs # 角度积分
│ │ │ ├── rtecf0.rs
│ │ │ ├── rtecf1.rs
│ │ │ ├── rtedf1.rs
│ │ │ ├── rtedf2.rs
│ │ │ ├── rtefe2.rs # Feautrier
│ │ │ ├── rtefr1.rs
│ │ │ ├── rteint.rs
│ │ │ ├── rtesol.rs
│ │ │ └── rte_sc.rs # 短特征
│ │ ├── compton/ # Compton 散射
│ │ │ ├── mod.rs
│ │ │ ├── compt0.rs
│ │ │ ├── comset.rs
│ │ │ ├── angset.rs
│ │ │ ├── inicom.rs
│ │ │ ├── rtecmc.rs
│ │ │ ├── rtecmu.rs
│ │ │ └── rtecom.rs
│ │ ├── prd/ # PRD
│ │ │ ├── mod.rs
│ │ │ ├── prdin.rs
│ │ │ └── prdini.rs
│ │ └── radtot.rs # 辐射积分
│ │
│ ├── thermodynamics/ # 热力学 (10 模块)
│ │ ├── mod.rs
│ │ ├── state.rs # 状态方程
│ │ ├── rhoeos.rs # T,P → ρ
│ │ ├── rhonen.rs # 粒子密度迭代
│ │ ├── eldens.rs # 电子密度
│ │ ├── elcor.rs # 电子密度修正
│ │ ├── eldenc.rs # 电子密度分析
│ │ ├── entene.rs # 内能和熵
│ │ ├── trmder.rs # 热力学导数
│ │ ├── trmdrt.rs
│ │ ├── setdrt.rs
│ │ ├── prsent.rs # 热力学表插值
│ │ └── pgset.rs # 气体压力
│ │
│ ├── hydrogen/ # 氢原子特殊 (3 模块)
│ │ ├── mod.rs
│ │ ├── wn.rs # 占据概率
│ │ └── wnstor.rs
│ │
│ └── radpre.rs # 辐射加速度
├── equilibrium/ # [25 模块] 平衡计算
│ ├── mod.rs
│ ├── statistical/ # 统计平衡
│ │ ├── mod.rs
│ │ ├── rates1.rs # 辐射跃迁率
│ │ ├── ratmat.rs # 速率矩阵
│ │ ├── ratmal.rs # LTE 速率矩阵
│ │ ├── ratsp1.rs # 预条件化速率
│ │ ├── steqeq.rs # 统计平衡求解
│ │ ├── reflev.rs # 参考能级
│ │ ├── sabolf.rs # Saha-Boltzmann
│ │ └── newpop.rs # 更新占据数
│ ├── ionization/ # 电离平衡
│ │ ├── mod.rs
│ │ ├── russel.rs # Russell 迭代
│ │ └── moleq.rs # 分子/原子平衡
│ ├── partition/ # 配分函数 (8 模块)
│ │ ├── mod.rs
│ │ ├── partf.rs # 通用配分函数
│ │ ├── mpartf.rs # 配分函数计算器
│ │ ├── pfcno.rs # CNO 元素
│ │ ├── pffe.rs # Fe IV-IX
│ │ ├── pfheav.rs # 重元素
│ │ ├── pfni.rs # Ni IV-IX
│ │ ├── pfspec.rs # 特殊元素
│ │ └── tiopf.rs # TiO
│ └── level/ # 能级处理
│ ├── mod.rs
│ ├── levset.rs
│ ├── levgrp.rs
│ └── switch.rs
├── linearization/ # [15 模块] 完全线性化方法
│ ├── mod.rs
│ ├── matrix/ # 矩阵计算
│ │ ├── mod.rs
│ │ ├── bhe.rs # 流体静力平衡
│ │ ├── bre.rs # 辐射平衡
│ │ ├── brez.rs
│ │ ├── bpop.rs # 统计平衡部分
│ │ ├── bpopc.rs # 电荷守恒
│ │ ├── bpope.rs
│ │ ├── bpopf.rs
│ │ ├── bpopt.rs
│ │ ├── emat.rs # E 矩阵
│ │ └── matcon.rs # 对流贡献
│ ├── solver/ # 求解器
│ │ ├── mod.rs
│ │ ├── solve.rs # 完整求解器
│ │ ├── solves.rs # 小系统
│ │ ├── levsol.rs # 能级求解
│ │ ├── matgen.rs # 矩阵生成
│ │ ├── matinv.rs # 矩阵求逆
│ │ └── rhsgen.rs # RHS 向量
│ └── rybicki/ # Rybicki 方法
│ ├── mod.rs
│ ├── rybmat.rs
│ ├── rybheq.rs
│ ├── rybene.rs
│ ├── rybchn.rs
│ └── rybsol.rs
├── acceleration/ # [14 模块] 收敛加速
│ ├── mod.rs
│ ├── ali/ # ALI 方法
│ │ ├── mod.rs
│ │ ├── alifr1.rs
│ │ ├── alifr3.rs
│ │ ├── alifr6.rs
│ │ ├── alifrk.rs
│ │ ├── alisk1.rs
│ │ ├── alisk2.rs
│ │ ├── alist1.rs
│ │ ├── alist2.rs
│ │ ├── ijali2.rs
│ │ ├── ijalis.rs
│ │ └── getlal.rs
│ ├── conv/ # 收敛加速
│ │ ├── mod.rs
│ │ ├── accel2.rs
│ │ ├── accelp.rs
│ │ └── osccor.rs
│ └── taufr1.rs
├── atmosphere/ # [30 模块] 大气模型
│ ├── mod.rs
│ ├── convection/ # 对流
│ │ ├── mod.rs
│ │ ├── convec.rs
│ │ ├── concor.rs
│ │ ├── conout.rs
│ │ ├── conref.rs
│ │ ├── contmd.rs
│ │ └── contmp.rs
│ ├── temperature/ # 温度修正
│ │ ├── mod.rs
│ │ ├── temper.rs
│ │ ├── temcor.rs
│ │ ├── tlocal.rs
│ │ ├── lucy.rs
│ │ └── tdpini.rs
│ ├── depth/ # 深度网格
│ │ ├── mod.rs
│ │ ├── newdm.rs
│ │ ├── newdmt.rs
│ │ ├── dmder.rs
│ │ ├── dmeval.rs
│ │ ├── zmrho.rs
│ │ ├── column.rs
│ │ └── gridp.rs
│ ├── hydrostatic/ # 流体静力平衡
│ │ ├── mod.rs
│ │ ├── hesolv.rs
│ │ ├── hesol6.rs
│ │ └── betah.rs
│ ├── grey/ # 灰大气
│ │ ├── mod.rs
│ │ └── greyd.rs
│ └── odf/ # ODF
│ ├── mod.rs
│ ├── odf1.rs
│ ├── odffr.rs
│ ├── ofhst.rs
│ ├── odfhyd.rs
│ ├── odfhys.rs
│ └── odfmer.rs
├── spectral/ # [10 模块] 谱线处理
│ ├── mod.rs
│ ├── linpro.rs
│ ├── linsel.rs
│ ├── linspl.rs
│ ├── linfrq.rs
│ ├── linovr.rs
│ ├── linfxd.rs
│ ├── sigmar.rs
│ ├── rossop.rs
│ └── rosstd.rs
├── io/ # [10 模块] 输入输出
│ ├── mod.rs
│ ├── fortran/ # Fortran 格式
│ │ ├── mod.rs
│ │ ├── reader.rs
│ │ └── writer.rs
│ ├── output.rs
│ ├── rdata.rs
│ ├── rdatax.rs
│ ├── readbf.rs
│ ├── inkul.rs
│ ├── chctab.rs
│ └── timing.rs
├── model/ # [15 模块] 模型初始化
│ ├── mod.rs
│ ├── inilam.rs
│ ├── inifrc.rs
│ ├── inifrs.rs
│ ├── inifrt.rs
│ ├── inpdis.rs
│ ├── visini.rs
│ ├── change.rs
│ ├── hedif.rs
│ ├── dwnfr0.rs
│ ├── dwnfr1.rs
│ ├── dwnfr.rs
│ ├── pzert.rs
│ ├── corrwm.rs
│ └── grcor.rs
├── utils/ # [5 模块] 通用工具
│ ├── mod.rs
│ ├── getwrd.rs
│ ├── quit.rs
│ ├── prchan.rs
│ └── princ.rs
└── state/ # [现有] 状态结构
└── ...