pyatomdb 1.2.1__tar.gz → 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyatomdb-1.2.1/pyatomdb.egg-info → pyatomdb-1.2.2}/PKG-INFO +5 -1
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/README.rst +4 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/__init__.py +1 -1
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/apec.py +13 -6
- {pyatomdb-1.2.1 → pyatomdb-1.2.2/pyatomdb.egg-info}/PKG-INFO +5 -1
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/COPYING.txt +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/MANIFEST.in +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/Makefile +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/apec.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/atomdb.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/atomic.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/conf.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/const.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/contact.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/examples.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/index.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/installation.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/license.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/models.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/modules.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/requirements.txt +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/spectrum.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/docs/util.rst +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/Rsapec_hitomi.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/Rsapec_hitomi.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/aciss_meg1_cy22.garf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/aciss_meg1_cy22.grmf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/ah100040030_sxs_cl2_HP_small.rmf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/ah100040030sxs_p0px1010_cl2_HP.pi +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/ah100040030sxs_p0px1010_ptsrc.arf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/apec_example_1_get_ionbal.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/apec_examples_1_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/apec_examples_1_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/apec_examples_1_2.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/apec_examples_1_2.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_example_1_get_data.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_example_2_get_maxwell.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_examples_2_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_examples_2_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_examples_2_2.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/atomdb_examples_2_2.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power_examples_1_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power_examples_1_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power_nei.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power_nei_examples_1_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/calc_power_nei_examples_1_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/first_installation.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/make_line_list.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/make_spectrum.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/new_make_spectrum.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/output.txt +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/photoionization_data.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/rsapec.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_NEIsession_examples.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_NEIsession_linelist_examples.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_1.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_2.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_2.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_kappa_examples_2.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1b.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1b_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_1b_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2b.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2b_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_2b_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_3_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_3_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_3_abund.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_4_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_4_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_4_abund.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_5_linelist.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_6_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_6_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_6_line_emissivity.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_7_1.pdf +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_7_1.svg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_7_nei.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_examples_8_nei_linelist.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/spectrum_session_linelist_examples.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/wrapper_xspec_examples.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/examples/wrapper_xspec_kappa_example.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/linear_approx.c +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/atomdb.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/atomic.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/const.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/spectrum.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb/util.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb.egg-info/SOURCES.txt +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb.egg-info/dependency_links.txt +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb.egg-info/requires.txt +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyatomdb.egg-info/top_level.txt +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/pyproject.toml +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/setup.cfg +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/setup.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/tests/__init__.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/tests/test1.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/wrappers/IonE_apec_xspec.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/wrappers/apec_xspec.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/wrappers/bapec_xspec.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/wrappers/kappa_xspec.py +0 -0
- {pyatomdb-1.2.1 → pyatomdb-1.2.2}/wrappers/rsapec_xspec.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyatomdb
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: AtomDB python library.
|
|
5
5
|
Author-email: Adam Foster <afoster@cfa.harvard.edu>
|
|
6
6
|
Maintainer-email: Adam Foster <afoster@cfa.harvard.edu>
|
|
@@ -348,3 +348,7 @@ Added in web.py, which is not useful as part of pyatomdb but does generate the o
|
|
|
348
348
|
1.2.1
|
|
349
349
|
August 13th 2026
|
|
350
350
|
Updated solve_ionbal_eigen to work with numpy >=2.5 (issues with matrix data indexing)
|
|
351
|
+
|
|
352
|
+
1.2.2
|
|
353
|
+
September 15th 2026
|
|
354
|
+
Corrections to eebrems in the 1 < T < 300keV
|
|
@@ -293,3 +293,7 @@ Added in web.py, which is not useful as part of pyatomdb but does generate the o
|
|
|
293
293
|
1.2.1
|
|
294
294
|
August 13th 2026
|
|
295
295
|
Updated solve_ionbal_eigen to work with numpy >=2.5 (issues with matrix data indexing)
|
|
296
|
+
|
|
297
|
+
1.2.2
|
|
298
|
+
September 15th 2026
|
|
299
|
+
Corrections to eebrems in the 1 < T < 300keV
|
|
@@ -1280,6 +1280,8 @@ def calc_ee_brems(E, T, N):
|
|
|
1280
1280
|
# series of data constants
|
|
1281
1281
|
# Region I, k_BT<=1 keV
|
|
1282
1282
|
|
|
1283
|
+
from scipy.special import exp1
|
|
1284
|
+
|
|
1283
1285
|
aI1 = numpy.array([(3.15847E+0, -2.52430E+0, 4.04877E-1, 6.13466E-1, 6.28867E-1, 3.29441E-1),
|
|
1284
1286
|
(2.46819E-2, 1.03924E-1, 1.98935E-1, 2.18843E-1, 1.20482E-1, -4.82390E-2),
|
|
1285
1287
|
(-2.11118E-2, -8.53821E-2, -1.52444E-1, -1.45660E-1, -4.63705E-2, 8.16592E-2),
|
|
@@ -1380,7 +1382,7 @@ def calc_ee_brems(E, T, N):
|
|
|
1380
1382
|
GpwIII = numpy.zeros((numx,))
|
|
1381
1383
|
if T<0.05:
|
|
1382
1384
|
ret = numpy.zeros(len(x), dtype=float)
|
|
1383
|
-
elif 0.05<=T<
|
|
1385
|
+
elif 0.05<=T<1.:
|
|
1384
1386
|
|
|
1385
1387
|
GI=numpy.zeros(len(x))
|
|
1386
1388
|
theta = (1/1.35) * ( numpy.log10(tao) + 2.65)
|
|
@@ -1390,13 +1392,14 @@ def calc_ee_brems(E, T, N):
|
|
|
1390
1392
|
GI += aI[i,j]*(theta**i)*(bigx**j)
|
|
1391
1393
|
GI *= numpy.sqrt(8/(3*numpy.pi))
|
|
1392
1394
|
ret = 1.455e-16*N**2*numpy.exp(-x)/(x*numpy.sqrt(tao))*GI
|
|
1393
|
-
elif
|
|
1395
|
+
elif 1.<=T<300.:
|
|
1394
1396
|
taoII = tao
|
|
1397
|
+
Ei0[:,] = exp1(x)
|
|
1395
1398
|
for k in range(numx):
|
|
1396
|
-
def integrand(t):
|
|
1397
|
-
return numpy.exp(-1.0*t)/t
|
|
1398
|
-
[Ei0[k,],error] = scipy.integrate.quad(integrand,x[k,],\
|
|
1399
|
-
numpy.inf,args=())
|
|
1399
|
+
# def integrand(t):
|
|
1400
|
+
# return numpy.exp(-1.0*t)/t
|
|
1401
|
+
# [Ei0[k,],error] = scipy.integrate.quad(integrand,x[k,],\
|
|
1402
|
+
# numpy.inf,args=())
|
|
1400
1403
|
AIIr[k,] = numpy.sum(aII*taoII**(aIIj/8.)*x[k,]**(aIIi))
|
|
1401
1404
|
BIIr[k,] = numpy.sum(bII*taoII**(bIIj/8.)*x[k,]**(bIIi))
|
|
1402
1405
|
FCCII[k,] = 1.+numpy.sum(cII*taoII**(cIIj/6.)*x[k,]**(cIIi/8.))
|
|
@@ -1407,6 +1410,7 @@ def calc_ee_brems(E, T, N):
|
|
|
1407
1410
|
ret = 1.455e-16*N**2*numpy.exp(-x)/(x*numpy.sqrt(taoII))*GII
|
|
1408
1411
|
elif 300.<=T<7000.:
|
|
1409
1412
|
taoIII = tao
|
|
1413
|
+
Ei0[:,] = exp1(x)
|
|
1410
1414
|
for k in range(numx):
|
|
1411
1415
|
GpwIII[k,] = numpy.sum(aIII*taoIII**(aIIj/8.)*x[k,]**(aIIi))-\
|
|
1412
1416
|
numpy.exp(x[k,])*(-1.0)*Ei0[k,]*\
|
|
@@ -1415,6 +1419,7 @@ def calc_ee_brems(E, T, N):
|
|
|
1415
1419
|
(x*numpy.sqrt(taoIII))*GpwIII
|
|
1416
1420
|
else:
|
|
1417
1421
|
taoIV = tao
|
|
1422
|
+
Ei0[:,] = exp1(x)
|
|
1418
1423
|
GIV = 3./(4.*numpy.pi*numpy.sqrt(taoIV))*\
|
|
1419
1424
|
(28./3.+2.*x+x**2/2.+2.*(8./3.+4.*x/3.+x**2)*\
|
|
1420
1425
|
(numpy.log(2.*taoIV)-0.57721)-numpy.exp(x) \
|
|
@@ -1875,6 +1880,8 @@ def run_apec(fname):
|
|
|
1875
1880
|
chdulist.insert(0,PricHDU)
|
|
1876
1881
|
chdulist.insert(1,seccHDU)
|
|
1877
1882
|
tmpchdulist = pyfits.HDUList(chdulist)
|
|
1883
|
+
generate_apec_headerblurb(settings, tmplhdulist, tmpchdulist)
|
|
1884
|
+
|
|
1878
1885
|
if settings['Ionization']=='CIE':
|
|
1879
1886
|
tmpchdulist.writeto('%s_coco.fits'%(fileroot), overwrite=True, checksum=True)
|
|
1880
1887
|
elif settings['Ionization']=='NEI':
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyatomdb
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: AtomDB python library.
|
|
5
5
|
Author-email: Adam Foster <afoster@cfa.harvard.edu>
|
|
6
6
|
Maintainer-email: Adam Foster <afoster@cfa.harvard.edu>
|
|
@@ -348,3 +348,7 @@ Added in web.py, which is not useful as part of pyatomdb but does generate the o
|
|
|
348
348
|
1.2.1
|
|
349
349
|
August 13th 2026
|
|
350
350
|
Updated solve_ionbal_eigen to work with numpy >=2.5 (issues with matrix data indexing)
|
|
351
|
+
|
|
352
|
+
1.2.2
|
|
353
|
+
September 15th 2026
|
|
354
|
+
Corrections to eebrems in the 1 < T < 300keV
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|