Basilisk 居中偶极子磁场模型与 IGRF 系数的数学推导

说明:本文推导 Basilisk 中居中偶极子磁场模块 MagneticFieldCenteredDipole 如何利用 IGRF 的三个一阶高斯系数 g10,g11,h11g_1^0, g_1^1, h_1^1g10,g11,h11 以及行星半径 RRR 计算航天器位置处的磁场矢量。

0. 磁偶极子物理基础

在深入推导数学公式之前,我们需要理解磁偶极子的物理本质和在地球物理学中的应用。这一章将从基本概念出发,建立对磁偶极子场的直观理解。

0.1 磁偶极子的基本定义

0.1.1 什么是磁偶极子

磁偶极子(magnetic dipole)是电磁学中的基本概念,表示一个具有两个磁极(南极和北极)的磁源。在数学上,它可以看作一个极小的闭合电流环一对无限接近的磁单极子对

形象地说,一个小磁铁(如指南针)、一个小型线圈通电后都可以近似为磁偶极子。它的特征是:

  • 磁场线从北极出发,环绕后进入南极,形成闭合回路;
  • 在远处观察(距离远大于偶极子尺寸),磁场分布由一个矢量——磁偶极矩 m\mathbf mm——完全描述;
  • 磁偶极子没有孤立的磁荷(磁单极子至今未被观测到),磁场线总是闭合的。
