harmonica.OblateEllipsoid#

class harmonica.OblateEllipsoid(a, b, yaw, pitch, center, *, density=None, susceptibility=None, remanent_mag=None)[source]#

Oblate ellipsoid with arbitrary orientation.

Define a prolate ellipsoid whose semi-axes lengths are a < b = c.

Parameters:
a, bfloat

Semi-axis lengths of the ellipsoid. Must satisfy the condition: a < b = c.

yawfloat

Rotation angle about the upward axis, in degrees.

pitchfloat

Rotation angle about the northing axis (after yaw rotation), in degrees. A positive pitch angle lifts the side of the ellipsoid pointing in easting direction.

centertuple of float

Coordinates of the center of the ellipsoid in the following order: easting, northing, upward.

densityfloat or None, optional

Density of the ellipsoid in \(kg/m^3\).

susceptibilityfloat or None, optional

Magnetic susceptibility of the ellipsoid in SI units. A single float represents isotropic susceptibility in the body. A (3, 3) array represents the susceptibility tensor to account for anisotropy. If None, zero susceptibility will be assigned to the ellipsoid.

remanent_mag(3,) array or None, optional

Remanent magnetization vector of the ellipsoid in A/m units. Its components are defined in the easting-northing-upward coordinate system and should be passed in that order. If None, no remanent magnetization will be assigned to the ellipsoid.

Notes

The three semi-axes a, b, and c are defined parallel to the easting, northing and upward directions, respectively, before applying any rotation.

Rotations directed by yaw are applied using the right-hand rule across the upward axis. Pitch rotations are carried out in the opposite direction, so a positive pitch lifts the side of the ellipsoid pointing in the easting direction.

Roll rotations are not enabled in the prolate ellipsoid, since they don’t have any effect due to symmetry. Hence, roll is always equal to zero for the harmonica.OblateEllipsoid.

Attributes:
a

Length of the first semiaxis.

b

Length of the second semiaxis.

c

Length of the third semiaxis, equal to b by definition.

density

Density of the ellipsoid in \(kg/m^3\).

remanent_mag

Remanent magnetization of the ellipsoid in A/m.

roll

Roll angle, equal to zero.

rotation_matrix

Create a rotation matrix for the ellipsoid.

susceptibility

Magnetic susceptibility of the ellipsoid in SI units.

Attributes#

OblateEllipsoid.a#

Length of the first semiaxis.

OblateEllipsoid.b#

Length of the second semiaxis.

OblateEllipsoid.c#

Length of the third semiaxis, equal to b by definition.

OblateEllipsoid.density#

Density of the ellipsoid in \(kg/m^3\).

OblateEllipsoid.remanent_mag#

Remanent magnetization of the ellipsoid in A/m.

OblateEllipsoid.roll#

Roll angle, equal to zero.

OblateEllipsoid.rotation_matrix#

Create a rotation matrix for the ellipsoid.

Use this matrix to rotate from the local coordinate system (centered in the ellipsoid center) in to the global coordinate system (easting, northing, upward).

Returns:
rotation_matrix(3, 3) array

Rotation matrix that transforms coordinates from the local ellipsoid-aligned coordinate system to the global coordinate system.

Notes

Generate the rotation matrix from Tait-Bryan intrinsic angles: yaw, pitch, and roll. The rotations are applied in the following order: (ZŶX). Yaw (Z) and roll (X) rotations are done using the right-hand rule. Rotations for the pitch (Ŷ) are carried out in the opposite direction, so positive pitch lifts the easting axis.

OblateEllipsoid.susceptibility#

Magnetic susceptibility of the ellipsoid in SI units.

OblateEllipsoid.yaw#
OblateEllipsoid.pitch#