Function adas.zeeman_feature

def zeeman_feature(polarization=None, angle=0.0, bfield=3.0, index=None, nupper=None, nlower=None, element=None)

Return the Paschen-Back feature for a user selected multiplet from a set of fusion-relevant elements or an n-n' transition for H-like elements.

Parameters

polarization : string
Type of polarization applied to the feature, defaults to 'NONE'. Options are 'PI+SIGMA', 'PI', 'SIGMA', 'SIGMA+', 'SIGMA-'
angle : float
observation angle in degrees, default is 0.0
bfield : float
magnetic field in Tesla, default is 3.0T
index : int
index of requested feature (0-59).
nupper : int
n value for upper level.
nlower : int
n value for lower level.
element : str
for n-n' features the possible elements are H, D, T, He, C and Ne. This must be supplied.

Returns

wvcomp : float, array
wavelength of feature component (A)
emcomp : float, array
intensity/emissivity of feature component (arbitrary units)

Notes

There is a limited number of Zeeman-split multiplets available which may be found from a call to adas.list_zeeman_multiplets().

Calls a C executable code and communicates via a bi-directional pipe connected to stdout.

Version History

  • Martin O'Mullane, 05-12-2023
    • First version

Example

Compare the split of the Mg II, 2p6 3s1 2S - 2p6 3p1 2P near 2797.9A to the n=4-2 tritium feature in a 2.5T field, observed at 35deg in pi polarization.

>>> import adas as adas
>>> wc_mg1, ec_mg1 = adas.zeeman_feature(polarization='pi', angle=35.0, bfield=2.5, index=47)
>>> wc_t, ec_t = adas.zeeman_feature(polarization='pi', angle=35.0, bfield=2.5,
>>>                                  element='T', nupper=4, nlower=3)
>>> wc_mg1, ec_mg1
(array([2802.644, 2802.827, 2802.583, 2802.766, 2795.619, 2795.497,
        2795.679, 2795.375, 2795.558, 2795.436]),
 array([0.03718, 0.     , 0.     , 0.03594, 0.     , 0.07248, 0.     ,
        0.     , 0.07373, 0.     ]))
>>> wc_t[0:10], ec_t[0:10]
(array([18744.283, 18748.258, 18736.073, 18740.045, 18740.313, 18748.276,
        18752.507, 18740.063, 18744.29 , 18748.516]),
 array([0.65348, 0.     , 0.     , 0.0012 , 0.     , 0.00131, 0.     ,
        0.     , 0.65359, 0.     ]))