0.1.2 与电偶极子的比较
特性电偶极子磁偶极子
构成正负电荷对 +q+q+q−q-qq,间距 d\mathbf dd一对磁极(N极和S极)或小电流环
偶极矩定义p=qd\mathbf p = q \mathbf dp=qdm=IA\mathbf m = I \mathbf Am=IA(电流 III × 面积矢量 A\mathbf AA
场的势电势 ϕ=14πϵ0p⋅rr3\phi = \frac{1}{4\pi\epsilon_0} \frac{\mathbf p \cdot \mathbf r}{r^3}ϕ=4πϵ01r3pr磁标势 ϕm=μ04πm⋅rr3\phi_m = \frac{\mu_0}{4\pi} \frac{\mathbf m \cdot \mathbf r}{r^3}ϕm=4πμ0r3mr
场的形式E=−∇ϕ\mathbf E = -\nabla \phiE=ϕB=−∇ϕm\mathbf B = -\nabla \phi_mB=ϕm(静磁近似)
衰减规律E∝1/r3E \propto 1/r^3E1/r3B∝1/r3B \propto 1/r^3B1/r3
场线从正电荷发散到负电荷(开放)闭合环绕(无磁荷)

相似之处

  • 数学形式完全类比:都是 1/r31/r^31/r3 衰减的矢量场;
  • 都有"3(r^⋅m)r^−m3(\hat{\mathbf r} \cdot \mathbf m)\hat{\mathbf r} - \mathbf m3(r^m)r^m"的标准形式;
  • 都可以通过标量势 ϕ\phiϕ 来描述(静场情况)。

区别

  • 物理源不同:电偶极子来自电荷对,磁偶极子来自电流或内禀磁矩(如电子自旋);
  • 场线拓扑不同:电场线开放,磁场线闭合(反映了"没有磁单极子"这一基本事实);
  • 在介质中的行为:电偶极子受电场力矩,磁偶极子受磁场力矩。

0.2 地球磁场的磁偶极子来源

0.2.1 地磁场的观测特征

地球磁场在地表及近地空间具有以下特征:

  • 主磁场强度:赤道约 30,000 nT30{,}000\,\text{nT}30,000nT,极区约 60,000 nT60{,}000\,\text{nT}60,000nT
  • 倾角(inclination):在赤道为 0°0°(水平),在极区为 ±90°\pm 90°±90°(垂直);
  • 偏角(declination):磁北极与地理北极不重合,且随位置变化;
  • 长期变化(secular variation):磁极位置每年移动数十公里,场强缓慢变化。

这些特征与一个倾斜的磁偶极子高度吻合:约 90% 的地表磁场可以用一个居中偶极子解释。

0.2.2 地核发电机理论(简要)

地球磁场的物理来源是地核发电机(geodynamo)过程:

  1. 地球内部结构

    • 外核(约 2900–5100 km 深):液态铁镍合金,温度约 4000–6000 K;
    • 内核:固态,但外核流体可以自由对流。
  2. 发电机机制

    • 热对流 + 地球自转驱动外核中的导电流体运动;
    • 流体运动切割已存在的磁场线,通过电磁感应产生电流(法拉第定律);
    • 这些电流反过来增强磁场——形成自激发电机(self-sustaining dynamo)。
  3. 为什么是偶极子主导

    • 地核的球对称几何科里奥利力(地球自转效应)倾向于产生轴对称的磁场模式;
    • 在球谐展开中,一阶项(偶极子)能量最低、最稳定,因此占主导;
    • 高阶项(四极子、八极子等)也存在,但能量较小(~10%)。
  4. 偶极子的倾斜

    • 理想情况下偶极轴应与自转轴重合,但实际地核流体运动的复杂性导致偶极轴相对地理轴倾斜约 11°
    • 这个倾角对应于 IGRF 系数中 g11g_1^1g11h11h_1^1h11 的非零值。

关键结论:地球磁场本质上是一个由地核流体运动产生的、以倾斜偶极子为主的复杂磁场,IGRF/WMM 用球谐展开来精确描述,而一阶项恰好对应这个主导的偶极子分量。

0.3 磁偶极矩矢量的数学描述

0.3.1 磁偶极矩的定义

对于一个小型闭合电流环(面积 AAA,电流 III),其磁偶极矩定义为:

m=IA \mathbf m = I \mathbf A m=IA

其中 A\mathbf AA 是面积矢量,方向由右手定则确定(四指沿电流方向,拇指指向 A\mathbf AA)。

  • 单位:SI 制中为 A⋅m2\text{A}\cdot\text{m}^2Am2(安培·米²)或等效的 J/T\text{J/T}J/T(焦耳/特斯拉);
  • 在地磁学中,常用 nT\text{nT}nT 表示磁场,因此偶极矩的"有效单位"是 T\text{T}T(结合参考半径归一化)。
0.3.2 物理意义
  • ∣m∣|\mathbf m|m:偶极子的强度,越大磁场越强;
  • 方向(m)\text{方向}(\mathbf m)方向(m):从南极指向北极(磁场线在外部从北极出发);
  • m⋅r^\mathbf m \cdot \hat{\mathbf r}mr^:偶极矩在径向方向的投影,决定该方向上的磁场贡献。
0.3.3 在 IGRF/Basilisk 中的表示

在地球物理学中,偶极矩通过球谐系数表示。对于 IGRF 一阶项:

mP=[g11h11g10](在行星固定坐标系 P 中) \mathbf m_P = \begin{bmatrix} g_1^1 \\ h_1^1 \\ g_1^0 \end{bmatrix} \quad \text{(在行星固定坐标系 } \mathcal P \text{ 中)} mP=g11h11g10(在行星固定坐标系 P 中)

  • g10g_1^0g10:沿自转轴(zzz 轴)的分量;
  • g11,h11g_1^1, h_1^1g11,h11:赤道面内(x,yx, yx,y 方向)的分量,体现偶极轴的倾斜。

对于地球(IGRF 2020):

mEarth=[−23185817−30926] nT=[−2.3185.817−30.926]×10−6 T \mathbf m_\text{Earth} = \begin{bmatrix} -2318 \\ 5817 \\ -30926 \end{bmatrix} \,\text{nT} = \begin{bmatrix} -2.318 \\ 5.817 \\ -30.926 \end{bmatrix} \times 10^{-6}\,\text{T} mEarth=2318581730926nT=2.3185.81730.926×106T

  • 负号g10<0g_1^0 < 0g10<0 表示磁偶极子的北极在地理南半球(实际上磁南极在地理北极附近,这是历史命名习惯);
  • 归一化:这些系数已经包含了 μ0/(4π)\mu_0/(4\pi)μ0/(4π) 和参考半径 RRR 的归一化,可以直接用于计算磁场。

0.4 磁偶极子场的空间分布特征

0.4.1 磁场线的形状

磁偶极子的磁场线具有标志性的"苹果形"或"葫芦形"分布:

        北极 (N)
          ↑
       ╱  |  ╲
      ╱   |   ╲     ← 磁场线环绕
     |    |    |
  ---+----+----+---  ← 赤道面
     |    |    |
      ╲   |   ╱
       ╲  |  ╱
          ↓
        南极 (S)
  • 极区:磁场线近乎垂直,从北极发散,向南极汇聚;
  • 赤道:磁场线近乎水平,环绕赤道;
  • 闭合性:所有磁场线都是闭合的(从北极出发,绕到南极,再通过偶极子内部回到北极)。
0.4.2 强度的 1/r31/r^31/r3 衰减规律

磁偶极子场的强度随距离 rrr 的变化为:

B(r)∝1r3 B(r) \propto \frac{1}{r^3} B(r)r31

这比单极子场(如点电荷产生的电场 E∝1/r2E \propto 1/r^2E1/r2)衰减更快。

物理原因

  • 单极子是"点源",场强随球面积(∝r2\propto r^2r2)稀释,故 ∝1/r2\propto 1/r^21/r2
  • 偶极子是"一对反向的点源",在远处它们的贡献相互抵消一部分,净场强多衰减一个 1/r1/r1/r 因子,故 ∝1/r3\propto 1/r^31/r3

实际意义

  • 在地球表面(r≈Rr \approx RrR)磁场约 30,000 nT30{,}000\,\text{nT}30,000nT
  • 在 LEO 轨道(r≈1.1Rr \approx 1.1Rr1.1R)已衰减到约 20,000 nT20{,}000\,\text{nT}20,000nT
  • 在 GEO 轨道(r≈6.6Rr \approx 6.6Rr6.6R)只剩约 100 nT100\,\text{nT}100nT
0.4.3 方向性特征

磁偶极子场的方向取决于观测点相对偶极轴的位置:

B=(Rr)3[3(r^⋅m)r^−m] \mathbf B = \left( \frac{R}{r} \right)^3 \left[ 3 (\hat{\mathbf r} \cdot \mathbf m) \hat{\mathbf r} - \mathbf m \right] B=(rR)3[3(r^m)r^m]

  1. 在偶极轴上r^∥m\hat{\mathbf r} \parallel \mathbf mr^m):

    • r^⋅m=∣m∣\hat{\mathbf r} \cdot \mathbf m = |\mathbf m|r^m=m
    • B=R3r3(3∣m∣r^−m)=R3r3⋅2∣m∣r^\mathbf B = \frac{R^3}{r^3} (3|\mathbf m| \hat{\mathbf r} - \mathbf m) = \frac{R^3}{r^3} \cdot 2|\mathbf m| \hat{\mathbf r}B=r3R3(3∣mr^m)=r3R32∣mr^
    • 磁场沿径向,指向外(北极)或内(南极),强度为偶极矩的 2 倍。
  2. 在赤道面上r^⊥m\hat{\mathbf r} \perp \mathbf mr^m):

    • r^⋅m=0\hat{\mathbf r} \cdot \mathbf m = 0r^m=0
    • B=−R3r3m\mathbf B = -\frac{R^3}{r^3} \mathbf mB=r3R3m
    • 磁场反向于偶极矩,沿纬向环绕,强度为偶极矩的 1 倍。
  3. 一般位置:磁场既有径向分量,也有切向分量,总体指向"从北极到南极"的磁场线方向。

磁倾角(inclination III):

tan⁡I=2tan⁡λ \tan I = 2 \tan \lambda tanI=2tanλ

其中 λ\lambdaλ 是地理纬度。这是偶极子场的经典关系式(对于倾斜偶极需修正)。

0.5 IGRF 一阶球谐系数与偶极子的对应

