385 lines
16 KiB
Markdown
385 lines
16 KiB
Markdown
建议的新目录结构
|
||
|
||
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/ # [现有] 状态结构
|
||
└── ... |