eppaurora.conductivity.pedersen()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 31
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nop 4
dl 0
loc 31
rs 10
c 0
b 0
f 0
1
# coding: utf-8
2
# Copyright (c) 2021 Stefan Bender
3
#
4
# This file is part of pyeppaurora.
5
# pyeppaurora is free software: you can redistribute it or modify
6
# it under the terms of the GNU General Public License as published
7
# by the Free Software Foundation, version 2.
8
# See accompanying LICENSE file or http://www.gnu.org/licenses/gpl-2.0.html.
9
"""Atmospheric conductivity from electron densities [1]_ [2]_ [3]_
10
11
.. [1] A. Brekke, J. R. Doupnik, P. M. Banks,
12
	Incoherent scatter measurements of E region conductivities and currents in the auroral zone,
13
	J. Geophys. Res., 79(25), 3773--3790, Sept. 1974,
14
	doi: `10.1029/JA079i025p03773 <https://doi.org/10.1029/JA079i025p03773>`_
15
16
.. [2] James F. Vickrey, Richard R. Vondrak, Stephen J. Matthews,
17
	The diurnal and latitudinal variation of auroral zone ionospheric conductivity,
18
	J. Geophys. Res., 86(A1), 65--75, Jan. 1981,
19
	doi: `10.1029/JA086iA01p00065 <https://doi.org/10.1029/JA086iA01p00065>`_
20
21
.. [3] R. M. Robinson, R. R. Vondrak, K. Miller, T. Dabbs, D. Hardy,
22
	On calculating ionospheric conductances from the flux and energy of precipitating electrons,
23
	J. Geophys. Res. Space Phys., 92(A3), 2565--2569, Mar. 1987,
24
	doi: `10.1029/JA092iA03p02565 <https://doi.org/10.1029/JA092iA03p02565>`_
25
"""
26
27
import numpy as np
28
29
__all__ = [
30
	"ion_coll",
31
	"ion_gyro",
32
	"pedersen",
33
	"hall",
34
	"SigmaP_robinson1987",
35
	"SigmaH_robinson1987",
36
]
37
38
E_CHARGE = 1.602176634e-19  # [C] = [As]
39
40
41
def ion_coll(n_neutral):
42
	"""Ion--neutral collision frequency
43
44
	Derived from the atmospheric neutral density [#]_
45
	e.g., from NRLMSISE-00.
46
47
	Parameters
48
	----------
49
	n_neutral: float or array_like (M, ...)
50
		Atmospheric density in [cm⁻³]
51
52
	Returns
53
	-------
54
	ion_coll: float or array_like (M, ...)
55
		Ion--neutral collision frequency [s⁻¹]
56
57
	References
58
	----------
59
	.. [#] Vickrey et al., J. Geophys. Res., 86(A1), 65--75, Jan. 1981,
60
		doi: `10.1029/JA086iA01p00065 <https://doi.org/10.1029/JA086iA01p00065>`_
61
	"""
62
	return 3.75e-10 * n_neutral
63
64
65
def ion_gyro(bmag, m_ion=30.):
66
	"""Ion gyro (cyclotron) frequency
67
68
	Parameters
69
	----------
70
	bmag: float or array_like (M,...)
71
		Magnitude of the magnetic B-field [T].
72
	m_ion: float or array_like (M, ...), optional (default 30.0)
73
		Ion mass [GeV / c²]
74
75
	Returns
76
	-------
77
	ion_gyro: float or array_like (M, ...)
78
		Ion cyclotron frequency [s⁻¹]
79
	"""
80
	return 2 * np.pi * 2.8e10 * bmag * (511e-6 / m_ion)
