pynucastro.screening.screen module#

Python implementations of screening routines.

class pynucastro.screening.screen.NseState(*args, **kwargs)[source]#

Bases: NseState

Stores precomputed values that are reused in the NSE state screening calculations

Variables:
  • temp – temperature in K

  • dens – density in g/cm^3

  • ye – electron molar fraction

  • n_e – electron number density

  • gamma_e_fac – temperature-independent part of Gamma_e

class_type = jitclass.NseState#7f74f7763290<temp:float64,dens:float64,ye:float64,gamma_e_fac:float64>#
class pynucastro.screening.screen.PlasmaState(*args, **kwargs)[source]#

Bases: PlasmaState

Stores precomputed values that are reused for all screening correction factor calculations.

Variables:
  • temp – temperature in K

  • dens – density in g/cm^3

  • qlam0z – TODO: from screen5

  • taufac – TODO: from screen5

  • aa – TODO: from screen5

  • abar – average atomic mass

  • zbar – average ion charge

  • z2bar – average (ion charge)^2

  • n_e – electron number density

  • gamma_e_fac – temperature-independent part of Gamma_e

class_type = jitclass.PlasmaState#7f74f78c66d0<temp:float64,dens:float64,qlam0z:float64,taufac:float64,aa:float64,abar:float64,zbar:float64,z2bar:float64,n_e:float64,gamma_e_fac:float64>#
class pynucastro.screening.screen.ScreenFactors(*args, **kwargs)[source]#

Bases: ScreenFactors

Stores values that will be used to calculate the screening correction factor for a specific pair of nuclei.

Variables:
  • z1 – atomic number of first nucleus

  • z2 – atomic number of second nucleus

  • a1 – atomic mass of first nucleus

  • a2 – atomic mass of second nucleus

  • zs13 – (z1+z2)**(1/3)

  • zhat – combination of z1 and z2 raised to the 5/3 power

  • zhat2 – combination of z1 and z2 raised to the 5/12 power

  • lzav – log of effective charge

  • aznut – combination of a1, z1, a2, z2 raised to 1/3 power

  • ztilde – effective ion radius factor for a MCP

class_type = jitclass.ScreenFactors#7f74f7762590<z1:int64,z2:int64,a1:int64,a2:int64,zs13:float64,zhat:float64,zhat2:float64,lzav:float64,aznut:float64,ztilde:float64>#
pynucastro.screening.screen.chugunov_2007(state, scn_fac)[source]#

Calculates screening factors based on Chugunov et al. [2007].

Follows the approach in Yakovlev et al. [2006] to extend to a multi-component plasma.

Parameters:
  • state (PlasmaState) – the precomputed plasma state factors

  • scn_fac (ScreenFactors) – the precomputed ion pair factors

Returns:

screening correction factor

pynucastro.screening.screen.chugunov_2009(state, scn_fac)[source]#

Calculates screening factors based on Chugunov and DeWitt [2009].

Parameters:
  • state (PlasmaState) – the precomputed plasma state factors

  • scn_fac (ScreenFactors) – the precomputed ion pair factors

Returns:

screening correction factor

pynucastro.screening.screen.debye_huckel(state, scn_fac)[source]#

Calculates the Debye-Huckel enhancement factor for weak Coloumb coupling, following the appendix of Chugunov and DeWitt [2009].

Parameters:
  • state (PlasmaState) – the precomputed plasma state factors

  • scn_fac (ScreenFactors) – the precomputed ion pair factors

Returns:

screening correction factor

pynucastro.screening.screen.make_plasma_state(temp, dens, molar_fractions)[source]#

Construct a PlasmaState object from simulation data.

Parameters:
  • temp – temperature in K

  • dens – density in g/cm^3

  • molar_fractions – dictionary of molar abundances for each ion, as returned by Composition.get_molar()

pynucastro.screening.screen.make_screen_factors(n1, n2)[source]#

Construct a ScreenFactors object from a pair of nuclei.

Parameters:
pynucastro.screening.screen.potekhin_1998(state, scn_fac)[source]#

Calculates screening factors based on Chabrier and Potekhin [1998].

Parameters:
  • state (PlasmaState) – the precomputed plasma state factors

  • scn_fac (ScreenFactors) – the precomputed ion pair factors

Returns:

screening correction factor

pynucastro.screening.screen.screen5(state, scn_fac)[source]#

Calculates screening factors following the appendix of Wallace et al. [1982].

Based on Graboske et al. [1973] for weak screening. Based on Alastuey and Jancovici [1978] with plasma parameters from Itoh et al. [1979], for strong screening.

pynucastro.screening.screen.screening_check(check_func=CPUDispatcher(<function debye_huckel>), threshold=1.01)[source]#

A decorator factory that wraps a screening function with a check that determines whether that function can be skipped for a given plasma state and screening pair.

Parameters:
  • func – the function to check against the threshold

  • threshold – the threshold to check against. If screen_check is less than the threshold, skip screen_func

Returns:

a decorator for wrapping screening functions