Tutorial 10: Calculating transport and radiation properties of an SiO-CO plasma.#
The most common use of minplascalc is expected to be the calculation of thermophysical properties of plasmas in LTE as a function of elemental composition, temperature, and pressure. For the more complex SiO-CO plasma, mixtures must be created as described in Tutorial 08: Calculating equilibrium compositions of an SiO-CO plasma. to specify the plasma species present and the relative proportions of elements.
For this tutorial we’ll again look at three different SiO-CO mixtures ranging from 10% SiO to 90% SiO by mole to show how the properties are affected by different mixture ratios.
Import the required libraries.#
We start by importing the modules we need:
matplotlib for drawing graphs,
numpy for array functions,
and of course minplascalc.
import matplotlib.pyplot as plt
import numpy as np
import minplascalc as mpc
Create mixture object for the species we’re interested in.#
Next, we create some minplascalc LTE mixture objects as before.
species = [
"O2",
"O2+",
"O",
"O+",
"O++",
"CO",
"CO+",
"C",
"C+",
"C++",
"SiO",
"SiO+",
"Si",
"Si+",
"Si++",
]
x0s = [
[0, 0, 0, 0, 0, 1 - sio, 0, 0, 0, 0, sio, 0, 0, 0, 0]
for sio in [0.1, 0.5, 0.9]
]
sico_mixtures = [
mpc.mixture.lte_from_names(species, x0, 1000, 101325) for x0 in x0s
]
Set a range of temperatures to calculate the equilibrium compositions at.#
Next, set a range of temperatures to calculate the equilibrium compositions at - in this case we’re going from 1000 to 25000 K in 100 K steps. Also initialise a list to store the property values at each temperature.
temperatures = np.linspace(1000, 25000, 100)
viscosity: list[list[float]] = [[], [], []]
electrical_conductivity: list[list[float]] = [[], [], []]
thermal_conductivity: list[list[float]] = [[], [], []]
total_emission_coefficient: list[list[float]] = [[], [], []]
Perform the composition calculations.#
Now we can perform the property calculations. We loop over all the temperatures setting the mixture object’s temperature attribute to the appropriate value, and calculating the plasma density by calling the LTE object’s calculate_viscosity(), calculate_electrical_conductivity(), calculate_thermal_conductivity() and calculate_total_emission_coefficient() functions. Internally, these make calls to calculate_composition() to obtain the composition of the plasma before the calculation of the properties.
Note that execution of this calculation is fairly compute intensive and the following code snippet may take several tens of seconds to complete.
for i, sico_mixture in enumerate(sico_mixtures):
print(f"Calculating properties for {sico_mixture}", end="\n")
for T in temperatures:
print(f"Calculating properties at T = {T:.2e} K", end="\r")
sico_mixture.T = T
viscosity[i].append(sico_mixture.calculate_viscosity())
electrical_conductivity[i].append(
sico_mixture.calculate_electrical_conductivity()
)
total_emission_coefficient[i].append(
sico_mixture.calculate_total_emission_coefficient()
)
thermal_conductivity[i].append(
sico_mixture.calculate_thermal_conductivity()
)
Calculating properties for LTE mixture species: ('O2', 'O2+', 'O', 'O+', 'O++', 'CO', 'CO+', 'C', 'C+', 'C++', 'SiO', 'SiO+', 'Si', 'Si+', 'Si++')
Initial composition: (0, 0, 0, 0, 0, 0.9, 0, 0, 0, 0, 0.1, 0, 0, 0, 0)
Temperature: 1000 K
Pressure: 101325 Pa
Calculating properties at T = 1.00e+03 K
Calculating properties at T = 1.24e+03 K
Calculating properties at T = 1.48e+03 K
Calculating properties at T = 1.73e+03 K
Calculating properties at T = 1.97e+03 K
Calculating properties at T = 2.21e+03 K
Calculating properties at T = 2.45e+03 K
Calculating properties at T = 2.70e+03 K
Calculating properties at T = 2.94e+03 K
Calculating properties at T = 3.18e+03 K
Calculating properties at T = 3.42e+03 K
Calculating properties at T = 3.67e+03 K
Calculating properties at T = 3.91e+03 K
Calculating properties at T = 4.15e+03 K
Calculating properties at T = 4.39e+03 K
Calculating properties at T = 4.64e+03 K
Calculating properties at T = 4.88e+03 K
Calculating properties at T = 5.12e+03 K
Calculating properties at T = 5.36e+03 K
Calculating properties at T = 5.61e+03 K
Calculating properties at T = 5.85e+03 K
Calculating properties at T = 6.09e+03 K
Calculating properties at T = 6.33e+03 K
Calculating properties at T = 6.58e+03 K
Calculating properties at T = 6.82e+03 K
Calculating properties at T = 7.06e+03 K
Calculating properties at T = 7.30e+03 K
Calculating properties at T = 7.55e+03 K
Calculating properties at T = 7.79e+03 K
Calculating properties at T = 8.03e+03 K
Calculating properties at T = 8.27e+03 K
Calculating properties at T = 8.52e+03 K
Calculating properties at T = 8.76e+03 K
Calculating properties at T = 9.00e+03 K
Calculating properties at T = 9.24e+03 K
Calculating properties at T = 9.48e+03 K
Calculating properties at T = 9.73e+03 K
Calculating properties at T = 9.97e+03 K
Calculating properties at T = 1.02e+04 K
Calculating properties at T = 1.05e+04 K
Calculating properties at T = 1.07e+04 K
Calculating properties at T = 1.09e+04 K
Calculating properties at T = 1.12e+04 K
Calculating properties at T = 1.14e+04 K
Calculating properties at T = 1.17e+04 K
Calculating properties at T = 1.19e+04 K
Calculating properties at T = 1.22e+04 K
Calculating properties at T = 1.24e+04 K
Calculating properties at T = 1.26e+04 K
Calculating properties at T = 1.29e+04 K
Calculating properties at T = 1.31e+04 K
Calculating properties at T = 1.34e+04 K
Calculating properties at T = 1.36e+04 K
Calculating properties at T = 1.38e+04 K
Calculating properties at T = 1.41e+04 K
Calculating properties at T = 1.43e+04 K
Calculating properties at T = 1.46e+04 K
Calculating properties at T = 1.48e+04 K
Calculating properties at T = 1.51e+04 K
Calculating properties at T = 1.53e+04 K
Calculating properties at T = 1.55e+04 K
Calculating properties at T = 1.58e+04 K
Calculating properties at T = 1.60e+04 K
Calculating properties at T = 1.63e+04 K
Calculating properties at T = 1.65e+04 K
Calculating properties at T = 1.68e+04 K
Calculating properties at T = 1.70e+04 K
Calculating properties at T = 1.72e+04 K
Calculating properties at T = 1.75e+04 K
Calculating properties at T = 1.77e+04 K
Calculating properties at T = 1.80e+04 K
Calculating properties at T = 1.82e+04 K
Calculating properties at T = 1.85e+04 K
Calculating properties at T = 1.87e+04 K
Calculating properties at T = 1.89e+04 K
Calculating properties at T = 1.92e+04 K
Calculating properties at T = 1.94e+04 K
Calculating properties at T = 1.97e+04 K
Calculating properties at T = 1.99e+04 K
Calculating properties at T = 2.02e+04 K
Calculating properties at T = 2.04e+04 K
Calculating properties at T = 2.06e+04 K
Calculating properties at T = 2.09e+04 K
Calculating properties at T = 2.11e+04 K
Calculating properties at T = 2.14e+04 K
Calculating properties at T = 2.16e+04 K
Calculating properties at T = 2.18e+04 K
Calculating properties at T = 2.21e+04 K
Calculating properties at T = 2.23e+04 K
Calculating properties at T = 2.26e+04 K
Calculating properties at T = 2.28e+04 K
Calculating properties at T = 2.31e+04 K
Calculating properties at T = 2.33e+04 K
Calculating properties at T = 2.35e+04 K
Calculating properties at T = 2.38e+04 K
Calculating properties at T = 2.40e+04 K
Calculating properties at T = 2.43e+04 K
Calculating properties at T = 2.45e+04 K
Calculating properties at T = 2.48e+04 K
Calculating properties at T = 2.50e+04 K
Calculating properties for LTE mixture species: ('O2', 'O2+', 'O', 'O+', 'O++', 'CO', 'CO+', 'C', 'C+', 'C++', 'SiO', 'SiO+', 'Si', 'Si+', 'Si++')
Initial composition: (0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0)
Temperature: 1000 K
Pressure: 101325 Pa
Calculating properties at T = 1.00e+03 K
Calculating properties at T = 1.24e+03 K
Calculating properties at T = 1.48e+03 K
Calculating properties at T = 1.73e+03 K
Calculating properties at T = 1.97e+03 K
Calculating properties at T = 2.21e+03 K
Calculating properties at T = 2.45e+03 K
Calculating properties at T = 2.70e+03 K
Calculating properties at T = 2.94e+03 K
Calculating properties at T = 3.18e+03 K
Calculating properties at T = 3.42e+03 K
Calculating properties at T = 3.67e+03 K
Calculating properties at T = 3.91e+03 K
Calculating properties at T = 4.15e+03 K
Calculating properties at T = 4.39e+03 K
Calculating properties at T = 4.64e+03 K
Calculating properties at T = 4.88e+03 K
Calculating properties at T = 5.12e+03 K
Calculating properties at T = 5.36e+03 K
Calculating properties at T = 5.61e+03 K
Calculating properties at T = 5.85e+03 K
Calculating properties at T = 6.09e+03 K
Calculating properties at T = 6.33e+03 K
Calculating properties at T = 6.58e+03 K
Calculating properties at T = 6.82e+03 K
Calculating properties at T = 7.06e+03 K
Calculating properties at T = 7.30e+03 K
Calculating properties at T = 7.55e+03 K
Calculating properties at T = 7.79e+03 K
Calculating properties at T = 8.03e+03 K
Calculating properties at T = 8.27e+03 K
Calculating properties at T = 8.52e+03 K
Calculating properties at T = 8.76e+03 K
Calculating properties at T = 9.00e+03 K
Calculating properties at T = 9.24e+03 K
Calculating properties at T = 9.48e+03 K
Calculating properties at T = 9.73e+03 K
Calculating properties at T = 9.97e+03 K
Calculating properties at T = 1.02e+04 K
Calculating properties at T = 1.05e+04 K
Calculating properties at T = 1.07e+04 K
Calculating properties at T = 1.09e+04 K
Calculating properties at T = 1.12e+04 K
Calculating properties at T = 1.14e+04 K
Calculating properties at T = 1.17e+04 K
Calculating properties at T = 1.19e+04 K
Calculating properties at T = 1.22e+04 K
Calculating properties at T = 1.24e+04 K
Calculating properties at T = 1.26e+04 K
Calculating properties at T = 1.29e+04 K
Calculating properties at T = 1.31e+04 K
Calculating properties at T = 1.34e+04 K
Calculating properties at T = 1.36e+04 K
Calculating properties at T = 1.38e+04 K
Calculating properties at T = 1.41e+04 K
Calculating properties at T = 1.43e+04 K
Calculating properties at T = 1.46e+04 K
Calculating properties at T = 1.48e+04 K
Calculating properties at T = 1.51e+04 K
Calculating properties at T = 1.53e+04 K
Calculating properties at T = 1.55e+04 K
Calculating properties at T = 1.58e+04 K
Calculating properties at T = 1.60e+04 K
Calculating properties at T = 1.63e+04 K
Calculating properties at T = 1.65e+04 K
Calculating properties at T = 1.68e+04 K
Calculating properties at T = 1.70e+04 K
Calculating properties at T = 1.72e+04 K
Calculating properties at T = 1.75e+04 K
Calculating properties at T = 1.77e+04 K
Calculating properties at T = 1.80e+04 K
Calculating properties at T = 1.82e+04 K
Calculating properties at T = 1.85e+04 K
Calculating properties at T = 1.87e+04 K
Calculating properties at T = 1.89e+04 K
Calculating properties at T = 1.92e+04 K
Calculating properties at T = 1.94e+04 K
Calculating properties at T = 1.97e+04 K
Calculating properties at T = 1.99e+04 K
Calculating properties at T = 2.02e+04 K
Calculating properties at T = 2.04e+04 K
Calculating properties at T = 2.06e+04 K
Calculating properties at T = 2.09e+04 K
Calculating properties at T = 2.11e+04 K
Calculating properties at T = 2.14e+04 K
Calculating properties at T = 2.16e+04 K
Calculating properties at T = 2.18e+04 K
Calculating properties at T = 2.21e+04 K
Calculating properties at T = 2.23e+04 K
Calculating properties at T = 2.26e+04 K
Calculating properties at T = 2.28e+04 K
Calculating properties at T = 2.31e+04 K
Calculating properties at T = 2.33e+04 K
Calculating properties at T = 2.35e+04 K
Calculating properties at T = 2.38e+04 K
Calculating properties at T = 2.40e+04 K
Calculating properties at T = 2.43e+04 K
Calculating properties at T = 2.45e+04 K
Calculating properties at T = 2.48e+04 K
Calculating properties at T = 2.50e+04 K
Calculating properties for LTE mixture species: ('O2', 'O2+', 'O', 'O+', 'O++', 'CO', 'CO+', 'C', 'C+', 'C++', 'SiO', 'SiO+', 'Si', 'Si+', 'Si++')
Initial composition: (0, 0, 0, 0, 0, 0.09999999999999998, 0, 0, 0, 0, 0.9, 0, 0, 0, 0)
Temperature: 1000 K
Pressure: 101325 Pa
Calculating properties at T = 1.00e+03 K
Calculating properties at T = 1.24e+03 K
Calculating properties at T = 1.48e+03 K
Calculating properties at T = 1.73e+03 K
Calculating properties at T = 1.97e+03 K
Calculating properties at T = 2.21e+03 K
Calculating properties at T = 2.45e+03 K
Calculating properties at T = 2.70e+03 K
Calculating properties at T = 2.94e+03 K
Calculating properties at T = 3.18e+03 K
Calculating properties at T = 3.42e+03 K
Calculating properties at T = 3.67e+03 K
Calculating properties at T = 3.91e+03 K
Calculating properties at T = 4.15e+03 K
Calculating properties at T = 4.39e+03 K
Calculating properties at T = 4.64e+03 K
Calculating properties at T = 4.88e+03 K
Calculating properties at T = 5.12e+03 K
Calculating properties at T = 5.36e+03 K
Calculating properties at T = 5.61e+03 K
Calculating properties at T = 5.85e+03 K
Calculating properties at T = 6.09e+03 K
Calculating properties at T = 6.33e+03 K
Calculating properties at T = 6.58e+03 K
Calculating properties at T = 6.82e+03 K
Calculating properties at T = 7.06e+03 K
Calculating properties at T = 7.30e+03 K
Calculating properties at T = 7.55e+03 K
Calculating properties at T = 7.79e+03 K
Calculating properties at T = 8.03e+03 K
Calculating properties at T = 8.27e+03 K
Calculating properties at T = 8.52e+03 K
Calculating properties at T = 8.76e+03 K
Calculating properties at T = 9.00e+03 K
Calculating properties at T = 9.24e+03 K
Calculating properties at T = 9.48e+03 K
Calculating properties at T = 9.73e+03 K
Calculating properties at T = 9.97e+03 K
Calculating properties at T = 1.02e+04 K
Calculating properties at T = 1.05e+04 K
Calculating properties at T = 1.07e+04 K
Calculating properties at T = 1.09e+04 K
Calculating properties at T = 1.12e+04 K
Calculating properties at T = 1.14e+04 K
Calculating properties at T = 1.17e+04 K
Calculating properties at T = 1.19e+04 K
Calculating properties at T = 1.22e+04 K
Calculating properties at T = 1.24e+04 K
Calculating properties at T = 1.26e+04 K
Calculating properties at T = 1.29e+04 K
Calculating properties at T = 1.31e+04 K
Calculating properties at T = 1.34e+04 K
Calculating properties at T = 1.36e+04 K
Calculating properties at T = 1.38e+04 K
Calculating properties at T = 1.41e+04 K
Calculating properties at T = 1.43e+04 K
Calculating properties at T = 1.46e+04 K
Calculating properties at T = 1.48e+04 K
Calculating properties at T = 1.51e+04 K
Calculating properties at T = 1.53e+04 K
Calculating properties at T = 1.55e+04 K
Calculating properties at T = 1.58e+04 K
Calculating properties at T = 1.60e+04 K
Calculating properties at T = 1.63e+04 K
Calculating properties at T = 1.65e+04 K
Calculating properties at T = 1.68e+04 K
Calculating properties at T = 1.70e+04 K
Calculating properties at T = 1.72e+04 K
Calculating properties at T = 1.75e+04 K
Calculating properties at T = 1.77e+04 K
Calculating properties at T = 1.80e+04 K
Calculating properties at T = 1.82e+04 K
Calculating properties at T = 1.85e+04 K
Calculating properties at T = 1.87e+04 K
Calculating properties at T = 1.89e+04 K
Calculating properties at T = 1.92e+04 K
Calculating properties at T = 1.94e+04 K
Calculating properties at T = 1.97e+04 K
Calculating properties at T = 1.99e+04 K
Calculating properties at T = 2.02e+04 K
Calculating properties at T = 2.04e+04 K
Calculating properties at T = 2.06e+04 K
Calculating properties at T = 2.09e+04 K
Calculating properties at T = 2.11e+04 K
Calculating properties at T = 2.14e+04 K
Calculating properties at T = 2.16e+04 K
Calculating properties at T = 2.18e+04 K
Calculating properties at T = 2.21e+04 K
Calculating properties at T = 2.23e+04 K
Calculating properties at T = 2.26e+04 K
Calculating properties at T = 2.28e+04 K
Calculating properties at T = 2.31e+04 K
Calculating properties at T = 2.33e+04 K
Calculating properties at T = 2.35e+04 K
Calculating properties at T = 2.38e+04 K
Calculating properties at T = 2.40e+04 K
Calculating properties at T = 2.43e+04 K
Calculating properties at T = 2.45e+04 K
Calculating properties at T = 2.48e+04 K
Calculating properties at T = 2.50e+04 K
Plot the results.#
Now we can visualise the properties by plotting them against temperature, to see how they vary.
fig, axs = plt.subplots(2, 2, figsize=(10, 7), sharex=True)
labels = ["10% SiO", "50% SiO", "90% SiO"]
ax = axs[0, 0]
ax.set_title(r"$\mathregular{SiO-CO}$ plasma viscosity")
ax.set_ylabel("$\\mathregular{\\mu [Pa.s]}$")
for visc, label in zip(viscosity, labels):
ax.plot(temperatures, visc, label=label)
ax = axs[0, 1]
ax.set_title(r"$\mathregular{SiO-CO}$ plasma thermal conductivity")
ax.set_ylabel("$\\mathregular{\\kappa [W/(m.K)]}$")
for thermal_cond, label in zip(thermal_conductivity, labels):
ax.plot(temperatures, thermal_cond, label=label)
ax = axs[1, 0]
ax.set_title(r"$\mathregular{SiO-CO}$ plasma electrical conductivity")
ax.set_xlabel("T [K]")
ax.set_ylabel("$\\mathregular{\\sigma [S/m]}$")
for elec_cond, label in zip(electrical_conductivity, labels):
ax.plot(temperatures, elec_cond, label=label)
ax = axs[1, 1]
ax.set_title(r"$\mathregular{SiO-CO}$ plasma emission coefficient")
ax.set_xlabel("T [K]")
ax.set_ylabel("$\\mathregular{\\epsilon_{tot} [W/(m^3.sr)]}$")
for emiss, label in zip(total_emission_coefficient, labels):
ax.plot(temperatures, emiss, label=label)
ax.legend()
plt.tight_layout()

Conclusion#
The impact of changing the elemental composition of the plasma is again quite considerable and non-linear, especially for thermal conductivity and emission coefficient. The general trend as SiO content in the plasma increases is toward slightly lower values of \(\mu\) and \(\kappa\), and much higher values of \(\epsilon_{tot}\), with \(\sigma\) varying relatively little except at high temperatures.
Total running time of the script: (4 minutes 6.360 seconds)