|
Vulcan
Aerospace Engineering Utilities Built on Janus
|
Namespaces | |
| namespace | constants |
Functions | |
| template<typename Scalar> | |
| Vec3< Scalar > | 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 | 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 > | 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 | surface_intensity (const Scalar &lat, double B0=constants::B0) |
| Total field intensity at surface for given latitude. | |
| template<typename Scalar> | |
| Scalar | inclination (const Scalar &lat) |
| Magnetic inclination (dip angle) at given latitude. | |
| 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.
Simplified model with dipole aligned with Earth's rotation axis. For geomagnetic navigation, use the tilted dipole or IGRF models.
Field follows: B = (B0 * R³/r³) * [3(m̂·r̂)r̂ - m̂] where m̂ is the dipole direction (Z-axis for centered dipole)
| Scalar | double or casadi::MX |
| r_ecef | Position in ECEF [m] |
| B0 | Reference field at equator surface [T] |
| R | Reference radius [m] |
| 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.
| r_ecef | Position in ECEF [m] |
| 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.
Uses spherical approximation for simplicity.
| lat | Geodetic latitude [rad] |
| lon | Geodetic longitude [rad] (unused for centered dipole) |
| alt | Altitude above ellipsoid [m] |
| Scalar vulcan::environment::magnetic::inclination | ( | const Scalar & | lat | ) |
Magnetic inclination (dip angle) at given latitude.
For a centered dipole: tan(I) = 2 * tan(lat)
| lat | Latitude [rad] |
| Scalar vulcan::environment::magnetic::surface_intensity | ( | const Scalar & | lat, |
| double | B0 = constants::B0 ) |
Total field intensity at surface for given latitude.
|B| = B0 * sqrt(1 + 3sin²(lat))
| lat | Geodetic/geocentric latitude [rad] |