—
Plot radiation data vs. temperature for CH4, H2 and N2.#
This example plots the radiation data of CH4, H2 and N2 as a function of temperature, for different reference data from the literature.
Note that the NEC (Net Emission Coefficient) depends on the emission radius, which is varied here from 0 to 10 mm. When the emission radius increases, the NEC decreases, since auto-absorption increases. For 0 mm emission radius, the NEC is equal to the total emission (since there is no auto-absorption).
Also note that the NEC from CH4 is higher than that of H2.
Import the required libraries.#
import matplotlib.pyplot as plt
import seaborn as sns
from rizer.io.radiation_data_reader import RadiationDataReader
# Set the style of the plots.
sns.set_theme("talk")
Plot emission data for hydrogen.#
Note that the NEC from Benallal2012 is higher than the other two sources.
fig, ax = plt.subplots(figsize=(12, 8), layout="constrained")
sources = ["Benallal2012", "Gueye2017", "Riad1995"]
colors = ["black", "red", "blue"]
emission_radii = [0, 1, 2, 5, 10]
linestyles = ["solid", "dashed", "dotted", "dashdot", (0, (3, 1, 1, 1))]
for emission_radius_mm, linestyle in zip(emission_radii, linestyles):
# Get the radiation data for methane from different sources.
for source, color in zip(sources, colors):
try:
data_H2 = RadiationDataReader(
gas_name="H2",
pressure_atm=1,
emission_radius_mm=emission_radius_mm,
source=source,
)
data_H2.plot(
fig_ax=(fig, ax),
label=f"{source} (r={emission_radius_mm} mm)",
show=False,
color=color,
linestyle=linestyle,
)
except FileNotFoundError:
print(f"Data for {source} not found, skipping.")
continue
ax.set_yscale("log")
ax.set_xlim(5000, 30000)
ax.set_ylim(1e3, 1e12)
ax.legend()
plt.show()
![Net Emission Coefficient $\mathregular{[W/(m^3.sr)]}$ vs. Temperature $\mathregular{[K]}$, Gas: H2, pressure: 1 atm, Source: Riad1995, radius: 10 mm](../../_images/sphx_glr_plot_NEC_001.png)
Data for Gueye2017 not found, skipping.
Data for Riad1995 not found, skipping.
Data for Benallal2012 not found, skipping.
Data for Gueye2017 not found, skipping.
Data for Gueye2017 not found, skipping.
Data for Riad1995 not found, skipping.
Plot emission data for methane.#
Note that the NEC from Benallal2012 is higher than the other two sources, only for no emission radius.
fig, ax = plt.subplots(figsize=(12, 8), layout="constrained")
sources = ["Benallal2012", "minplascalc", "Riad1995"]
colors = ["black", "red", "blue"]
emission_radii = [0, 1, 2, 5, 10]
linestyles = ["solid", "dashed", "dotted", "dashdot", (0, (3, 1, 1, 1))]
for emission_radius_mm, linestyle in zip(emission_radii, linestyles):
# Get the radiation data for methane from different sources.
for source, color in zip(sources, colors):
try:
data_CH4 = RadiationDataReader(
gas_name="CH4",
pressure_atm=1,
emission_radius_mm=emission_radius_mm,
source=source,
)
data_CH4.plot(
fig_ax=(fig, ax),
label=f"{source} (r={emission_radius_mm} mm)",
show=False,
color=color,
linestyle=linestyle,
)
except FileNotFoundError:
print(f"Data for {source} not found, skipping.")
continue
ax.set_yscale("log")
ax.set_xlim(5000, 30000)
ax.set_ylim(1e3, 1e12)
ax.legend()
plt.show()
![Net Emission Coefficient $\mathregular{[W/(m^3.sr)]}$ vs. Temperature $\mathregular{[K]}$, Gas: CH4, pressure: 1 atm, Source: Benallal2012, radius: 10 mm](../../_images/sphx_glr_plot_NEC_002.png)
Data for minplascalc not found, skipping.
Data for Riad1995 not found, skipping.
Data for Benallal2012 not found, skipping.
Data for minplascalc not found, skipping.
Data for minplascalc not found, skipping.
Data for minplascalc not found, skipping.
Data for Riad1995 not found, skipping.
Plot emission data for nitrogen.#
fig, ax = plt.subplots(figsize=(12, 8), layout="constrained")
sources = ["Naghizadeh2002"]
colors = ["black"]
emission_radii = [0, 0.1, 1, 10, 100] # type: ignore
linestyles = ["solid", "dashed", "dotted", "dashdot", (0, (3, 1, 1, 1))]
for emission_radius_mm, linestyle in zip(emission_radii, linestyles):
# Get the radiation data for methane from different sources.
for source, color in zip(sources, colors):
try:
data_N2 = RadiationDataReader(
gas_name="N2",
pressure_atm=1,
emission_radius_mm=emission_radius_mm,
source=source,
)
data_N2.plot(
fig_ax=(fig, ax),
label=f"{source} (r={emission_radius_mm} mm)",
show=False,
color=color,
linestyle=linestyle,
)
except FileNotFoundError:
print(f"Data for {source} not found, skipping.")
continue
ax.set_yscale("log")
ax.set_xlim(5000, 30000)
ax.set_ylim(1e3, 1e12)
ax.legend()
plt.show()
![Net Emission Coefficient $\mathregular{[W/(m^3.sr)]}$ vs. Temperature $\mathregular{[K]}$, Gas: N2, pressure: 1 atm, Source: Naghizadeh2002, radius: 100 mm](../../_images/sphx_glr_plot_NEC_003.png)
Total running time of the script: (0 minutes 1.175 seconds)