|
🛰️航天仿真算法库 SpaceAST 0.0.1
|
包括IGRF、AE8、AP8等相关模型等。
类 | |
| class | ast::IrbemAPI |
函数 | |
| void | ast::igrf (double lon, double lat, double height, double year, double &xl, double &bbx) |
| void | ast::igrf_field (double lon, double lat, double height, double year, double &bnorth, double &beast, double &bdown, double &babs) |
| void | ast::aIGRFField (double lon, double lat, double height, double year, double &bx, double &by, double &bz, double &babs) |
| int | ast::igrf13syn (int isv, double date, int itype, double alt, double colat, double elong, double &x, double &y, double &z, double &f) |
| double | ast::aep8 (double e, double l, double bb0, int iname) |
| double | ast::get_flux (double lon, double lat, double height, double energy, double year, int iname) |
| AST_WEATHER_CAPI double ast::aep8 | ( | double | e, |
| double | l, | ||
| double | bb0, | ||
| int | iname ) |
计算特定 L 值和磁场强度下的粒子通量
| e | 需要计算通量的能量值 [MeV(兆电子伏特)] |
| l | (McIlwain L 参数),表示磁壳参数。程序内部会将其限制在 ≤15.6 |
| bb0 | B/B₀,即当地磁场强度与磁赤道磁场强度的比值。若输入小于 1,程序强制设为 1 |
| iname | 粒子种类与太阳活动水平:
|
| AST_WEATHER_CAPI double ast::get_flux | ( | double | lon, |
| double | lat, | ||
| double | height, | ||
| double | energy, | ||
| double | year, | ||
| int | iname ) |
计算特定位置和时间处辐射带捕获粒子的通量(参见 aep8.hpp 中的详细文档)
计算特定位置和时间处辐射带捕获粒子的通量
内部流程:
"辐射带捕获粒子"指的是被地球磁场捕获并束缚在范艾伦辐射带(Van Allen Belts)中的高能带电粒子(主要是电子和质子) 请参见:范艾伦辐射带(Van Allen Belts)
该函数先通过 IGRF 地磁场模型将地理坐标(经度、纬度、高度、年份)转换为 McIlwain L 参数(磁壳参数)和 B/B₀(当地磁场强度与磁赤道磁场强度之比), 再调用 AEP8 辐射带模型计算粒子积分通量。
| lon | 地理经度 [度(°)] |
| lat | 地理纬度 [度(°)] |
| height | 相对于地球表面的高度 [千米(km)] |
| energy | 能量阈值,计算通量时只统计能量 ≥ 该值的粒子 [MeV(兆电子伏特)] |
| year | 小数年份(如 2021.1616),用于考虑地球磁场的长期漂移 |
| iname | 粒子种类与太阳活动水平:
|
| AST_WEATHER_CAPI void ast::igrf | ( | double | lon, |
| double | lat, | ||
| double | height, | ||
| double | year, | ||
| double & | xl, | ||
| double & | bbx ) |
利用 IGRF 地磁场模型计算磁壳参数 L 和磁场比值 B/B₀
通过对底层 Fortran 例程的顺序调用,将地理坐标转换为辐射带建模所需的磁坐标参数。
内部流程:
IGRF(International Geomagnetic Reference Field,国际地磁参考场)是 国际地磁学与高空物理学协会(IAGA)发布的标准地磁场模型。
本函数将地理坐标转换为辐射带建模所需的磁坐标参数, 是连接地理空间与辐射带模型(AE8/AP8)的桥梁。
| [in] | lon | 地理经度 [度(°)] |
| [in] | lat | 地理纬度 [度(°)] |
| [in] | height | 相对于地球表面的高度 [千米(km)] |
| [in] | year | 小数年份(如 2021.1616),用于计算地磁场的长期变化(主磁场漂移) |
| [out] | xl | McIlwain L 参数(磁壳参数),无量纲。 表示磁力线在赤道面与地心的距离(以地球半径 R_E 为单位)。 内辐射带典型值 ~1.2–3,外辐射带 ~3–10。 |
| [out] | bbx | B/B₀,即当地磁场总强度与同 L 值磁赤道处磁场强度的比值。 该值 ≥ 1,是辐射带粒子弹跳运动的控制参数。 |
| AST_WEATHER_CAPI int ast::igrf13syn | ( | int | isv, |
| double | date, | ||
| int | itype, | ||
| double | alt, | ||
| double | colat, | ||
| double | elong, | ||
| double & | x, | ||
| double & | y, | ||
| double & | z, | ||
| double & | f ) |
根据IGRF13模型计算磁场分量
igrf13.f文件内igrf13syn函数的C版本,保持函数接口与参数含义一致。
| [in] | isv | =0: 计算主磁场值(单位:nT); =1: 计算长期变化率(年变率,单位:nT/年) |
| [in] | date | 年份,公元纪年,如 2020.0。有效范围:1900.0 至 2030.0; 若 date > 2025.0 会给出警告,表示精度可能降低(因预测模型仅到2025年) |
| [in] | itype | =1:大地坐标(海拔高度); =2:地心坐标(地心距离) |
| [in] | alt | 当 itype=1 时:海拔高度,单位为 km(相对于海平面); 当 itype=2 时:到地心的距离,单位为 km(必须 > 3485 km,即地球内核半径之外) |
| [in] | colat | 余纬度,单位为度,范围 0° 到 180°; 定义为从北极起算的角度:colat = 90° - 纬度(北纬为正,南纬为负) |
| [in] | elong | 东经,单位为度,范围 0° 到 360° |
| [out] | x | 若 isv=0:主磁场北分量,单位 nT; 若 isv=1:北分量的年变率,单位 nT/年 |
| [out] | y | 东向分量(单位同上) |
| [out] | z | 垂直分量(向下为正,单位同上) |
| [out] | f | 总强度(仅当 isv=0 时有意义,单位 nT);若 isv=1 则返回无意义的值 |