arc_density#

Arc density constraint models for energy density limits.

This module provides models for constraining the maximum energy density in the arc volume, which is limited by physical processes.

Classes#

ArcDensityConstraintModel

Arc energy density constraint model (Medium Fidelity).

Module Contents#

class arc_density.ArcDensityConstraintModel#

Bases: paroto.core.models.base.EmpiricalModel

Arc energy density constraint model (Medium Fidelity).

Warning

Equations are AI generated, not ready for production. The maximum energy density threshold needs experimental validation.

This model constrains the energy density within the arc volume. Excessive energy density can lead to arc instabilities, excessive ionization, or thermal breakdown.

Physical basis:

The energy density is the energy per pulse divided by the arc volume:

\[ \begin{align}\begin{aligned}\rho_E = \frac{E_p}{V_{arc}}\\V_{arc} = \frac{\pi}{4} d_a^2 \cdot L_{arc}\\\text{Constraint: } \rho_E < \rho_{E,max}\end{aligned}\end{align} \]

where: - (rho_E) is energy density (J/m³) - (E_p) is energy per pulse (J) - (V_{arc}) is arc volume (m³) - (d_a) is thermal arc diameter (m) - (L_{arc}) is arc length (m) - (rho_{E,max}) is maximum allowed energy density (J/m³)

Note: The value of (rho_{E,max}) is system-dependent and requires experimental validation. Typical values may range from 1e8 to 1e10 J/m³ depending on gas properties, pressure, and arc stability criteria.

Examples

Minimal usage example:

>>> import openmdao.api as om
>>> from paroto.core.models.arc_density import ArcDensityConstraintModel
>>>
>>> prob = om.Problem()
>>> prob.model.add_subsystem(
...     "density",
...     ArcDensityConstraintModel(
...         model_parameters={"max_energy_density": 1e9}  # 1 GJ/m³
...     ),
... )
>>> prob.setup()
>>> prob.set_val("density.energy_per_pulse", 10e-3)  # 10 mJ
>>> prob.set_val("density.thermal_diameter", 0.002)  # 2 mm arc
>>> prob.set_val("density.arc_length", 0.01)  # 10 mm
>>> prob.run_model()
>>> energy_density = prob.get_val("density.energy_density")
>>> print(f"Energy density: {energy_density[0]:.2e} J/m³")

Examples

For complete examples, see: - Gallery: examples/gallery/plot_arc_density_model_example.py - Validation: examples/VedEf_optim/ (integrated validation)

initialize()#

Initialize model options.

setup()#

Define inputs and outputs.

compute(inputs, outputs)#

Compute arc energy density and constraint satisfaction.

Warning

Equations are AI generated, not ready for production.

Steps: 1. Calculate arc volume: V_arc = π/4 * d_a² * L_arc 2. Calculate energy density: ρ_E = E_p / V_arc 3. Calculate margin: margin = ρ_E_max - ρ_E 4. Determine constraint satisfaction