compute_magnetic_igrf8#

namespace saltro
namespace orbits

Functions

bool compute_magnetic_igrf8(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-8 model.

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

For each trajectory sample (k):

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

where \(\mathbf{R}_k\) is the spacecraft position and \(t_k\) is the Julian time. The model accounts for the temporal evolution of Earth’s magnetic field according to IGRF-8 coefficients.

Parameters:
  • R – Position vectors of the trajectory (meters). Each column is a sample position.

  • jtime – Julian time values for each trajectory sample.

  • jtime_length – Number of valid samples in the trajectory.

  • B – Output magnetic field vectors (Tesla).

Returns:

True if computation completes successfully, false otherwise.