|
🛰️航天仿真算法库 SpaceAST 0.0.1
|
包括IGRF、AE8、AP8等相关模型等。
函数 | |
| 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) |
| void | ast::igrf (double lon, double lat, double height, double year, double &xl, double &bbx) |
| int | ast::igrf13syn (int isv, double date, int itype, double alt, double colat, double elong, double &x, double &y, double &z, double &f) |
| 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 | 1: e-min, 2: e-max, 3: p-min, 4: p-max 'e': 电子, 'p': 质子. |
| 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 则返回无意义的值 |