chaosmagpy.coordinate_utils.q_response_1D

chaosmagpy.coordinate_utils.q_response_1D(periods, sigma, radius, n, kind=None)[source]

Compute the response for a spherically layered conductor in an inducing external field of a single spherical harmonic degree.

Parameters
periodsndarray or float, shape (m,)

Oscillation period of the inducing field in seconds.

sigmandarray, shape (k,)

Conductivity of spherical shells, starting with the outermost in (S/m).

radiusndarray, shape (k,)

Radius of the interfaces in between the layers, starting with outermost layer in kilometers (i.e. conductor surface, see Notes).

nint

Spherical degree of inducing external field.

kind{‘quadratic’, ‘constant’}, optional

Approximation for “quadratic” layers (layers of sigma with inverse quadratic dependence on radius) or “constant” layers (layers of constant sigma, last layer will be set to infinity irrespective of its value in sigma[-1]).

Returns
Cndarray, shape (m,)

C-response in (km), complex.

rho_andarray, shape (m,)

Electrical surface resistance in (\(\Omega m\)).

phindarray, shape (m,)

Proportional to phase angle of C-response in degrees.

Qndarray, shape (m,)

Q-response, complex.

Notes

Option kind='quadratic':

The following shows how the conductivity is defined in the sphercial shells:

radius[0] >= r > radius[1]: sigma[0] * ( radius[0] / r ) * * 2
radius[1] >= r > radius[2]: sigma[1] * ( radius[1] / r ) * * 2
radius[k-1] >= r > 0 : sigma[k-1] * ( radius[k-1] / r ) * * 2

Courtesy of A. Grayver. Code based on Kuvshinov & Semenov (2012).

Option kind='constant':

The following shows how the conductivity is defined in the sphercial shells:

radius[0] >= r > radius[1]: sigma[0]
radius[1] >= r > radius[2]: sigma[1]
radius[k-1] >= r > 0 : sigma[k-1] = np.inf (\(\sigma\) = inf)

There are k sphercial shells of uniform conductivity with radius in (km) and conductivity \(\sigma\) in (S/m).

The last shell corresponds to the sphercial core whose conductivity is set to infinity regardless of the provided sigma[-1].

The program should work also for very small periods, where it models the response of a layered plane conductor

Python version: August 2018, Clemens Kloss
Matlab version: November 2000, Nils Olsen
Original Fortran program: Peter Weidelt