Electric field model functions
The elec provides electric field models
- Models:
Volland, (1973) and Stern, (1975)
|
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.