Ionization Map and AreaĀ¶
In this example, we will create an ionization map using real data from the HMXRB 4U 0114+65. During observations across four spectra, differences in luminosity and the Fe Kalpha line were noted.
The Fe Kalpha line manifests when the ionization parameter is below 100. We will investigate the relationship between the emitting area, characterized by an ionization parameter between 25 and 100, and the intensity (flux) of the Fe Kalpha line.
InĀ [1]:
Copied!
import xraybinaryorbit
from xraybinaryorbit import *
import xraybinaryorbit
from xraybinaryorbit import *
HELLO, nice to see you! :) PLEASE READ THIS, IT'S VERY IMPORTANT: These are the units that must be used within this package: - Rstar: Solar radius - Mstar: Solar masses - Inclination: Sexagesimal degrees - Periapsis: Sexagesimal degrees - Semimajor: Stellar radius - Periods: Days (Periods in the case of the period_sliding_window function will support any units) - Iphase: Radians A list of the functions contained in this package will be displayed by runing the function list_functions(). As these functions use a lot of parameters, which can sometimes be difficult to handle, we have implemented a user-friendly method for parameter input: A form will be displayed, and the parameters will be saved in the directory for further interactions. These saved parameters will be used if new parameters are not provided. For the function to work, the submit button must be pressed. Please, take into account that fits in general will take A LOT of time to complete. If you need help, contact graciela.sanjurjo@ua.es.
InĀ [2]:
Copied!
luminosity = np.array([1.30628470e+36, 6.24733539e+35, 9.38737128e+34, 4.12532189e+35])
#Lower bound, value, higher bound
feka_data = [
[0.000054, 0.000105, 0.000157],
[0.000004, 0.000030, 0.000056],
[0.000000, 0.000007, 0.000015],
[0.000012, 0.000033, 0.000055]
]
feka = pd.DataFrame(feka_data)
luminosity = np.array([1.30628470e+36, 6.24733539e+35, 9.38737128e+34, 4.12532189e+35])
#Lower bound, value, higher bound
feka_data = [
[0.000054, 0.000105, 0.000157],
[0.000004, 0.000030, 0.000056],
[0.000000, 0.000007, 0.000015],
[0.000012, 0.000033, 0.000055]
]
feka = pd.DataFrame(feka_data)
InĀ [3]:
Copied!
chi1,area1 = ionization_map_phase(size_in_Rstar=3, min_color=None,max_color=None, save_plot=False, name="ionization_map",load_directly=False)
chi1,area1 = ionization_map_phase(size_in_Rstar=3, min_color=None,max_color=None, save_plot=False, name="ionization_map",load_directly=False)
max color coefficient is 109.98 min color coefficient is 5.86
InĀ [4]:
Copied!
chi2,area2 = ionization_map_phase(size_in_Rstar=3, min_color=5.86, max_color=209.98, save_plot=False, name="ionization_map")
chi2,area2 = ionization_map_phase(size_in_Rstar=3, min_color=5.86, max_color=209.98, save_plot=False, name="ionization_map")
InĀ [5]:
Copied!
chi3,area3 = ionization_map_phase(size_in_Rstar=3, min_color=5.86, max_color=109.98, save_plot=False, name="ionization_map")
chi3,area3 = ionization_map_phase(size_in_Rstar=3, min_color=5.86, max_color=109.98, save_plot=False, name="ionization_map")
InĀ [6]:
Copied!
chi4,area4 = ionization_map_phase(size_in_Rstar=3, min_color=5.86, max_color=109.98, save_plot=False, name="ionization_map")
chi4,area4 = ionization_map_phase(size_in_Rstar=3, min_color=5.86, max_color=109.98, save_plot=False, name="ionization_map")
InĀ [7]:
Copied!
total_area= np.array([area1,area2,area3,area4])
yerr = np.transpose(np.diff(feka))
plt.figure(figsize=(5, 8))
plt.errorbar(total_area,feka[1], yerr=yerr, fmt=".")
plt.xlabel(r"Area where $\xi$ 25-100 (R$_{*}^{2}$)")
plt.ylabel(r"Fe k$_{\alpha}$ Area (photons s$^{-1}$ cm$^{-2}$)")
total_area= np.array([area1,area2,area3,area4])
yerr = np.transpose(np.diff(feka))
plt.figure(figsize=(5, 8))
plt.errorbar(total_area,feka[1], yerr=yerr, fmt=".")
plt.xlabel(r"Area where $\xi$ 25-100 (R$_{*}^{2}$)")
plt.ylabel(r"Fe k$_{\alpha}$ Area (photons s$^{-1}$ cm$^{-2}$)")
Out[7]:
Text(0, 0.5, 'Fe k$_{\\alpha}$ Area (photons s$^{-1}$ cm$^{-2}$)')