Function adas.lform

def lform(xlcut, pl2a, pl3a, l, itype=8)

Calculate the l-shell distribution using the LPARMS method of adf01.

Parameters

xlcut : float
critical l for the fitting (non-integral)
pl2a : float
parameter of l-shell fitting
pl3a : float
parameter of l-shell fitting
l : int, array
azithumal quantum number - may be scalar or an array
itype : int
type of approximation (default is 8)
   1 : 2l+1 increase with l and exponential cutoff as l/lcut
   2 : 2l+1 increase witl l, sharp cutoff at min(lcut,n-1)
   3 : (2l+1)**2 increase with l, sharp cutoff at min(lcut,n-1)
   4 : Kronecker delta(l,min(lcut,n-1))
   5 : 2l+1 increase with l and exp. cutoff as max(0,l-lcut)/2
   6 : 2l+1 increase with l and exp. cutoff as 2*max(0,l-lcut)
   7 : new primary form based on spfman13 fitting procedure
       with sharp switching
   8 : new primary form based on spfman13 fitting procedure
       with soft switching functions.

Returns

lsplit : float
l fraction of the n-resolved cross section

Notes

A pure python routine based on the r8form function in the fortran library.

Note that only itype=8 is implemented here.

References

ADAS manual description of adf01: http://www.adas.ac.uk/man/appxa-01.pdf

Version History

  • Martin O'Mullane, 02-06-2021
    • First version

Examples

Calculate the split for l=7,8,9 for a given set of parameters.

>>> import adas as adas
>>> adas.lform(6.75, 1.5, 9.0, [7, 8, 9])
array([0.83546188, 0.24012359, 0.05630742])