compute_magnetic_igrf13#

namespace saltro
namespace orbits

Functions

bool compute_magnetic_igrf13(const Eigen::Matrix<double, 3, saltro::limits::MAX_LENGTH_TRAJ> &R, const Eigen::Matrix<double, 1, saltro::limits::MAX_LENGTH_TRAJ> &jtime, const int jtime_length, Eigen::Matrix<double, 3, saltro::limits::MAX_LENGTH_TRAJ> &B)#

Compute geomagnetic field using the IGRF-13 model.

Evaluates the Earth magnetic field along a trajectory using the International Geomagnetic Reference Field (IGRF-13) spherical harmonic model.

For each trajectory sample (k):

\[ \mathbf{B}_k = \mathbf{B}_{\text{IGRF13}}\!\left(\mathbf{R}_k, t_k\right) \]

where:

  • \(\mathbf{R}_k\) is the position vector,

  • \(t_k\) is the Julian time.

The IGRF-13 model includes updated Gauss coefficients and secular variation terms to represent the geomagnetic field evolution.

Parameters:
  • R – Position vectors of the trajectory (meters). Columns correspond to time samples.

  • jtime – Julian time values associated with each sample.

  • jtime_length – Number of valid trajectory samples.

  • B – Output magnetic field vectors (Tesla).

Returns:

True if the computation succeeds, false otherwise.