Electric field model functions

The elec provides electric field models

Models:
  • Volland, (1973) and Stern, (1975)

VS1975(r[, phi, theta, planet, gamma, C, ...])

Compute the total electric field for the Volland‐Stern [Volland, 1973, Stern, 1975] model.

Functions

rbamlib.models.elec.VS1975(r, phi=0, theta=1.5707963267948966, planet='Earth', gamma=None, C=None, r0=None, Omega=None, B0=None, R0=None)

Compute the total electric field for the Volland‐Stern [Volland, 1973, Stern, 1975] model.

Parameters:
  • r (float or ndarray) – Radial distance from the center of the planet (in planet’s radii).

  • phi (float or ndarray, optional, default=0) – Azimuthal (longitude) angle in radians, (phi=0 is noon)

  • theta (float or ndarray, optional, default=pi/2) – Polar (colatitude) angle in radians. Default is π/2 (equatorial plane).

  • planet (str, optional, default='Earth') – Name of the planet. If set to None, gamma, C, Omega, B0, R0 must be set.

  • gamma (int or float, optional) – Exponent in the scaling law for the convective potential.

  • C (float, optional) – Scaling constant for the convective potential in V/m.

  • r0 (float, optional) – Radial distance from the center of the planet (in planet’s radii) where the scaling constant C is defined.

  • Omega (float, optional) – Angular rotation rate of the planet (in s⁻¹).

  • B0 (float, optional) – Reference magnetic field (in Tesla).

  • R0 (float, optional) – Planet radius (in meters).

Notes

The total electric field is obtained as the sum of a convective component and a corotational component. The individual parts are defined by the following equations.

Convective potential:

\[\Phi_{conv} = C \left(\frac{r}{r_0 \sin^2(\theta)}\right)^\gamma \sin(\phi),\]
  • \(r\) is the radial distance,

  • \(\theta\) is the polar (colatitude) angle,

  • \(\phi\) is the azimuthal angle,

  • \(\gamma\) is an exponent parameter (default is 2),

  • \(C\) is a scaling constant (default is const.E0_Earth).

  • \(r_0\) is the radial distance where \(C\) is defined

The convective electric field is then approximated by taking spatial derivatives of the convective potential, yielding:

\[E_{conv}(r) = \frac{\gamma \Phi_{conv}}{r}, \quad E_{conv}(\phi) = C \left(\frac{r}{r_0 \sin^2(\theta)}\right)^\gamma \frac{\cos(\phi)}{r}.\]

Corotational potential:

\[\Phi_{corr} = -\frac{\Omega B_0 R_0^2 \sin^2(\theta)}{r},\]
  • \(\Omega\) is the Earth’s angular rotation rate (default is const.Omega_Earth),

  • \(B_0\) is the reference magnetic field (default is const.SI.B0_Earth),

  • \(R_0\) is the reference Earth radius (default is const.SI.R_Earth).

The corresponding corotational electric field (which affects only the radial component) is computed as

\[E_{corr}(r) = -\frac{\Phi_{corr}}{r}, \left( E_{corr}(\phi) = 0 \right)\]

Total Electric Field:

\[E(r) = E_{conv}(r) + E_{corr}(r), \quad E(\phi) = E_{conv}(\phi).\]

Warning

Only basic tests were impmeneted for this function.

Returns:

Dictionary with the total electric field components (in V/m) having keys:

  • ’r’: Total radial component.

  • ’phi’: Azimuthal component.

Return type:

dict

Examples

Example 1: Default behavior (Earth).

>>> E = VS1975(r=6.6, phi=np.pi/4, theta=np.pi/2)
>>> print(E['r'], E['phi'])

Example 2: Specify planet (Saturn).

>>> E = VS1975(r=10, phi=0, theta=np.pi/2, planet='Saturn')

Example 3: Provide explicit parameters.

>>> E = VS1975(r=6.6, phi=np.pi/4, theta=np.pi/2, Omega=7.43e-5, B0=0.312e-4, R0=6.378e6, gamma=2, C=4.5/6.378e6)

Supporting Functions

rbamlib.models.elec.VS1975.VS1975_Phi_corr(r, theta, Omega, B0, R0)

Compute the corotational electric potential for the Volland‐Stern Volland [1973], Stern [1975] model.

Parameters:
  • r (float or ndarray) – Radial distance from the center of the planet (in planet’s radii).

  • theta (float or ndarray) – Polar (colatitude) angle in radians.

  • Omega (float) – Angular rotation rate of the planet (in s⁻¹).

  • B0 (float) – Reference magnetic field (in Tesla).

  • R0 (float) – Planet radius (in meters).

Returns:

Corotational electric potential (in Volts)

Return type:

float or ndarray

Notes

\[\Phi_{corr} = -\frac{\Omega B_0 R_0^2 \sin^2(\theta)}{r}\]
rbamlib.models.elec.VS1975.VS1975_Phi_conv(r, phi, theta, gamma, C, r0)

