@@ -1471,7 +1471,10 @@ def _karzas_cross_section(self, photon_energy: u.erg, ionization_energy: u.erg,
1471
1471
def two_photon (self , wavelength : u .angstrom , electron_density : u .cm ** (- 3 )) -> u .erg * u .cm ** 3 / u .s / u .angstrom :
1472
1472
"""
1473
1473
"""
1474
+ wavelength = np .atleast_1d (wavelength )
1475
+
1474
1476
prefactor = (const .h * const .c ) / (4 * np .pi )
1477
+ EM = 1 * u .cm ** - 5 # CHIANTI assumes a column EM with value of 1 if not specified
1475
1478
1476
1479
if self .hydrogenic :
1477
1480
A_ji = self ._hseq ['A' ]
@@ -1497,8 +1500,8 @@ def two_photon(self, wavelength: u.angstrom, electron_density: u.cm**(-3)) -> u.
1497
1500
psi_interp = cubic_spline (y_interp )
1498
1501
energy_dist = (A_ji * y_interp * psi_interp ) / (A_sum * wavelength [indices ])
1499
1502
1500
- pe_ratio = proton_electron_ratio (self .temperature , ** self . _instance_kwargs )
1501
- level_population = self .level_populations (electron_density , ** self . _instance_kwargs )
1503
+ pe_ratio = proton_electron_ratio (self .temperature )
1504
+ level_population = self .level_populations (electron_density )
1502
1505
1503
1506
# N_j(X+m) = N_j(X+m)/N(X+m) * N(X+m)/N(X) * N(X)/N(H) * N(H)/Ne * Ne
1504
1507
level_density = level_population [:,0 ,1 ] * self .ioneq * self .abundance * pe_ratio * electron_density
@@ -1507,4 +1510,4 @@ def two_photon(self, wavelength: u.angstrom, electron_density: u.cm**(-3)) -> u.
1507
1510
1508
1511
#prefactor * matrix = u.erg / (u.s * u.angstrom * u.cm**2)
1509
1512
1510
- return 0.0 * u . erg * u . cm ** 3 / u . s / u . angstrom
1513
+ return ( prefactor * matrix / EM )
0 commit comments