0.5.1 为什么一阶项对应偶极子

在球谐展开中:

V(r,θ,ϕ)=a∑n=1∞(ar)n+1∑m=0n(gnmcos⁡mϕ+hnmsin⁡mϕ)Pnm(cos⁡θ) V(r, \theta, \phi) = a \sum_{n=1}^{\infty} \left( \frac{a}{r} \right)^{n+1} \sum_{m=0}^{n} \bigl( g_n^m \cos m\phi + h_n^m \sin m\phi \bigr) P_n^m(\cos\theta) V(r,θ,ϕ)=an=1(ra)n+1m=0n(gnmcosmϕ+hnmsinmϕ)Pnm(cosθ)

  • n=1n=1n=1对应 偶极子(两极性);
  • n=2n=2n=2对应 四极子(四极性);
  • n=3n=3n=3对应 八极子,以此类推。

数学上

  • n=1n=1n=1 时,勒让德函数 P10(cos⁡θ)=cos⁡θP_1^0(\cos\theta) = \cos\thetaP10(cosθ)=cosθP11(cos⁡θ)=sin⁡θP_1^1(\cos\theta) = \sin\thetaP11(cosθ)=sinθ
  • 这恰好对应于偶极子势 ϕm∝(m⋅r)/r3\phi_m \propto (\mathbf m \cdot \mathbf r)/r^3ϕm(mr)/r3 在球坐标下的展开。

物理上

  • 偶极子是最简单的"有方向性"的磁源(比单极子高一级);
  • 地核发电机的球对称性自然产生以偶极为主的场结构。
0.5.2 为什么地球主磁场可以用一阶近似

能量占比

  • IGRF 完整模型展开到 n=13n=13n=13,但各阶能量贡献为:

    • n=1n=1n=1(偶极):~90%
    • n=2n=2n=2(四极):~5%
    • n=3n=3n=3(八极):~2%
    • n≥4n \geq 4n4:~3%
  • 因此,只用 g10,g11,h11g_1^0, g_1^1, h_1^1g10,g11,h11 三个系数,就能在全球尺度上重现约 90% 的地磁场特征。

适用范围

  • 大尺度、远场:航天器轨道(LEO/MEO/GEO)、全球磁场分布;
  • 粗略导航:罗经、磁强计定姿(精度要求不高时)。

不适用

  • 近地表局部磁异常(地壳磁化、矿藏);
  • 精密测量(地磁勘探、科学卫星);
  • 极区细节(磁极附近高阶项影响增大)。

0.6 磁偶极子近似的局限性

0.6.1 无法描述的地磁场特征
  1. 磁异常(magnetic anomalies):

    • 定义:局部磁场偏离偶极子预测的区域;
    • 成因:地壳中磁性矿物(如磁铁矿)、火山岩浆、断层构造;
    • 特征:空间尺度小(几十到几百公里),幅度可达数百 nT;
    • 例子:库尔斯克磁异常(俄罗斯)、南大西洋异常区(South Atlantic Anomaly, SAA)。
    • IGRF 处理:需要 n≥2n \geq 2n2 的高阶项,或用局部模型(如 EMM)。
  2. 高阶多极场(higher-order multipoles):

    • 四极子n=2n=2n=2):在极区和赤道之间的过渡带影响显著;
    • 八极子n=3n=3n=3)及以上:刻画更精细的空间结构;
    • 偶极近似误差:在地表可达 ±3000 nT\pm 3000\,\text{nT}±3000nT(约 10%)。
  3. 时间变化(secular variation):

    • 偶极子模型假设磁矩 m\mathbf mm 恒定,但实际上地核流动导致磁场每年变化几十 nT;
    • IGRF 提供 g˙nm,h˙nm\dot{g}_n^m, \dot{h}_n^mg˙nm,h˙nm(年变化率),但偶极近似无法捕捉这种复杂的时变。
  4. 非轴对称结构

    • 真实地磁场不完全轴对称(偶极轴倾斜只是一阶修正);
    • 经度方向的变化(如磁偏角的复杂分布)需要 m≠0m \neq 0m=0 的高阶项。
0.6.2 在 Basilisk 中的实际影响

适用场景MagneticFieldCenteredDipole 足够):

  • LEO 卫星姿态控制:磁力矩器(magnetorquer)定姿,只需知道磁场方向和量级,10% 误差可接受;
  • 初步任务设计:轨道仿真、功率预算、磁环境评估;
  • 非地球行星:水星、木星等,只有偶极子数据时。

需要完整模型场景(应使用 MagneticFieldWMM):

  • 精密磁测:磁强计校准、科学任务(如 Swarm 卫星);
  • 近地表应用:无人机导航、地磁勘探;
  • SAA 区域:辐射防护、电子设备可靠性分析。

Basilisk 的设计哲学

  • 提供两套工具
    • MagneticFieldCenteredDipole:简单、快速、适合多行星;
    • MagneticFieldWMM:高精度、地球专用、读取完整 WMM.COF 系数文件。
  • 用户根据任务需求选择。

0.7 本章小结

本章从物理基础出发,建立了对磁偶极子的全面理解:

  1. 概念:磁偶极子是两极磁源,与电偶极子类比,但磁场线闭合;
  2. 来源:地球磁场主要由地核发电机产生,以偶极子为主(~90% 能量);
  3. 数学:用磁矩矢量 m\mathbf mm 描述,在 IGRF 中对应 (g11,h11,g10)(g_1^1, h_1^1, g_1^0)(g11,h11,g10)
  4. 空间分布1/r31/r^31/r3 衰减,极区径向、赤道切向;
  5. IGRF 一阶近似:三个系数即可重现全球主磁场;
  6. 局限性:无法描述局部异常、高阶结构、时变细节。

在接下来的章节中,我们将基于这些物理图像,详细推导 Basilisk 中居中偶极子磁场模型的数学实现。


1. 坐标系与符号约定