Compute the convective electric potential for the Volland‐Stern [Volland, 1973, Stern, 1975] model.

Parameters:
  • r (float or ndarray) – Radial distance from the center of the planet (in planet’s radii).

  • phi (float or ndarray) – Azimuthal (longitude) angle in radians, (phi=0 is noon).

  • theta (float or ndarray) – Polar (colatitude) angle in radians.

  • gamma (int or float) – Exponent in the scaling law for the convective potential.

  • C (float) – Scaling constant for the convective potential in V/m.

  • r0 (float) – Radial distance from the center of the planet (in planet’s radii) where the scaling constant C is defined.

Returns:

Convective potential (in Volts).

Return type:

float or ndarray

Notes

\[\Phi_{conv} = C \left(\frac{r}{r_0 \sin^2(\theta)}\right)^\gamma \sin(\phi),\]
rbamlib.models.elec.VS1975.VS1975_E_corr(r, theta, Omega, B0, R0)

Compute the corotational electric field for the Volland‐Stern [Volland, 1973, Stern, 1975] model.

Parameters:
  • r (float or ndarray) – Radial distance from the center of the planet (in planet’s radii).

  • theta (float) – Polar (colatitude) angle in radians.

  • Omega (float) – Angular rotation rate of the planet (in s⁻¹).

  • B0 (float) – Reference magnetic field (in Tesla).

  • R0 (float) – Planet radius (in meters).

Returns:

Dictionary representing the electric field components (in V/m) with keys:

  • ’r’: Radial component, computed as \(E_{corr}(r) = -\frac{\Phi_{corr}}{r}\)

  • ’phi’: Azimuthal component, set to zero.

Return type:

dict

Notes

The corotational electric field is obtained by taking spatial derivative of the corotational potential computed by VS1975_Phi_corr().

rbamlib.models.elec.VS1975.VS1975_E_conv(r, phi, theta, gamma, C, r0)

Compute the convective electric field for the Volland‐Stern [Volland, 1973, Stern, 1975] model.

Parameters:
  • r (float or ndarray) – Radial distance from the center of the planet (in planet’s radii).

  • phi (float or ndarray) – Azimuthal (longitude) angle in radians, (phi=0 is noon)

  • theta (float or ndarray) – Polar (colatitude) angle in radians.

  • gamma (int or float) – Exponent in the scaling law for the convective potential.

  • C (float) – Scaling constant for the convective potential in V/m.

  • r0 (float) – Radial distance from the center of the planet (in planet’s radii) where the scaling constant C is defined.

Returns:

Dictionary with the convective electric field components (in V/m) having keys:

  • ’r’: Radial component, approximated as \(E_{conv}(r) = \frac{\gamma \Phi_{conv}}{r}\)

  • ’phi’: Azimuthal component, approximated as \(E_{conv}(\phi) = C \left(\frac{r}{r_0 \sin^2(\theta)}\right)^\gamma \frac{\cos(\phi)}{r}\)

Return type:

dict

Notes

The convective electric field is obtained by taking spatial derivatives of the convective potential computed by VS1975_Phi_conv().

rbamlib.models.elec.VS1975.VS1975_parameters_corr(planet='Earth', Omega=None, B0=None, R0=None)

Retrieve corotational parameters (Omega, B0, R0) for the specified planet.

Parameters:
  • planet (str, optional, default='Earth') – Name of the planet.

  • Omega (float, optional) – Angular rotation rate of the planet (in s⁻¹).

  • B0 (float, optional) – Reference magnetic field (in Tesla).

  • R0 (float, optional) – Planet radius (in meters).

Returns:

A tuple containing the following planetary parameters: - Omega (float): Angular rotation rate of the planet (in s⁻¹). - B0 (float): Reference magnetic field (in Tesla). - R0 (float): Planet radius (in meters).

Return type:

tuple

Notes

Supported options are ‘Earth’ and ‘Saturn’. Other planets will be added in future versions.

rbamlib.models.elec.VS1975.VS1975_parameters_conv(planet='Earth', gamma=None, C=None, r0=None)

Retrieve convective parameters (gamma, C) for the specified planet.

Parameters:
  • planet (str, optional, default='Earth') – Name of the planet.

  • gamma (int or float, optional) – Exponent in the scaling law for the convective potential.

  • C (float, optional) – Scaling constant for the convective potential.

  • r0 (float, optional) – Radial distance from the center of the planet (in planet’s radii) where the scaling constant C is defined.

Returns:

A tuple containing the following parameters: - gamma (float): Exponent in the scaling law for the convective potential. - C (float): Scaling constant for the convective potential (in V/m). - r0 (float): Radial distance where C is defined.

Return type:

tuple

Notes

Supported options are ‘Earth’ and ‘Saturn’. Other planets will be added in future versions.