mmt_multipole_inversion.susceptibility_modules.spherical_harmonics_basis_area#

Module Contents#

Functions#

multipole_Bz_sus(dip_r, pos_r, Q, n_col_stride, dx_sensor, dy_sensor, multipole_order)

Populate the susceptibility matrix using 2D rectangular sensors

mmt_multipole_inversion.susceptibility_modules.spherical_harmonics_basis_area.multipole_Bz_sus(dip_r, pos_r, Q, n_col_stride, dx_sensor, dy_sensor, multipole_order)#

Populate the susceptibility matrix using 2D rectangular sensors

The susceptibility matrix is computed by integrating the Bz field in the a rectangular area in the xy-plane, thus the flux is computed in units of Tesla m^2. In the main MultipoleInversion class the area flux might be scaled by the sensor area to obtain the average flux within the scan sensor. The area flux is computed as:

               _        _  t(1)  1(1)          t(1)  3(1)     t(2)  1(2)       _
Area_flux =   /  dx dy |  Θ     P     + ... + Θ     P     +  Θ     P     + ...  |
            _/         |_  1     z             3     z        1     z          _|

                           Dipole                            Quadrupole

where Θ are the multipole moments (in tensor basis) and Pz are the z-component spherical harmonic polynomials which have to be integrated. For instance:

                 _   _      _
 2(2)        ∂  |  \/2  x z  |
P      =  -  -- |  --------  |  ,  R = ( x^2 + y^2 + z^2 )^(1/2)
 z           ∂z |_    R^5   _|

The susceptibility matrix, therefore, will contain these polynomial integrated in the xy-area of the sensor, which are multiplied by the components of the magnetic moments column vector. Every row of the susceptibility matrix will contain the integrals for all magnetic sources and for one sensor position, since r = (x, y, z) = sensor_pos - magnetic_source_pos.

Parameters
dip_r

N x 3 array with the positions of the magnetic point sources

pos_r

P x 3 array with the positions of P sensors that define the scanning surface

Q

Susceptibility / Forward matrix to be populated. Check that Q entries are zero before calling this function

n_col_stride

Number of column strides to populate the Q matrix. This is defined by the multipole order of the potential expansion

dx_sensor, dy_sensor

Half lengths of the sensor area

multipole_order

Expansion order of the magnetic potential

Notes

The integration of the polynomials were obtained mostly with W. Mathematica