rizer.cantera_ext.thermal_plasma_column#
Numerical 1D thermal-plasma arc column, solved with Cantera’s Sim1D.
This is the numerical counterpart of
rizer.thermal_plasma.elenbaas_heller.ElenbaasHeller. It solves the
same steady radial Elenbaas-Heller equation
but without the analytical model’s piecewise-linear \(\sigma(\Theta)\)
closure: it discretizes the equation on a radial grid and solves the full
nonlinear system with Cantera’s Newton solver and adaptive grid refinement
(the compiled rizer.cantera_ext._plasma1d extension). Properties
\(\sigma(T)\), \(\kappa(T)\) are taken from the same tabulated LTE data
that ElenbaasHeller uses, so a comparison isolates the numerical solve from
the property model.
The Python API deliberately mirrors ElenbaasHeller so existing comparison
and plotting code is drop-in.
Classes#
Cantera-based numerical solution of the radial Elenbaas-Heller column. |
Module Contents#
- class rizer.cantera_ext.thermal_plasma_column.ThermalPlasmaColumn(R: float, electric_field: float | None, gas_data: rizer.thermal_plasma.fit_LTE_data.FitLTEData, current: float | None = None, n_points: int = 61, T_wall: float | None = None, with_radiation: bool = False, seed_from_eh: bool = True, T_center: float | None = None, refine_grid: bool = True)#
Cantera-based numerical solution of the radial Elenbaas-Heller column.
Solves the same steady radial equation as
ElenbaasHellerbut on the full nonlinear tabulated properties, without the piecewise-linear \(\sigma(\Theta)\) closure. The residual difference (~1–3 % inT_centerand current for H₂) is the analytical linearisation error.Either
electric_fieldorcurrent(not both) must be given. Current control wraps the fixed-field solve in a secant iteration onE; the initial bracket is taken from the analytical EH inverse.Assumptions and domain of validity
Steady state: the time derivative is dropped; this is the equilibrium arc column, not a transient.
Local Thermodynamic Equilibrium (LTE): a single temperature
T(Te = T_heavy);sigma(T),kappa(T)and composition come from tabulated LTE data (gas_data). Valid at high pressure / high collisionality where electrons and heavies equilibrate; not valid for non-equilibrium (low-pressure, fast-transient, near-electrode) plasmas.1-D radial, cylindrical, axisymmetric, infinitely long column: no axial gradients and no convection — a pure radial conduction balance.
Energy balance: radial conduction
+ohmic sourcesigma*E^2-optional radiationP_rad = 4*pi*NEC(T)(off by default, matching the analytical model). When enabled, radiation is treated as optically thin (net emission, no reabsorption).Geometry/BC:
r=0symmetry;r=RDirichletT_wall.Numerics: nonlinear finite-volume discretisation solved with Cantera’s damped-Newton method and adaptive grid refinement; current control is a secant iteration on
E. The fixed-field hot branch is thermally stiff, soseed_from_ehseeds Newton with the analytical profile (affects only convergence, not the converged solution).
- Parameters:
R (
float) – Outer (wall) radius [m].electric_field (
floatorNone) – Prescribed axial electric field [V/m]. Mutually exclusive withcurrent.gas_data (
FitLTEData) – LTE data object providingsigma(T),kappa(T)(fromthermo_transport_data) and, whenwith_radiation=True, the net emission coefficient NEC(T) (fromradiation_data).current (
floatorNone, optional) – Target arc current [A]. Mutually exclusive withelectric_field.n_points (
int, optional) – Initial number of uniform radial grid points, by default 61. The adaptive refiner may increase this during the solve.T_wall (
floatorNone, optional) – Wall (boundary) temperature [K]. Defaults to the lowest temperature in the tabulated data.with_radiation (
bool, optional) – Include the radiative power-density sink \(P_\mathrm{rad}(T) = 4\pi\,\mathrm{NEC}(T)\) [W/m³], by defaultFalse(matching the analytical model). The NEC is taken fromgas_data.radiation_data; setemission_radius_mminFitLTEDatato a physically meaningful value (not 0) to avoid over-estimating radiation losses.seed_from_eh (
bool, optional) – Seed Newton with the analytical EH temperature profile, by defaultTrue. The fixed-field hot branch is thermally stiff (arc instability); a good initial guess avoids expensive time-stepping. The seed affects only convergence speed, not the converged solution.T_center (
floatorNone, optional) – If given, the EH seed is replaced by a simple linear ramp fromT_center[K] at \(r = 0\) toT_wallat \(r = R\). Useful as a fallback when the no-radiation EH profile is too far from the radiative solution and causes Newton to find the cold (trivial) branch instead.refine_grid (
bool, optional) – Enable Cantera adaptive grid refinement, by defaultTrue.
Notes
- R#
- gas_data#
- T_wall#
- get_temperature_vs_radius(r: float) float#
Temperature [K] at radius
r, interpolated from the solution.
- temperature_profile() tuple[numpy.ndarray, numpy.ndarray]#
Return the converged
(r, T)arrays.
- grid() numpy.ndarray#
Radial grid [m] after refinement.
- conductivity_profile() numpy.ndarray#
Electrical conductivity [S/m] at each grid point.