Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
MagneticField.hpp File Reference
#include <janus/janus.hpp>
#include <vulcan/core/Constants.hpp>
#include <vulcan/core/VulcanTypes.hpp>
Include dependency graph for MagneticField.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  vulcan
namespace  vulcan::environment
namespace  vulcan::environment::magnetic
namespace  vulcan::environment::magnetic::constants

Functions

template<typename Scalar>
Vec3< Scalar > vulcan::environment::magnetic::dipole_field_ecef (const Vec3< Scalar > &r_ecef, double B0=constants::B0, double R=vulcan::constants::earth::R_eq)
 Centered dipole magnetic field in ECEF.
template<typename Scalar>
Scalar vulcan::environment::magnetic::field_magnitude (const Vec3< Scalar > &r_ecef, double B0=constants::B0, double R=vulcan::constants::earth::R_eq)
 Magnetic field magnitude at given position.
template<typename Scalar>
Vec3< Scalar > vulcan::environment::magnetic::field_ned (const Scalar &lat, const Scalar &lon, const Scalar &alt, double B0=constants::B0, double R=vulcan::constants::earth::R_eq)
 Magnetic field in local NED frame at geodetic coordinates.
template<typename Scalar>
Scalar vulcan::environment::magnetic::surface_intensity (const Scalar &lat, double B0=constants::B0)
 Total field intensity at surface for given latitude.
template<typename Scalar>
Scalar vulcan::environment::magnetic::inclination (const Scalar &lat)
 Magnetic inclination (dip angle) at given latitude.

Variables

constexpr double vulcan::environment::magnetic::constants::B0 = 3.12e-5
 Reference magnetic field at equator surface [T] (~31.2 μT).
constexpr double vulcan::environment::magnetic::constants::dipole_tilt = 11.5 * vulcan::constants::angle::deg2rad
 Magnetic dipole tilt angle from rotation axis [rad] (~11.5°).
constexpr double vulcan::environment::magnetic::constants::pole_longitude
 Magnetic pole longitude (West is negative) [rad].