81
82
83
def pedersen(ne, bmag, ion_gyro, ion_coll):
84
	"""Pedersen conductivity σP
85
86
	Formulae and parameters as described in [#]_ [#]_,
87
	neglecting electron--neutral collisions.
88
89
	Parameters
90
	----------
91
	ne: float or array_like (M, ...)
92
		Electron density in [m⁻³]
93
	bmag: float or array_like (M, ...)
94
		Magnitude of the magnetic B-field [T].
95
	ion_gyro: float or array_like (N, ...)
96
		The ion gyro frequency [s⁻¹]
97
	ion_coll: float or array_like (N, ...)
98
		The ion collision frequency [s⁻¹]
99
100
	Returns
101
	-------
102
	σP: float or array_like (M, N) if broadcastable
103
		Pedersen conductivity [S m⁻¹].
104
105
	References
106
	----------
107
	.. [#] Brekke et al., J. Geophys. Res., 79(25), 3773--3790, Sept. 1974,
108
		doi: `10.1029/JA079i025p03773 <https://doi.org/10.1029/JA079i025p03773>`_
109
110
	.. [#] Vickrey et al., J. Geophys. Res., 86(A1), 65--75, Jan. 1981,
111
		doi: `10.1029/JA086iA01p00065 <https://doi.org/10.1029/JA086iA01p00065>`_
112
	"""
113
	return ne * E_CHARGE / bmag * ion_gyro * ion_coll / (ion_gyro**2 + ion_coll**2)
114
115
116
def hall(ne, bmag, ion_gyro, ion_coll):
117
	"""Hall conductivity σH
118
119
	Formulae and parameters as described in [#]_ [#]_,
120
	neglecting electron--neutral collisions.
121
122
	Parameters
123
	----------
124
	ne: float or array_like (M, ...)
125
		Electron density in [m⁻³]
126
	bmag: float or array_like (M,...)
127
		Magnitude of the magnetic B-field [T].
128
	ion_gyro: float or array_like (N, ...)
129
		The ion gyro frequency [s⁻¹]
130
	ion_coll: float or array_like (N, ...)
131
		The ion collision frequency [s⁻¹]
132
133
	Returns
134
	-------
135
	σH: float or array_like (M, N) if broadcastable
136
		Hall conductivity [S m⁻¹].
137
138
	References
139
	----------
140
	.. [#] Brekke et al., J. Geophys. Res., 79(25), 3773--3790, Sept. 1974,
141
		doi: `10.1029/JA079i025p03773 <https://doi.org/10.1029/JA079i025p03773>`_
142
143
	.. [#] Vickrey et al., J. Geophys. Res., 86(A1), 65--75, Jan. 1981,
144
		doi: `10.1029/JA086iA01p00065 <https://doi.org/10.1029/JA086iA01p00065>`_
145
	"""
146
	return ne * E_CHARGE / bmag * ion_coll**2 / (ion_gyro**2 + ion_coll**2)
147
148
149
def SigmaP_robinson1987(en_avg, flx):
150
	"""Pedersen conductance [#]_
151
152
	Directly derived from the electron mean energy and energy flux.
153
154
	Parameters
155
	----------
156
	en_avg: float or array_like (M, ...)
157
		Electron average energy in [keV]
158
	flx: float or array_like (M, ...)
159
		Energy flux [ergs cm⁻² s⁻¹].
160
161
	Returns
162
	-------
163
	ΣP: float or array_like (M, N) if broadcastable
164
		Pedersen conductance [S].
165
166
	References
167
	----------
168
	.. [#] Robinson et al., J. Geophys. Res. Space Phys., 92(A3), 2565--2569, Mar. 1987,
169
		doi: `10.1029/JA092iA03p02565 <https://doi.org/10.1029/JA092iA03p02565>`_
170
	"""
171
	return 40 * en_avg / (16. + en_avg**2) * np.sqrt(flx)
172
173
174
def SigmaH_robinson1987(en_avg, flx):
175
	"""Hall conductance [#]_
176
177
	Directly derived from the electron mean energy and energy flux.
178
179
	Parameters
180
	----------
181
	en_avg: float or array_like (M, ...)
182
		Electron average energy in [keV]
183
	flx: float or array_like (M, ...)
184
		Energy flux [ergs cm⁻² s⁻¹].
185
186
	Returns
187
	-------
188
	ΣH: float or array_like (M, N) if broadcastable
189
		Hall conductance [S].
190
191
	References
192
	----------
193
	.. [#] Robinson et al., J. Geophys. Res. Space Phys., 92(A3), 2565--2569, Mar. 1987,
194
		doi: `10.1029/JA092iA03p02565 <https://doi.org/10.1029/JA092iA03p02565>`_
195
	"""
196
	return 0.45 * en_avg**(0.85) * SigmaP_robinson1987(en_avg, flx)
197