APEC thermal plasma model with variable abundances. XSPEC model.
An emission spectrum from collisionally-ionized diffuse gas calculated using the ATOMDB code v3.0.7. More information can be found at http://atomdb.org/ which should be consulted by anyone running this model.
See also the xsapec and xsvvapec models.
This is an additive model component.
|1||kT||plasma temperature (keV)|
|2-14||(element)||Abundances for He, C, N, O, Ne, Mg, Al, Si, S, Ar, Ca, Fe, Ni with respect to Solar (defined by the set_xsabund command). The trace element abundances are from the set_xsxset APEC_TRACE_ABUND value, the default is 1.0.|
|16||norm||10^-14 / (4 pi (D_A*(1+z))^2) Int n_e n_H dV, where D_A is the angular diameter distance to the source (cm), n_e is the electron density (cm^-3), and n_H is the Hydrogen density (cm^-3)|
This information is taken from the XSPEC User's Guide. Version 12.9.1n of the XSPEC models is supplied with CIAO 4.10.
Changing the AtomDB version
By default this model reads atomic physics continuum and line data from the files apec_v[version]_coco.fits and apec_v[version]_line.fits in the $ASCDS_INSTALL/ots/spectral/modelData directory. Different files can be specified by using the set_xsxset command to change the "APECROOT" value. There are three options.
- APECROOT can be set to a version number (eg 1.10, 1.2.0, 1.3.1, 2.0.1). In this case the value of APECROOT will be used to replace 3.0.7 in the name of the standard files and the resulting files will be assumed to be in the modelData directory.
- Alternatively, a filename root (eg apec_v1.2.0) can be given. This root will be used as a prefix for the _coco.fits and _line.fits files.
- Finally, if neither of these work then the model will assume that the APECROOT value gives the complete directory path
sherpa> set_xsxset('APECROOT', '/data/xspec/apec_v1.2.0')
will use the input files /data/xspec/apec_v1.2.0_coco.fits and /data/xspec/apec_v1.2.0_line.fits.
Thermal broadening of lines can be included by using
sherpa> set_xsxset('APECTHERMAL', 'yes')
This runs significantly slower than the option without thermal broadening so you should only use this when necessary. Velocity broadening of lines can be included by using
sherpa> set_xsxset('APECVELOCITY', '230')
where the velocity value (here set to 230) is sigma in km/s (and is given as a string). This is added in Gaussian quadrature with any thermal broadening in use.
Changing the abundances
The xsapec and xsbapec models use abundances set by the set_xsabund() command. The xsvapec, xsbvapec, xsvvapec, and xsbvvapec variants allow the user to set the abundance using additional parameters. For xsapec, xsbapec, xsvapec, and xsbvapec the abundances of the trace elements (ie Li, Be, B, F, Na, P, Cl, K, Sc, Ti, V, Cr, Mn, Co, Cu, Zn) can be set using the APEC_TRACE_ABUND setting. These trace element abundances can be set either to the abundance of one of the main elements or to a numerical value (relative to Solar). For instance,
sherpa> set_xsxset('APEC_TRACE_ABUND', 'Fe')
sets trace element abundances to that of iron while
sherpa> set_xsxset('APEC_TRACE_ABUND', '1.0')
sets them to Solar. The default value for APEC_TRACE_ABUND is 1.0. Note that this means that the xsapec, xsbapec, xsvapec and xsbvapec models will show emission lines even if the abundance parameters are set to zero.
Line emission for APEC-related models can be controlled with the APECNOLINES xset setting. The default is to include lines, but using a setting of 'on' will avoid calculating lines. That is
sherpa> set_xsxset('APECNOLINES', 'on')
will exclude lines from any APEC model. To get the lines back, use
sherpa> set_xsxset('APECNOLINES', 'off')
An example of changing this setting is shown below:
sherpa> egrid = np.arange(0.1, 10, 0.01) sherpa> create_model_component('xsapec', 'mdl') sherpa> set_xsxset('APECNOLINES', 'on') sherpa> ynolines = mdl(egrid) sherpa> set_xsxset('APECNOLINES', 'off') sherpa> ylines = mdl(egrid) sherpa> clear() sherpa> add_histogram(egrid, ynolines) sherpa> add_histogram(egrid, ylines, ['*.color', 'red']) sherpa> log_scale()
For a list of known bugs and issues with the XSPEC models, please visit the XSPEC bugs page.
To check the X-Spec version used by Sherpa, use the get_xsversion routine from the xspec module:
sherpa> from sherpa.astro.xspec import get_xsversion sherpa> get_xsversion() '12.9.1n'
- absorptionedge, absorptiongaussian, absorptionlorentz, absorptionvoigt, accretiondisk, atten, bbody, bbodyfreq, beta1d, beta2d, blackbody, box1d, box2d, bpl1d, bremsstrahlung, brokenpowerlaw, ccm, const1d, const2d, cos, delta1d, delta2d, dered, devaucouleurs2d, disk2d, edge, emissiongaussian, emissionlorentz, emissionvoigt, erf, erfc, exp, exp10, fm, gauss1d, gauss2d, hubblereynolds, jdpileup, linebroad, list_model_components, list_models, lmc, load_xscflux, load_xsgsmooth, load_xsireflect, load_xskdblur, load_xskdblur2, load_xskerrconv, load_xslsmooth, load_xspartcov, load_xsrdblur, load_xsreflect, load_xssimpl, load_xszashift, load_xszmshift, log, log10, logabsorption, logemission, logparabola, lorentz1d, lorentz2d, models, normbeta1d, normgauss1d, normgauss2d, opticalgaussian, poisson, polynom1d, polynom2d, polynomial, powerlaw, powlaw1d, recombination, scale1d, scale2d, schechter, seaton, sersic2d, shell2d, sigmagauss2d, sin, sm, smc, sqrt, stephi1d, steplo1d, tablemodel, tan, xgal, xs, xsabsori, xsacisabs, xsagauss, xsapec, xsbapec, xsbbody, xsbbodyrad, xsbexrav, xsbexriv, xsbkn2pow, xsbknpower, xsbmc, xsbremss, xsbvapec, xsbvvapec, xsc6mekl, xsc6pmekl, xsc6pvmkl, xsc6vmekl, xscabs, xscemekl, xscevmkl, xscflow, xscompbb, xscompls, xscompmag, xscompps, xscompst, xscomptb, xscompth, xscomptt, xsconstant, xsconvolve, xscplinear, xscutoffpl, xscyclabs, xsdisk, xsdiskbb, xsdiskir, xsdiskline, xsdiskm, xsdisko, xsdiskpbb, xsdiskpn, xsdust, xsedge, xseplogpar, xseqpair, xseqtherm, xsequil, xsexpabs, xsexpdec, xsexpfac, xsezdiskbb, xsgabs, xsgadem, xsgaussian, xsgnei, xsgrad, xsgrbm, xsheilin, xshighecut, xshrefl, xskerrbb, xskerrd, xskerrdisk, xslaor, xslaor2, xslogpar, xslorentz, xslyman, xsmeka, xsmekal, xsmkcflow, xsnei, xsnotch, xsnpshock, xsnsa, xsnsagrav, xsnsatmos, xsnsmax, xsnsmaxg, xsnsx, xsnteea, xsnthcomp, xsoptxagn, xsoptxagnf, xspcfabs, xspegpwrlw, xspexmon, xspexrav, xspexriv, xsphabs, xsplabs, xsplcabs, xsposm, xspowerlaw, xspshock, xspwab, xsraymond, xsredden, xsredge, xsrefsch, xsrnei, xssedov, xssirf, xssmedge, xsspexpcut, xsspline, xssrcut, xssresc, xssss_ice, xsstep, xsswind1, xstbabs, xstbgrain, xstbvarabs, xsuvred, xsvarabs, xsvbremss, xsvequil, xsvgadem, xsvgnei, xsvmcflow, xsvmeka, xsvmekal, xsvnei, xsvnpshock, xsvphabs, xsvpshock, xsvraymond, xsvrnei, xsvsedov, xsvvapec, xsvvgnei, xsvvnei, xsvvnpshock, xsvvpshock, xsvvrnei, xsvvsedov, xswabs, xswndabs, xsxion, xszagauss, xszbabs, xszbbody, xszbremss, xszdust, xszedge, xszgauss, xszhighect, xszigm, xszpcfabs, xszphabs, xszpowerlw, xszredden, xszsmdust, xsztbabs, xszvarabs, xszvfeabs, xszvphabs, xszwabs, xszwndabs, xszxipcf