irfpy.venus.bowshock
¶
Collection of bow shock model
Reference:
Martinecz et al. (2008): “Location of the bow shock and ion composition boundaries at Venus–initial determinations from Venus Express ASPERA-4” PSS 56, 780-784.
Code author: Moa Persson
- irfpy.venus.bowshock.xr_martinecz08(scale=1.0)[source]¶
Return the (x,r) coordinates of Martinecz 08 model.
- Returns:
A tuple, (x, r), where x is the array of x coordinates and r is the array of \(\sqrt{y^2+z^2}\). The unit is Rv.
The parameter is \(L = 1.303, \epsilon=1.056, x_0=0.788\). Then, \(r=L/(1+\epsilon\cos\theta)\), where \((r, \theta)\) are measured at \((x_0, 0, 0)\).
>>> from irfpy.venus import bowshock >>> x, r = bowshock.xr_martinecz08() >>> print(x.shape, r.shape) (161,) (161,)
You can plot the boundary as
import matplotlib.pyplot as plt plt.plot(x, r, 'r')
- irfpy.venus.bowshock.inside_martinecz08(x, y, z, scale=1.0)[source]¶
Return True if the given position is inside Martinecz shock model.
- Parameters:
z (x, y,) – Position. The unit should be Rv.
- Returns:
True if the given position is inside the Martinecz model.
>>> inside_martinecz08(1, 0, 0) True >>> inside_martinecz08(2, 0, 0) False >>> inside_martinecz08(1, 1, 0) True >>> inside_martinecz08(1, 1, 1) False