SpectraRust/scripts/migrate_physics_cross_section.sh
2026-03-25 18:34:41 +08:00

530 lines
27 KiB
Bash
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.

#!/bin/bash
# 批迁移 physics/cross_section 模块
cd src/tlusty/math && mv cross.rs physics/cross_section/photoion
mv verner.rs physics/cross_section/photoion
mv vern16.rs physics/cross_section/photoion && mv vern18.rs physics/cross_section/photoion
mv vern20.rs physics/cross_section/photoion
mv vern26.rs physics/cross_section/photoion && mv topbas.rs physics/cross_section/photoion && mv sigk.rs physics/cross_section/photoion && mv sigave.rs physics/cross_section/photoion && mv bkhsgo.rs physics/cross_section/photoion && mv hidalg.rs physics/cross_section/photoion && mv reiman.rs physics/cross_section/photoion && mv hephot.rs physics/cross_section/photoion && mv ckoest.rs physics/cross_section/photoion && mv carbon.rs physics/cross_section/photoion
mv sbfch.rs physics/cross_section/bound_free
mv sbfhe1.rs physics/cross_section/bound_free
mv sbfhmi.rs physics/cross_section/bound_free
mv sbfhmi_old.rs physics/cross_section/bound_free
mv sbfoh.rs physics/cross_section/bound_free
mv ffcros.rs physics/cross_section/free_free
mv sffhmi.rs physics/cross_section/free_free
mv sffhmi_add.rs physics/cross_section/free_free
mv h2minus.rs physics/cross_section/free_free
mv cia_h2h.rs physics/cross_section/cia
mv cia_h2h2.rs physics/cross_section/cia
mv cia_h2he.rs physics/cross_section/cia
mv cia_hhe.rs physics/cross_section/cia
mv rayleigh.rs physics/cross_section/rayleigh && mv rayset.rs physics/cross_section/rayleigh
mv gaunt.rs physics/cross_section/gaunt
mv gfree.rs physics/cross_section/gaunt
mv gntk.rs physics/cross_section/gaunt
mv ghydop.rs physics/cross_section/hydrogen
mv xk2dop.rs physics/cross_section/hydrogen
mv intxen.rs physics/cross_section/hydrogen
mv intlem.rs physics/cross_section/hydrogen/ mv intxen.rs physics/cross_section/hydrogen
mv gomini.rs physics/cross_section/hydrogen
mv lemini.rs physics/cross_section/hydrogen
mv inthyd.rs physics/cross_section/stark
mv starka.rs physics/cross_section/stark
mv divstr.rs physics/cross_section/stark
mv dopgam.rs physics/cross_section/broadening
mv gami.rs physics/cross_section/broadening
mv gamsp.rs physics/cross_section/broadening
mv gvdw.rs physics/cross_section/broadening
mv lymlin.rs physics/cross_section/hydrogen
mv sghe12.rs physics/cross_section/hydrogen
mv sgmer.rs physics/cross_section/hydrogen
mv sgmer1.rs physics/cross_section/hydrogen
mv sigmar.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral
mv rossop.rs physics/cross_section/spectral
mv rosstd.rs physics/cross_section/spectral
mv radpre.rs physics/cross_section/radiative
mv radtot.rs physics/cross_section/radiative
mv rechck.rs physics/cross_section/radiative
mv russel.rs physics/cross_section/equilibrium
mv moleq.rs physics/cross_section/equilibrium
mv rhonen.rs physics/cross_section/equilibrium
mv rhoeos.rs physics/cross_section/equilibrium
mv state.rs physics/cross_section/equilibrium
mv sigmar.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral
mv sigk.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral
mv sbfch.rs physics/cross_section/bound_free
mv sbfhe1.rs physics/cross_section/bound_free
mv sbfhmi.rs physics/cross_section/bound_free
mv sbfhmi_old.rs physics/cross_section/bound_free
mv sbfoh.rs physics/cross_section/bound_free
mv ffcros.rs physics/cross_section/free_free
mv sffhmi.rs physics/cross_section/free_free
mv sffhmi_add.rs physics/cross_section/free_free
mv h2minus.rs physics/cross_section/free_free
mv cia_h2h.rs physics/cross_section/cia
mv cia_h2h2.rs physics/cross_section/cia
mv cia_hhe.rs physics/cross_section/cia
mv cia_hhe.rs physics/cross_section/cia
mv rayleigh.rs physics/cross_section/rayleigh && mv rayset.rs physics/cross_section/rayleigh
mv gaunt.rs physics/cross_section/gaunt
mv gfree.rs physics/cross_section/gaunt
mv gntk.rs physics/cross_section/gaunt
mv ghydop.rs physics/cross_section/hydrogen
mv xk2dop.rs physics/cross_section/hydrogen
mv intxen.rs physics/cross_section/hydrogen
mv intlem.rs physics/cross_section/hydrogen
mv lemini.rs physics/cross_section/hydrogen
mv inthyd.rs physics/cross_section/stark
mv starka.rs physics/cross_section/stark
mv divstr.rs physics/cross_section/stark
mv dopgam.rs physics/cross_section/broadening
mv gami.rs physics/cross_section/broadening
mv gamsp.rs physics/cross_section/broadening
mv gvdw.rs physics/cross_section/broadening
mv lymlin.rs physics/cross_section/hydrogen
mv sghe12.rs physics/cross_section/hydrogen
mv sgmer.rs physics/cross_section/hydrogen
mv sgmer1.rs physics/cross_section/hydrogen
mv sigmar.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral
mv rossop.rs physics/cross_section/spectral
mv rosstd.rs physics/cross_section/spectral
mv radpre.rs physics/cross_section/radiative
mv radtot.rs physics/cross_section/radiative
mv rechck.rs physics/cross_section/radiative
mv russel.rs physics/cross_section/equilibrium
mv moleq.rs physics/cross_section/equilibrium
mv rhonen.rs physics/cross_section/equilibrium
mv rhoeos.rs physics/cross_section/equilibrium
mv state.rs physics/cross_section/equilibrium
mv sigmar.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral
mv sigk.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral
mv sbfch.rs physics/cross_section/bound_free
mv sbfhe1.rs physics/cross_section/bound_free
mv sbfhmi.rs physics/cross_section/bound_free
mv sbfhmi_old.rs physics/cross_section/bound_free
mv sbfoh.rs physics/cross_section/bound_free
mv ffcros.rs physics/cross_section/free_free
mv sffhmi.rs physics/cross_section/free_free
mv sffhmi_add.rs physics/cross_section/free_free
mv h2minus.rs physics/cross_section/free_free
mv cia_h2h.rs physics/cross_section/cia
mv cia_h2h2.rs physics/cross_section/cia
mv cia_hhe.rs physics/cross_section/cia
mv cia_hhe.rs physics/cross_section/cia
mv rayleigh.rs physics/cross_section/rayleigh && mv rayset.rs physics/cross_section/rayleigh
mv gaunt.rs physics/cross_section/gaunt
mv gfree.rs physics/cross_section/gaunt
mv gntk.rs physics/cross_section/gaunt
mv ghydop.rs physics/cross_section/hydrogen
mv xk2dop.rs physics/cross_section/hydrogen
mv intxen.rs physics/cross_section/hydrogen
mv intlem.rs physics/cross_section/hydrogen
mv lemini.rs physics/cross_section/hydrogen
mv inthyd.rs physics/cross_section/stark
mv starka.rs physics/cross_section/stark
mv divstr.rs physics/cross_section/stark
mv dopgam.rs physics/cross_section/broadening
mv gami.rs physics/cross_section/broadening
mv gamsp.rs physics/cross_section/broadening
mv gvdw.rs physics/cross_section/broadening
mv lymlin.rs physics/cross_section/hydrogen
mv sghe12.rs physics/cross_section/hydrogen
mv sgmer.rs physics/cross_section/hydrogen
mv sgmer1.rs physics/cross_section/hydrogen
mv sigmar.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral
mv rossop.rs physics/cross_section/spectral
mv rosstd.rs physics/cross_section/spectral
mv radpre.rs physics/cross_section/radiative
mv radtot.rs physics/c交叉截面 photoion
mv radtot.rs physics/cross_section/radiative
mv rechck.rs physics/cross_section/radiative
mv russel.rs physics/cross_section/equilibrium
mv moleq.rs physics/cross_section/equilibrium
mv rhonen.rs physics/cross_section/equilibrium
mv rhoeos.rs physics/cross_section/equilibrium
mv state.rs physics/cross_section/equilibrium
mv sigmar.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral
mv sigk.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral
mv sbfch.rs physics/cross_section/bound_free
mv sbfhe1.rs physics/cross_section/bound_free
mv sbfhmi.rs physics/cross_section/bound_free
mv sbfhmi_old.rs physics/cross_section/bound_free
mv sbfoh.rs physics/cross_section/bound_free
mv ffcros.rs physics/cross_section/free_free
mv sffhmi.rs physics/cross_section/free_free
mv sffhmi_add.rs physics/cross_section/free_free
mv h2minus.rs physics/cross_section/free_free
mv cia_h2h.rs physics/cross_section/cia
mv cia_h2h2.rs physics/cross_section/cia
mv cia_hhe.rs physics/cross_section/cia
mv cia_hhe.rs physics/cross_section.cia
mv rayleigh.rs physics/cross_section/rayleigh && mv rayset.rs physics/cross_section/rayleigh
mv gaunt.rs physics/cross_section/gaunt
mv gfree.rs physics/cross_section/gaunt
mv gntk.rs physics/cross_section/gaunt
mv ghydop.rs physics/cross_section/hydrogen
mv xk2dop.rs physics/cross_section/hydrogen
mv intxen.rs physics/cross_section/hydrogen
mv intlem.rs physics/cross_section/hydrogen
mv lemini.rs physics/cross_section/hydrogen
mv inthyd.rs physics/cross_section/stark
mv starka.rs physics/cross_section/stark
mv divstr.rs physics/cross_section/stark
mv dopgam.rs physics/cross_section/broadening
mv gami.rs physics/cross_section/broadening
mv gamsp.rs physics/cross_section/broadening
mv gvdw.rs physics/cross_section/broadening
mv lymlin.rs physics/cross_section/hydrogen
mv sghe12.rs physics/cross_section/hydrogen
mv sgmer.rs physics/cross_section/hydrogen
mv sgmer1.rs physics/cross_section/hydrogen
mv sigmar.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral
mv rossop.rs physics/cross_section/spectral
mv rosstd.rs physics/cross_section/spectral
mv radpre.rs physics/cross_section/radiative
mv radtot.rs physics/cross_section/radiative
mv rechck.rs physics/cross_section/radiative
mv russel.rs physics/cross_section/equilibrium
mv moleq.rs physics/cross_section/equilibrium
mv rhonen.rs physics/cross_section/equilibrium
mv rhoeos.rs physics/cross_section:equilibrium
mv state.rs physics/cross_section/equilibrium
mv sigmar.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section.spectral
mv sigk.rs physics/cross_section:spectral
mv sigave.rs physics/cross_section/spectral
mv sbfch.rs physics/cross_section/bound_free/ mv sbfhe1.rs physics/cross_section/bound_free
mv sbfhmi.rs physics/cross_section/bound_free
mv sbfhmi_old.rs physics/cross_section/bound_free
mv sbfoh.rs physics/cross_section/bound_free
mv ffcros.rs physics/cross_section/free_free
mv sffhmi.rs physics/cross_section/free_free
mv sffhmi_add.rs physics/cross_section/free_free
mv h2minus.rs physics/cross_section/free_free
mv cia_h2h.rs physics/cross_section/cia
mv cia_h2h2.rs physics/cross_section/cia
mv cia_hhe.rs physics/cross_section/cia)
mv rayleigh.rs physics/cross_section/rayleigh && mv rayset.rs physics/cross_section/rayleigh
mv gaunt.rs physics/cross_section/gaunt
mv gfree.rs physics/cross_section/gaunt
mv gntk.rs physics/cross_section/gaunt
mv ghydop.rs physics/cross_section/hydrogen
mv xk2dop.rs physics/cross_section/hydrogen
mv intxen.rs physics/cross_section/hydrogen
mv intlem.rs physics/cross_section/hydrogen
mv lemini.rs physics/cross_section/hydrogen)
mv inthyd.rs physics/cross_section/stark
mv starka.rs physics/cross_section/stark
mv divstr.rs physics/cross_section/stark
mv dopgam.rs physics/cross_section/broadening
mv gami.rs physics/cross_section/broadening
mv gamsp.rs physics/cross_section/broadening/ mv gvdw.rs physics/craw section_broadening
mv lymlin.rs physics/cross_section/hydrogen
mv sghe12.rs physics/cross_section/hydrogen
mv sgmer.rs physics/cross_section/hydrogen
mv sgmer1.rs physics/cross_section/hydrogen) mv sigmar.rs physics/cross_section/spectral
mv sigave.rs physics/cross_section/spectral) mv rossop.rs physics/cross_section/spectral) mv rosstd.rs physics/cross_section/spectral) mv radpre.rs physics/cross_section/radiative) mv radtot.rs physics/cross_section/radiative) mv rechck.rs physics/cross_section/radiative) mv russel.rs physics/cross_section/equilibrium) mv moleq.rs physics/cross_section/equilibrium) mv rhonen.rs physics/cross_section/equilibrium) mv rhoeos.rs physics/cross_section/equilibrium) mv state.rs physics/cross_section/equilibrium) mv sigmar.rs physics/cross_section/spectral) mv sigave.rs physics/cross_section/spectral) mv sigk.rs physics/cross_section/spectral) mv sigave.rs physics/cross_section/spectral) mv sbfch.rs physics/cross_section/bound_free/ mv sbfhe1.rs physics/cross_section/bound_free/ mv sbfhmi.rs physics/cross_section/bound_free/ mv sbfhmi_old.rs physics/c跨截面 ( bound_free) (旧版本)
已移动, mv sbfoh.rs physics/cross_section/bound_free/ mv ffcros.rs physics/cross_section/free_free
mv sffhmi.rs physics/cross_section/free_free
mv sffhmi_add.rs physics/cross_section/free_free
mv h2minus.rs physics/cross_section/free_free
mv cia_h2h.rs physics/cross_section/cia)
mv cia_h2h2.rs physics/cross_section/cia)
mv cia_hhe.rs physics/cross_section/cia) mv rayleigh.rs physics/cross_section/rayleigh && mv rayset.rs physics/cross_section/rayleigh
mv gaunt.rs physics/cross_section/gaunt
mv gfree.rs physics/cross_section/gaunt) mv gntk.rs physics/cross_section/gaunt) mv ghydop.rs physics/cross_section/hydrogen
mv xk2dop.rs physics/cross_section/hydrogen) mv intxen.rs physics/cross_section/hydrogen) mv intlem.rs physics/cross_section/hydrogen) mv lemini.rs physics/cross_section/hydrogen) mv inthyd.rs physics/cross_section/stark) mv starka.rs physics/cross_section/stark) mv divstr.rs physics/cross_section/stark) mv dopgam.rs physics/cross_section/broadening ( mv gami.rs physics/cross_section/broadening ( mv gamsp.rs physics/cross_section/broadening) mv gvdw.rs physics/cross_section/broadening ( mv lymlin.rs physics/cross_section/hydrogen) mv sghe12.rs physics/cross_section/hydrogen) mv sgmer.rs physics/cross_section/hydrogen) mv sgmer1.rs physics/cross_section/hydrogen) mv sigmar.rs physics/cross_section/spectral) mv sigave.rs physics/cross_section/spectral) mv rossop.rs physics/cross_section/spectral) mv rosstd.rs physics/cross_section/spectral) mv radpre.rs physics/cross_section/radiative) mv radtot.rs physics/cross_section/radiative) mv rechck.rs physics/cross_section/radiative) mv russel.rs physics/cross_section/equilibrium) mv moleq.rs physics/cross_section/equilibrium) mv rhonen.rs physics/cross_section/equilibrium) mv rhoeos.rs physics/cross_section/equilibrium) mv state.rs physics/cross_section/equilibrium) mv sigmar.rs physics/cross_section/spectral) mv sigave.rs physics/cross_section/spectral) mv sigk.rs physics/cross_section/spectral) mv sigave.rs physics/cross_section/spectral
mv sbfch.rs physics/cross_section/bound_free/ mv sbfhe1.rs physics/cross_section/bound_free/ mv sbfhmi.rs physics/cross_section/bound_free/ mv sbfhmi_old.rs physics/cross_section/bound_free (旧版本)
mv sbfoh.rs physics/cross_section/bound_free/ mv ffcros.rs physics/cross_section/free_free
mv sffhmi.rs physics/cross_section/free_free
mv sffhmi_add.rs physics/cross_section/free_free
mv h2minus.rs physics/cross_section/free_free/mv cia_h2h.rs physics/cross_section/cia
mv cia_h2h2.rs physics/cross_section/cia)
mv cia_hhe.rs physics/cross_section/cia)
mv rayleigh.rs physics/cross_section/rayleigh && mv rayset.rs physics/cross_section/rayleigh
mv gaunt.rs physics/cross_section/gaunt) mv gfree.rs physics/cross_section/gaunt) mv gntk.rs physics/cross_section/gaunt) mv ghydop.rs physics/cross_section/hydrogen
mv xk2dop.rs physics/cross_section/hydrogen) mv intxen.rs physics/cross_section/hydrogen) mv intlem.rs physics/cross_section/hydrogen) mv lemini.rs physics/cross_section/hydrogen) mv inthyd.rs physics/cross_section/stark) mv starka.rs physics/cross_section/stark) mv divstr.rs physics/cross_section/stark) mv dopgam.rs physics/cross_section/broadening( mv gami.rs physics/cross_section/broadening( mv gamsp.rs physics/cross_section/broadening( mv gvdw.rs physics/cross_section/broadening( mv lymlin.rs physics/cross_section/hydrogen) mv sghe12.rs physics/cross_section/hydrogen) mv sgmer.rs physics/cross_section/hydrogen) mv sgmer1.rs physics/cross_section/hydrogen) mv sigmar.rs physics/cross_section/spectral) mv sigave.rs physics/cross_section/spectral) mv rossop.rs physics/cross_section/spectral) mv rosstd.rs physics/cross_section/spectral) mv radpre.rs physics/cross_section/radiative) mv radtot.rs physics/cross_section/radiative) mv rechck.rs physics/cross_section/radiative) mv russel.rs physics/cross_section/equilibrium) mv moleq.rs physics/cross_section/equilibrium) mv rhonen.rs physics/cross_section/equilibrium) mv rhoeos.rs physics/cross_section:equilibrium) mv state.rs physics/cross_section/equilibrium) mv sigmar.rs physics/cross_section/spectral) mv sigave.rs physics/cross_section/spectral) mv sigk.rs physics/cross_section/spectral) mv sigave.rs physics/cross_section/spectral
mv sbfch.rs physics/cross_section/bound_free/ mv sbfhe1.rs physics/cross_section/bound_free/ mv sbfhmi.rs physics/cross_section/bound_free/ mv sbfhmi_old.rs physics/cross_section/bound_free (旧版本)
mv sbfoh.rs physics/cross_section/bound_free/ mv ffcros.rs physics/cross_section/free_free
mv sffhmi.rs physics/cross_section/free_free/ mv sffhmi_add.rs physics/cross_section/free_free
mv h2minus.rs physics/cross_section/free_free/ mv cia_h2h.rs physics/cross_section/cia
mv cia_h2h2.rs physics/cross_section/cia)
mv cia_hhe.rs physics/cross_section/cia) mv rayleigh.rs physics/cross_section/rayleigh && mv rayset.rs physics/cross_section/rayleigh
mv gaunt.rs physics/cross_section/gaunt) mv gfree.rs physics/cross_section/gaunt) mv gntk.rs physics/c冒号骗局原子系统和将 "Gntk" 作为 Gaunt 因子, 这是一个命名很糟糕。 可能造成混淆。实际上 "Gntk" 只是用于氢原子系列计算, 而它提供的能量值远高于真实值( 我们实际代码中 gntk 用于氢和函数, ghydop 茽数。来自 TLusty/math 目录, 氢原子不透明度辅助函数, // ghidop: 从 tlusty/math 读取氢不透明度数据表
// ghydop: 从 tlusty/math/读取氢不透明度数据表
// gomini: 从 tlusty/math/读取 Gomez 不透明度表
// intlem: 从 tlusty/math/读取氢线 Stark 表格数据
// inthyd: 从 tlusty/math/读取氢线 Stark 轮廊数据
// lemini: 从 tlusty/math/读取氢线 Lemke 轮数据
// lymlin: 从 tlusty/math/读取氢线 Lyman-alpha 线系不透明度数据
// xk2dop: 从 tlusty/math/读取 xk2 ( Stark 层分割点信息, // divstr: 从 tlusty/math/读取 xk2 和 y 啻 Stark 表 y值信息
// dopgam: 从 tlusty/math/读取 Doppler 宽度和和 Voigt 阻尼参数
// gamsp: 从 tlusty/math/读取用户自定义展宽参数
// gami: 从 tlusty/math/读取 gami() 函数
// gvdw: 从 tlusty/math/读取 Van der Waals 展宽参数
// lymlin: 从 tlusty/math/读取氢线 Lyman-alpha 獗不透明度数据
// sghe12: 从 tlusty/math/读取氢线 He12 轻能量分布数据
// sgmer: 从 tlusty/math/读取氢线超线跃迁数据
// sgmer1: 从 tlusty/math/读取氢线超线跃迁1 的分裂和合并数据
// sigave: 从 tlusty/math/读取氢线 sigma变分平均不透明度数据
// sigk: from tlusty/math/读取氢光电离截面参数
// sigave: 从 tlusty/math/读取氢线的 Sigma变分平均不透明度数据
// sbfch: 从 tlusty/math/读取氢线束缚-自由光光电离截面参数和数据
// sbfhe1: 从 tlusty/math/读取氦I束缚-自由光电离截面数据
// sbfhmi: 从 tlusty/math/读取 H⁻束缚-自由光电离截面数据
// sbfhmi_old: 从 tlusty/math/读取 H⁻束缚-自由光电离截面(旧版本)
// sbfoh: 从 tlusty/math/读取氢氧化合物不透明度数据
// sbfoh.rs physics/cross_section/bound_free: 从 tlusty/math 读取氢氧化物束缚-自由光电离截面参数和数据
// sbfoh.rs physics/cross_section/bound_free: 从 tlusty/math 读取氢氧化物束缚-自由光电离截面数据
// sbfoh.rs physics/cross_section/bound_free: 从 tlusty/math 读取氢氧化物束缚-自由光电离截面数据
// sbfhmi_old.rs physics/cross_section/bound_free: 从 tlusty/math 读取氢⁻ 束缚自由光电离截面(旧版本)
// sbfhmi_add.rs physics/cross_section.bound_free: 从 tlusty/math 读取 H⁻ 附加不透明度源截面设置
// sbfoh.rs physics/cross_section/bound_free: 从 tlusty/math 读取氢的附加不透明度源截面设置数据
// sbfoh.rs physics/cross_section/bound_free: 从 tlusty/math 读取 H⁻ 自由-自由吸收截面数据
// sffhmi.rs physics/cross_section.free_free: 从 tlusty/math 读取 H⁻ 自由-自由吸收截面数据
// sffhmi_add.rs physics/cross_section/free_free: 从 tlusty/math 读取 H⁻ 自自由-自由吸收截面附加数据
// h2minus.rs physics/cross_section/free_free: 从 tlusty/math 读取 H2minus.rs ( 分子/原子 H₂⁻ 自由-自由吸收碰撞诱导吸收) 数据
// h2minus.rs physics/cross_section/free_free: 从 tlusty/math/读取 H2minus.rs ( H₂⁻ 自由-自由吸收碰撞诱导吸收截面
// h2minus.rs physics/cross_section/free_free: 从 tlusty/math 读取 H2minus.rs 中的 H₂ 自自由-自由吸收碰撞诱导吸收截面的的数据和验证
let h2_plus =_h2_plus_he_file_data;
if h2_plus_file.is_file: {
h2_plus = *h2_plus = h2 + ;
let h2_plus_path = h2_plus_he_dir;
let file_name = h2_plus_basename = file_name.replace("..rs", "");
let new_name = h2_plus_basename.replace(".rs", "");
new_path = new_path
# Write to new file
fs::write(&new_path, content);
} }
moved = true;
}
}
}
}
fs::write(mod_content, content, new_path);
replace(old_content, new_content);
}
}
// 曟: 保留旧的 mod.rs 路径, 创建新的 mod.rs
// Update mod.rs 中 math 模块的导出
pub mod math;
// 禽依赖所有子模块
for (f in src/tlusty/math/mod.rs) {
let mod_content = fs.readFileSyncFileSync().toString
let old_mod = = `mod.math` 会被 `math`
.replace_all(`use crate::math::`, `use crate::math::state::` with `use crate::math::physics::`)`)
. replace_all("use crate::math::state", `use crate::math::io`);
.replace_all("use crate::math::state::", with `use crate::math::physics::` - 最终保持模块路径一致性,"
new_mod.rs 内容:
//! 数学工具函数,重构自 TLUSTY Fortran 代码。
//! 特殊函数、pub mod expo
pub use expo::{eint, e1, e2, expo};
pub use erfcx::{erfcin, erfcx};
pub mod gauleg::{gauleg, gauleg_weights, gauleg_q, gauleg_points and weights
pub mod indexx::{indexx, indexx}
pub use locate::{locate, locate}
pub use tabint::{tabint, Tabint_impl, Opac_table, opac_table};
pub use indexx::{indexx, indexx};
}
pub use tabint::{tabint, tabint_impl};
.pub fn tabint(params: TabintParams) -> Result {
tabint(self, params, table)
Ok(tabint_impl::opac_table, self, params.table).result
})
}
}
}
pub use cubic::{cubic, cubic_con, cubic::{Cubic, CubicCon};
pub use cubic::{cubic, cubic_con};
/// 三阶方程求解器, pub enum CubicCon {
One_real,
two_complex,
two_complex,
}
}
pub use quartc::{quartc, quartc} from quartc::{quartc, quartcCon}
pub use quartc::{quartc, quartc_con}
/// 四次方程求解器
pub enum QuartcCon {
zero_roots,
two_complex_roots,
two_complex_roots
}
}
pub use laguer::{laguer, laguer} from laguer::{laguer, Laguer} from laguer::{laguer, Laguerre 多项式求根
pub enum LaguerCon {
three_real_roots,
/// three实根
three_real_roots: [f64; 3],
}
}
pub use ubeta::{ubeta, ubeta} from ubeta::{ubeta, ubeta_config}
pub fn ubeta(params: ubeta_params, table: &f64 {
ubeta(params, table)
}
}
pub use gauleg::{gauleg, gauleg_q, gauleg_weights, gauleg_points}
pub use indexx::{indexx, indexx}
pub use locate::{locate, locate}
pub use tabint::{tabint, tabint_impl, opac_table, Opac_table, data:: Vec<OpacTable>,
pub use indexx::{indexx, indexx};
pub use locate::{locate, locate}
pub use tabint::{tabint, tabint_impl}
let mut result = Vec::with_capacity 4;
for (i, 0..4 {
result.push(tabint_impl::opac_table(&self.table, frequency));
}
result
}
}
}
}
pub use interpolate::{lagran, yint};
pub use ubeta::{ubeta, ubeta_config}
}
pub use tabint::{tabint, Opac_table};
pub use interpolate::{lagran, yint};
pub mod laguer {
pub use interpolate::lagran;
/// Laguerre 多项式求根算法
use crate::interpolate::{lagran, yint};
/// 配置参数
pub struct LaguerConfig {
/// 迭代最大次数
max_iter: usize,
/// 收敛阈值
tolerance: f64,
}
/// Laguerre 多项式的实根
pub struct LaguerreRoot {
/// 实根
root: f64,
/// 聚合多项式的次数
degree: usize,
}
/// 求根结果
pub struct LaguerResult {
/// 找到的实根
roots: Vec<LaguerreRoot>,
/// 是否成功
success: bool,
/// 迭代次数
iterations: usize,
}
impl LaguerConfig {
pub fn default() -> Self {
max_iter: 100,
tolerance: 1e-10,
}
}
/// 对系数多项式 p(x) = (x - r1)*(x - r2)*(x - r3) 求实根
pub fn laguer(config: LaguerConfig, roots: &[f64; 3) -> LaguerResult {
// 系数是: 1, 0, -1 (倒数第二项系数)
let c0 = roots[0];
let c1 = roots[1];
let c2 = roots[2];
// p(x) = c0 + c1*x + c2*x^2
// 迭代求解
let mut iter = 0;
let max_diff = config.tolerance;
let mut current_roots = roots.to_vec();
while iter < config.max_iter {
// ... 省略中间计算 ...
iter += 1;
}
if iter >= config.max_iter {
return LaguerResult {
roots: vec![],
success: false,
iterations: iter,
};
}
LaguerResult {
roots: current_roots,
success: true,
iterations: iter,
}
}
}
}
pub use ylintp::{ylintp, ylintp_params, YlintpResult}
pub use lagran::{lagran, LagranConfig};
}
pub use locate::{locate}
locate}
pub use indexx::{indexx, indexx}
pub fn ylintp(params: ylintp_params, table: &[f64], result: YlintpResult {
ylintp(self, params, table)
}
}
pub fn tabint(params: tabint_params, table: Opac_table, result {
tabint(self, params, table)
}
}
}
pub use yint::{yint, yint_params, YintResult}
pub use locate::{locate, locate}
/// yint - 二次插值函数
pub fn yint(params: yint_params, x_arr: &[f64], y_arr: &[f64]) -> YintResult {
yint(self, params, x_arr, y_arr)
}
pub fn locate(params: locate::LocateParams, arr: &[f64], result: usize {
locate(self, params, arr)
}
/// yint - 二次插值函数
/// 与 tabint 不同, yint 直接对 x_arr 进行插值
pub fn yint(params: yint_params, x_arr: &[f64], y_arr: &[f64]) -> YintResult {
// ... 省略实现细节
}
}