1.1 坐标系

  • 行星惯性坐标系N\mathcal NN(在 Basilisk 中为 J2000 惯性系),向量下标 _N\_N_N
  • 行星自转固定坐标系P\mathcal PP(planet-fixed frame,在 Basilisk 中记为 P frame),向量下标 _P\_P_P
    • p^3\hat{\mathbf p}_3p^3:自转轴方向(类似地球的北极方向)
    • p^1\hat{\mathbf p}_1p^1:赤道面内,指向本初子午面
    • p^2\hat{\mathbf p}_2p^2:补成右手系

在 Basilisk 中,行星状态消息 [SpicePlanetStateMsgPayload](file:///d:/small_paper/basilisk/src/architecture/msgPayloadDefC/SpicePlanetStateMsgPayload.h) 含有方向余弦矩阵
CP/N=planetState.J20002Pfix C_{P/N} = \texttt{planetState.J20002Pfix} CP/N=planetState.J20002Pfix
它将向量从 N\mathcal NN 变换到 P\mathcal PP
rB/P,P=CP/N rB/P,N \mathbf r_{B/P,P} = C_{P/N} \, \mathbf r_{B/P,N} rB/P,P=CP/NrB/P,N

1.2 位置向量与半径

  • rB/N,N\mathbf r_{B/N,N}rB/N,N:航天器相对于行星质心在惯性系中的位置。
  • rP/N,N\mathbf r_{P/N,N}rP/N,N:行星质心在惯性系中的位置(通常为零向量,若原点在行星中心)。
  • 相对位置向量
    rB/P,N=rB/N,N−rP/N,N \mathbf r_{B/P,N} = \mathbf r_{B/N,N} - \mathbf r_{P/N,N} rB/P,N=rB/N,NrP/N,N
  • 在 Basilisk 基类 [MagneticFieldBase](file:///d:/small_paper/basilisk/src/simulation/environment/_GeneralModuleFiles/magneticFieldBase.cpp) 中:
    • 通过 updateRelativePos 计算
      rB/P,N→rB/P,P=CP/N rB/P,N \mathbf r_{B/P,N} \to \mathbf r_{B/P,P} = C_{P/N} \, \mathbf r_{B/P,N} rB/P,NrB/P,P=CP/NrB/P,N
    • 轨道半径(标量)
      r=∥rB/P∥ r = \lVert \mathbf r_{B/P} \rVert r=rB/P
      在代码中记录为 this->orbitRadius

1.3 IGRF 一阶高斯系数

在 IGRF 模型中,内源磁场的标量势在球坐标 (r,θ,ϕ)(r, \theta, \phi)(r,θ,ϕ) 下可写为
V(r,θ,ϕ)=a∑n=1N(ar)n+1∑m=0n(gnmcos⁡mϕ+hnmsin⁡mϕ)Pnm(cos⁡θ) V(r, \theta, \phi) = a \sum_{n=1}^{N} \left( \frac{a}{r} \right)^{n+1} \sum_{m=0}^{n} \bigl( g_n^m \cos m\phi + h_n^m \sin m\phi \bigr) P_n^m(\cos\theta) V(r,θ,ϕ)=an=1N(ra)n+1m=0n(gnmcosmϕ+hnmsinmϕ)Pnm(cosθ)
其中:

  • aaa:参考半径(地球通常取 a≈6371.2 kma \approx 6371.2\,\text{km}a6371.2km),在 Basilisk 中为 planetRadius
  • PnmP_n^mPnm:缔合勒让德函数。
  • gnm,hnmg_n^m, h_n^mgnm,hnm:高斯球谐系数,单位 nT。

当只保留 一阶项(n = 1) 时:
V1(r,θ,ϕ)=a(ar)2[g10cos⁡θ+g11sin⁡θcos⁡ϕ+h11sin⁡θsin⁡ϕ] V_1(r, \theta, \phi) = a \left( \frac{a}{r} \right)^2 \left[ g_1^0 \cos\theta + g_1^1 \sin\theta\cos\phi + h_1^1 \sin\theta\sin\phi \right] V1(r,θ,ϕ)=a(ra)2[g10cosθ+g11sinθcosϕ+h11sinθsinϕ]
这对应一个居中磁偶极子,其偶极矩与 g10,g11,h11g_1^0, g_1^1, h_1^1g10,g11,h11 线性相关。

在 Basilisk 中,这三个系数(已从 nT 转为 T)存储在 MagneticFieldCenteredDipole 内:

// magneticFieldCenteredDipole.h
// IGRF 一阶系数,单位 [T]
double g10; //!< IGRF coefficient g_1^0
double g11; //!< IGRF coefficient g_1^1
double h11; //!< IGRF coefficient h_1^1

对于地球,这些系数在 Python 辅助函数
[simSetPlanetEnvironment.centeredDipoleMagField](file:///d:/small_paper/basilisk/src/utilities/simSetPlanetEnvironment.py#L54-L60) 中设置:

# 2020 IGRF 模型参数(单位从 nT 转成 T)
magFieldModule.g10 = -30926.00/1e9  # T
magFieldModule.g11 =  -2318.00/1e9  # T
magFieldModule.h11 =   5817.00/1e9  # T
magFieldModule.planetRadius = 6371.2*1000  # m

2. 从 IGRF 系数到偶极矩向量

2.1 一阶 IGRF 与偶极子标量势

对一阶项 n=1n=1n=1,标量势为
V1(r,θ,ϕ)=a31r2[g10cos⁡θ+g11sin⁡θcos⁡ϕ+h11sin⁡θsin⁡ϕ] V_1(r, \theta, \phi) = a^3 \frac{1}{r^2} \left[ g_1^0 \cos\theta + g_1^1 \sin\theta\cos\phi + h_1^1 \sin\theta\sin\phi \right] V1(r,θ,ϕ)=a3r21[g10cosθ+g11sinθcosϕ+h11sinθsinϕ]

另一方面,理想磁偶极子在球坐标下的标量势可写为(以参考半径 aaa 归一化)
Vdip(r,θ,ϕ)=(ar)2M(cos⁡αcos⁡θ+sin⁡αsin⁡θcos⁡(ϕ−ϕm)) V_\text{dip}(r, \theta, \phi) = \left( \frac{a}{r} \right)^2 M \bigl( \cos\alpha \cos\theta + \sin\alpha \sin\theta\cos(\phi-\phi_m) \bigr) Vdip(r,θ,ϕ)=(ra)2M(cosαcosθ+sinαsinθcos(ϕϕm))
其中:

  • MMM:偶极矩大小(常数);
  • α\alphaα:偶极倾角;
  • ϕm\phi_mϕm:偶极在赤道面上的经度。

将两者对比,可以构造一个在行星固连坐标系 P\mathcal PP 中的等效偶极矩向量 m_P\mathbf m\_Pm_P
mP=[mxmymz]∝[g11h11g10] \mathbf m_P = \begin{bmatrix} m_x \\ m_y \\ m_z \end{bmatrix} \propto \begin{bmatrix} g_1^1 \\ h_1^1 \\ g_1^0 \end{bmatrix} mP=mxmymzg11h11g10
差别只在于一个常数因子(单位和参考半径的处理)。Basilisk 将这些系数直接作为“偶极矩分量”的物理量使用,因此在代码中有:

// magneticFieldCenteredDipole.cpp
Eigen::Vector3d dipoleCoefficients; // first 3 IGRF coefficients
dipoleCoefficients << this->g11, this->h11, this->g10;

因此,在 Basilisk 中可以直接认为:
mP=[g11h11g10](单位 T) \mathbf m_P = \begin{bmatrix} g_1^1 \\ h_1^1 \\ g_1^0 \end{bmatrix} \quad\text{(单位 T)} mP=g11h11g10(单位 T)
这里每个分量已经包含了“μ0/4π\mu_0/4\piμ0/4π”等物理常数以及从 nT 到 T 的单位转换。

3. 理想磁偶极子的磁场公式

3.1 磁偶极子场的矢量形式

在经典电磁学中,一个位于原点的磁偶极子 m\mathbf mm 所产生的磁感应强度(忽略环境介质)可写为:
B(r)=μ04π1r3(3(m⋅r^)r^−m) \mathbf B(\mathbf r) = \frac{\mu_0}{4 \pi} \frac{1}{r^3} \bigl(3(\mathbf m \cdot \hat{\mathbf r})\hat{\mathbf r} - \mathbf m\bigr) B(r)=4πμ0r31(3(mr^)r^m)
其中:

  • r\mathbf rr:场点位置;r=∥r∥r = \lVert \mathbf r\rVertr=r
  • r^=r/r\hat{\mathbf r} = \mathbf r / rr^=r/r:径向单位向量;
  • m\mathbf mm:偶极矩向量。

IGRF/WMM 模型中,球谐系数已经在参考半径 aaa 处定义了磁标势,因此我们可以将常数和 μ0/4π\mu_0/4\piμ0/4π 吸收进 m\mathbf mm 的定义,得到更工程化的形式:
B(r)=(ar)3(3(r^⋅m)r^−m) \mathbf B(\mathbf r) = \left( \frac{a}{r} \right)^3 \bigl(3(\hat{\mathbf r} \cdot \mathbf m)\hat{\mathbf r} - \mathbf m\bigr) B(r)=(ra)3(3(r^m)r^m)
其中 m\mathbf mm 直接用 IGRF 系数构造(单位 T)。

3.2 Basilisk 采用的形式

Basilisk 里 [MagneticFieldCenteredDipole::evaluateMagneticFieldModel](file:///d:/small_paper/basilisk/src/simulation/environment/magneticFieldCenteredDipole/magneticFieldCenteredDipole.cpp) 的关键代码如下:

Eigen::Vector3d magField_P;         // [T] magnetic field in planet-fixed frame
Eigen::Vector3d rHat_P;             // [] normalized position vector in P frame
Eigen::Vector3d dipoleCoefficients; // [] first 3 IGRF coefficients

rHat_P = this->r_BP_P.normalized();

dipoleCoefficients << this->g11, this->h11, this->g10;
magField_P = pow(this->planetRadius/this->orbitRadius, 3)
             * (3 * rHat_P * rHat_P.dot(dipoleCoefficients)
                - dipoleCoefficients);

翻译成数学表达:

  1. P\mathcal PP 系下航天器位置单位向量:
    r^P=rB/P,Pr,r=∥rB/P∥ \hat{\mathbf r}_P = \frac{\mathbf r_{B/P,P}}{r}, \quad r = \lVert\mathbf r_{B/P}\rVert r^P=rrB/P,P,r=rB/P
  2. 偶极矩向量:
    mP=[g11h11g10] \mathbf m_P = \begin{bmatrix} g_1^1 \\ h_1^1 \\ g_1^0 \end{bmatrix} mP=g11h11g10
  3. 参考半径 R=planetRadiusR = \texttt{planetRadius}R=planetRadius:地球为 R=6371.2 kmR = 6371.2\,\text{km}R=6371.2km 对应的米值。
  4. 磁场(在行星固定系 P\mathcal PP 分量)为:
    BP(rB/P)=(Rr)3[3(r^P⋅mP)r^P−mP] \boxed{\mathbf B_P(\mathbf r_{B/P}) = \left( \frac{R}{r} \right)^3 \Bigl[3\bigl(\hat{\mathbf r}_P \cdot \mathbf m_P\bigr)\hat{\mathbf r}_P - \mathbf m_P\Bigr]} BP(rB/P)=(rR)3[3(r^PmP)r^PmP]

��以看出这正是理想磁偶极子公式,只是将常数合并进了 mP\mathbf m_PmP,并使用 IGRF 提供的一阶系数来构造该偶极矩。

3.3 磁偶极子公式的详细数学推导

下面从电磁学基本原理出发,详细推导上述公式。

3.3.1 磁偶极子的磁标势

在静磁学中,当磁场源远离观测点时,可以用磁标势 ϕm\phi_mϕm 描述磁场(类比于静电学的电势)。对于一个位于原点、磁矩为 m\mathbf mm 的点磁偶极子,其在空间任意点 r\mathbf rr 处产生的磁标势为:

ϕm(r)=μ04πm⋅rr3 \phi_m(\mathbf r) = \frac{\mu_0}{4\pi} \frac{\mathbf m \cdot \mathbf r}{r^3} ϕm(r)=4πμ0r3mr

物理意义

  • 磁标势 ϕm\phi_mϕm 类似于电势,表示磁场的势能密度。
  • m⋅r=mrcos⁡θ\mathbf m \cdot \mathbf r = m r \cos\thetamr=mrcosθ(其中 θ\thetaθm\mathbf mmr\mathbf rr 的夹角),体现了磁偶极子的方向性:沿着磁矩方向势最大,垂直方向势为零。
  • 1/r31/r^31/r3 的衰减反映了偶极场比单极场(1/r21/r^21/r2)衰减更快。

为了与 IGRF/WMM 的工程表达一致,我们引入参考半径 RRR(行星半径),并将常数 μ0/(4π)\mu_0/(4\pi)μ0/(4π) 吸收进偶极矩 m\mathbf mm 的定义中,得到归一化形式:

ϕm(r)=R3r2m⋅rr \boxed{\phi_m(\mathbf r) = \frac{R^3}{r^2} \frac{\mathbf m \cdot \mathbf r}{r}} ϕm(r)=r2R3rmr

改写为:

ϕm(r)=R3m⋅rr3 \phi_m(\mathbf r) = R^3 \frac{\mathbf m \cdot \mathbf r}{r^3} ϕm(r)=R3r3mr

其中 m\mathbf mm 现在包含了所有物理常数,单位为 Tesla(在 Basilisk 中直接用 IGRF 系数构造)。

3.3.2 从磁标势到磁场:梯度运算

磁场强度 B\mathbf BB 是磁标势的负梯度:

B(r)=−∇ϕm(r) \mathbf B(\mathbf r) = -\nabla \phi_m(\mathbf r) B(r)=ϕm(r)

代入上面的势函数:

B=−∇(R3m⋅rr3) \mathbf B = -\nabla \left( R^3 \frac{\mathbf m \cdot \mathbf r}{r^3} \right) B=(R3r3mr)

提取常数 R3R^3R3

B=−R3∇(m⋅rr3) \mathbf B = -R^3 \nabla \left( \frac{\mathbf m \cdot \mathbf r}{r^3} \right) B=R3(r3mr)

3.3.3 计算梯度:分步推导

m\mathbf mm 是常向量(在行星固定系中固定),r\mathbf rr 是位置向量。我们需要计算:

∇(m⋅rr3) \nabla \left( \frac{\mathbf m \cdot \mathbf r}{r^3} \right) (r3mr)

使用乘积法则,设 u=m⋅ru = \mathbf m \cdot \mathbf ru=mrv=1/r3v = 1/r^3v=1/r3

∇(uv)=u∇v+v∇u \nabla(uv) = u \nabla v + v \nabla u (uv)=uv+vu

第一项∇(m⋅r)\nabla(\mathbf m \cdot \mathbf r)(mr)

因为 m\mathbf mm 是常向量:

∇(m⋅r)=m \nabla(\mathbf m \cdot \mathbf r) = \mathbf m (mr)=m

(这是因为 m⋅r=mxx+myy+mzz\mathbf m \cdot \mathbf r = m_x x + m_y y + m_z zmr=mxx+myy+mzz,对 r\mathbf rr 求梯度得 m\mathbf mm

第二项∇(1/r3)\nabla(1/r^3)(1/r3)

利用链式法则,r=∣r∣=x2+y2+z2r = |\mathbf r| = \sqrt{x^2 + y^2 + z^2}r=r=x2+y2+z2

∂r∂x=xr,∇r=rr=r^ \frac{\partial r}{\partial x} = \frac{x}{r}, \quad \nabla r = \frac{\mathbf r}{r} = \hat{\mathbf r} xr=rx,r=rr=r^

因此:

∇(r−3)=−3r−4∇r=−3r−4r^=−3r^r4 \nabla(r^{-3}) = -3 r^{-4} \nabla r = -3 r^{-4} \hat{\mathbf r} = -\frac{3 \hat{\mathbf r}}{r^4} (r3)=3r4r=3r4r^=r43r^

合并两项

∇(m⋅rr3)=(m⋅r)∇(r−3)+r−3∇(m⋅r) \nabla \left( \frac{\mathbf m \cdot \mathbf r}{r^3} \right) = (\mathbf m \cdot \mathbf r) \nabla(r^{-3}) + r^{-3} \nabla(\mathbf m \cdot \mathbf r) (r3mr)=(mr)(r3)+r3(mr)

=(m⋅r)(−3r^r4)+1r3m = (\mathbf m \cdot \mathbf r) \left( -\frac{3 \hat{\mathbf r}}{r^4} \right) + \frac{1}{r^3} \mathbf m =(mr)(r43r^)+r31m

=−3(m⋅r)r^r4+mr3 = -\frac{3 (\mathbf m \cdot \mathbf r) \hat{\mathbf r}}{r^4} + \frac{\mathbf m}{r^3} =r43(mr)r^+r3m

3.3.4 代回磁场表达式

B=−R3[−3(m⋅r)r^r4+mr3] \mathbf B = -R^3 \left[ -\frac{3 (\mathbf m \cdot \mathbf r) \hat{\mathbf r}}{r^4} + \frac{\mathbf m}{r^3} \right] B=R3[r43(mr)r^+r3m]

=R3[3(m⋅r)r^r4−mr3] = R^3 \left[ \frac{3 (\mathbf m \cdot \mathbf r) \hat{\mathbf r}}{r^4} - \frac{\mathbf m}{r^3} \right] =R3[r43(mr)r^r3m]

提取公因子 1/r31/r^31/r3

B=R3r3[3m⋅rrr^−m] \mathbf B = \frac{R^3}{r^3} \left[ 3 \frac{\mathbf m \cdot \mathbf r}{r} \hat{\mathbf r} - \mathbf m \right] B=r3R3[3rmrr^m]

注意到 r=rr^\mathbf r = r \hat{\mathbf r}r=rr^,所以:

m⋅r=m⋅(rr^)=r(m⋅r^) \mathbf m \cdot \mathbf r = \mathbf m \cdot (r \hat{\mathbf r}) = r (\mathbf m \cdot \hat{\mathbf r}) mr=m(rr^)=r(mr^)

代入:

B=R3r3[3r(m⋅r^)rr^−m] \mathbf B = \frac{R^3}{r^3} \left[ 3 \frac{r (\mathbf m \cdot \hat{\mathbf r})}{r} \hat{\mathbf r} - \mathbf m \right] B=r3R3[3rr(mr^)r^m]

=R3r3[3(m⋅r^)r^−m] = \frac{R^3}{r^3} \left[ 3 (\mathbf m \cdot \hat{\mathbf r}) \hat{\mathbf r} - \mathbf m \right] =r3R3[3(mr^)r^m]

即:

B(r)=(Rr)3[3(r^⋅m)r^−m] \boxed{\mathbf B(\mathbf r) = \left( \frac{R}{r} \right)^3 \left[ 3 (\hat{\mathbf r} \cdot \mathbf m) \hat{\mathbf r} - \mathbf m \right]} B(r)=(rR)3[3(r^m)r^m]

这正是 Basilisk 代码中使用的公式!在行星固定系 P\mathcal PP 中记为:

BP(rB/P)=(Rr)3[3(r^P⋅mP)r^P−mP] \mathbf B_P(\mathbf r_{B/P}) = \left( \frac{R}{r} \right)^3 \left[ 3 (\hat{\mathbf r}_P \cdot \mathbf m_P) \hat{\mathbf r}_P - \mathbf m_P \right] BP(rB/P)=(rR)3[3(r^PmP)r^PmP]

3.3.5 公式各项的物理含义

将公式拆解为两部分:

B=(Rr)3[3(r^⋅m)r^⏟径向分量−m⏟偶极矩方向] \mathbf B = \left( \frac{R}{r} \right)^3 \Bigl[ \underbrace{3 (\hat{\mathbf r} \cdot \mathbf m) \hat{\mathbf r}}_{\text{径向分量}} - \underbrace{\mathbf m}_{\text{偶极矩方向}} \Bigr] B=(rR)3[径向分量3(r^m)r^偶极矩方向m]

  1. 衰减因子 (R/r)3(R/r)^3(R/r)3

    • 磁偶极子场以 1/r31/r^31/r3 速度衰减(比库仑场的 1/r21/r^21/r2 快)。
    • RRR 是参考半径,用于归一化,使得在 r=Rr=Rr=R 处系数为 1。
  2. 径向增强项 3(r^⋅m)r^3 (\hat{\mathbf r} \cdot \mathbf m) \hat{\mathbf r}3(r^m)r^

    • (r^⋅m)(\hat{\mathbf r} \cdot \mathbf m)(r^m) 是偶极矩在径向方向的投影,表征"沿着观测方向的偶极强度"。
    • 乘以 3r^3 \hat{\mathbf r}3r^ 表示沿径向的磁场分量被放大 3 倍
    • 物理上:在偶极轴线上(r^∥m\hat{\mathbf r} \parallel \mathbf mr^m),磁场沿轴向最强。
  3. 偶极矩抵消项 −m-\mathbf mm

    • 减去偶极矩本身,使得在垂直于偶极轴的赤道面上,径向分量为零,磁场沿切向。
    • r^⊥m\hat{\mathbf r} \perp \mathbf mr^m 时,(r^⋅m)=0(\hat{\mathbf r} \cdot \mathbf m)=0(r^m)=0B=−(R/r)3m\mathbf B = -(R/r)^3 \mathbf mB=(R/r)3m,即磁场反向于偶极矩,指向南极。
  4. 合成效果

    • 极区r^∥m\hat{\mathbf r} \parallel \mathbf mr^m):B≈(R/r)3⋅2m\mathbf B \approx (R/r)^3 \cdot 2 \mathbf mB(R/r)32m,指向外(北极)或内(南极)。
    • 赤道r^⊥m\hat{\mathbf r} \perp \mathbf mr^m):B≈−(R/r)3m\mathbf B \approx -(R/r)^3 \mathbf mB(R/r)3m,沿纬向环绕。
3.3.6 与 Basilisk 代码的对应

回顾代码:

rHat_P = this->r_BP_P.normalized();  // 单位径向向量
dipoleCoefficients << this->g11, this->h11, this->g10;  // 偶极矩
magField_P = pow(this->planetRadius/this->orbitRadius, 3)
             * (3 * rHat_P * rHat_P.dot(dipoleCoefficients)
                - dipoleCoefficients);

逐项对应:

  • pow(planetRadius/orbitRadius, 3)(R/r)3(R/r)^3(R/r)3
  • rHat_P.dot(dipoleCoefficients)r^P⋅mP\hat{\mathbf r}_P \cdot \mathbf m_Pr^PmP
  • 3 * rHat_P * (...)3(r^P⋅mP)r^P3 (\hat{\mathbf r}_P \cdot \mathbf m_P) \hat{\mathbf r}_P3(r^PmP)r^P
  • - dipoleCoefficients−mP-\mathbf m_PmP

完全一致!

3.3.7 小结

从电磁学基本原理出发,我们推导了居中磁偶极子的磁场公式:

B(r)=(Rr)3[3(r^⋅m)r^−m] \mathbf B(\mathbf r) = \left( \frac{R}{r} \right)^3 \left[ 3 (\hat{\mathbf r} \cdot \mathbf m) \hat{\mathbf r} - \mathbf m \right] B(r)=(rR)3[3(r^m)r^m]

关键步骤

  1. 写出磁标势 ϕm=R3(m⋅r)/r3\phi_m = R^3 (\mathbf m \cdot \mathbf r)/r^3ϕm=R3(mr)/r3
  2. 通过 B=−∇ϕm\mathbf B = -\nabla \phi_mB=ϕm 计算磁场。
  3. 利用乘积法则和链式法则展开梯度。
  4. 化简得到最终公式。

物理图像

  • 磁场由"径向增强"和"偶极抵消"两部分组成。
  • 极区磁场指向外/内,赤道磁场沿纬向,典型的偶极场结构。
  • Basilisk 通过 IGRF 一阶系数 (g11,h11,g10)(g_1^1, h_1^1, g_1^0)(g11,h11,g10) 构造 mP\mathbf m_PmP,实现了地球磁场的偶极近似。

4. 坐标系变换:从行星固定系到惯性系

Basilisk 中各种环境模块输出的磁场都采用惯性系 N\mathcal NN(或仿真统一 N 系)的分量。对于居中偶极子模型,转换步骤如下:

  1. 已有 P\mathcal PP 系磁场 BP\mathbf B_PBP,如上公式所示。
  2. 惯性系与行星固定系的方向余弦矩阵为 CP/NC_{P/N}CP/N,满足
    vP=CP/N vN \mathbf v_P = C_{P/N} \, \mathbf v_N vP=CP/NvN
  3. 反向变换为
    vN=CN/P vP=CP/NT vP \mathbf v_N = C_{N/P} \, \mathbf v_P = C_{P/N}^T \, \mathbf v_P vN=CN/PvP=CP/NTvP

在代码中对应于:

// 将磁场从 P 系转换到 N 系,并写入消息
m33tMultV3(this->planetState.J20002Pfix, magField_P.data(), msg->magField_N);

m33tMultV3(A, x, y) 计算的是 y=ATxy = A^T xy=ATx,因此上述调用实现了:
BN=CP/NT BP \mathbf B_N = C_{P/N}^T \, \mathbf B_P BN=CP/NTBP

最终,磁场消息 MagneticFieldMsgPayload 中的 magField_N 即为惯性系下的磁场分量。

5. 从 IGRF 系数到磁场矢量的完整流程总结

综上,Basilisk 中居中偶极子磁场模型采用 IGRF 一阶系数的完整数学关系可按以下步骤梳理:

  1. 读取 IGRF 一阶系数与行星半径

    • 以地球为例:
      g10,g11,h11 (单位 T),R=Rplanet g_1^0, g_1^1, h_1^1 ~\text{(单位 T)},\quad R = R_\text{planet} g10,g11,h11 (单位 T),R=Rplanet
    • Python 中从 nT 转为 T,并设置 magFieldModule.g10/g11/h11 以及 planetRadius
  2. 构造偶极矩向量(行星固定系)

    mP=[g11h11g10] \mathbf m_P = \begin{bmatrix} g_1^1 \\ h_1^1 \\ g_1^0 \end{bmatrix} mP=g11h11g10

  3. 计算航天器相对行星的位置与单位径向向量

    • 惯性系相对位置:
      rB/P,N=rB/N,N−rP/N,N \mathbf r_{B/P,N} = \mathbf r_{B/N,N} - \mathbf r_{P/N,N} rB/P,N=rB/N,NrP/N,N
    • 变换到行星固定系:
      rB/P,P=CP/N rB/P,N \mathbf r_{B/P,P} = C_{P/N} \, \mathbf r_{B/P,N} rB/P,P=CP/NrB/P,N
    • 计算半径与单位向量:
      r=∥rB/P∥,r^P=rB/P,Pr r = \lVert \mathbf r_{B/P} \rVert,\quad \hat{\mathbf r}_P = \frac{\mathbf r_{B/P,P}}{r} r=rB/P,r^P=rrB/P,P
  4. 居中偶极子磁场(行星固定系)

    BP(rB/P)=(Rr)3[3(r^P⋅mP)r^P−mP] \mathbf B_P(\mathbf r_{B/P}) = \left( \frac{R}{r} \right)^3 \Bigl[3\bigl(\hat{\mathbf r}_P \cdot \mathbf m_P\bigr)\hat{\mathbf r}_P - \mathbf m_P\Bigr] BP(rB/P)=(rR)3[3(r^PmP)r^PmP]

  5. 坐标变换到惯性系

    BN=CP/NT BP \mathbf B_N = C_{P/N}^T \, \mathbf B_P BN=CP/NTBP

  6. 磁场强度与方向

    • 磁场强度(标量):
      ∥B∥=Bx2+By2+Bz2 \lVert \mathbf B \rVert = \sqrt{B_x^2 + B_y^2 + B_z^2} B=Bx2+By2+Bz2
    • 磁场方向单位向量:
      B^=B∥B∥ \hat{\mathbf B} = \frac{\mathbf B}{\lVert \mathbf B \rVert} B^=BB

其中 B\mathbf BB 可以取 BP\mathbf B_PBP(行星固定系)或 BN\mathbf B_NBN(惯性系),视具体使用需求而定。

6. 与 IGRF/WMM 完整模型的关系

  • IGRF 与 WMM 完整模型都包含高阶 n>1n>1n>1 的球谐系数,会提供更精细的空间结构。
  • Basilisk 中的 MagneticFieldCenteredDipole 只使用 IGRF 的一阶项,构造一个居中偶极子模型:
    • 优点:实现简单、适合多行星(只需提供等效偶极的强度和方向)。
    • 缺点:忽略高阶项导致精度有限,无法描述局地磁异常等。
  • 若需要高精度地球磁场,Basilisk 提供了基于 WMM 系数文件 WMM.COFMagneticFieldWMM 模块,可以视为“完整球谐版”,而 MagneticFieldCenteredDipole 则是“IGRF 一阶近似版”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值