🛰️航天仿真算法库 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)
 

函数说明

◆ aep8()

AST_WEATHER_CAPI double ast::aep8 ( double e,
double l,
double bb0,
int iname )

计算特定 L 值和磁场强度下的粒子通量

参数
e需要计算通量的能量值,单位为 MeV(兆电子伏特)
l(McIlwain L 参数),表示磁壳参数。程序内部会将其限制在 ≤15.6
bb0B/B₀,即当地磁场强度与磁赤道磁场强度的比值。若输入小于 1,程序强制设为 1
iname1: e-min, 2: e-max, 3: p-min, 4: p-max 'e': 电子, 'p': 质子.
返回
粒子通量,单位为 cm^-2 s^-1

◆ igrf13syn()

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版本,保存函数接口与参数含义一致。

参见
https://www.ncei.noaa.gov/products/international-geomagnetic-reference-field
https://www.ngdc.noaa.gov/IAGA/vmod/igrf13.f
https://ccmc.gsfc.nasa.gov/models/IGRF~13/
https://github.com/space-physics/igrf
参数
[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 则返回无意义的值
返回