VedEf Operating Window - 5D Parameter Space Exploration#

This directory contains a comprehensive example for exploring the operating window of a pulsed plasma torch with 5 design parameters and multiple physics-based constraints.

Overview#

The VedEf optimization explores 5 design parameters using ARC002 parameter naming convention:

  • G_UMAX_OUT (kV): Generator voltage (High voltage)

  • G_e (mm): Interelectrode gap distance

  • TP_D_OUT (mm): Torch outlet diameter

  • G_F (kHz): PRF - Pulse Frequency

  • G_Ep (J): Energy per pulse

  • TP_QM (kg/h): Mass flow rate per torch

All parameters follow the ARC002 parameter registry standard for consistency across the project and compatibility with experimental specifications.

Files#

Integration Layer (Example-Specific)#

  • 1_model_vedef_design_group.py - VedEfDesignGroup model definition

    Defines the VedEfDesignGroup class that integrates all models for 5D exploration. This is the reusable model component containing physics models, constraints, and connections.

  • 1_setup_vedef_problem.py - Problem factory function

    Provides setup_vedef_problem() convenience function that creates a fully configured OpenMDAO Problem with default parameter values. Used by all analysis scripts for consistency.

    Note: These are application-specific integration files, not core library components. They connect the 5 parameters, 7 physics models/systems, and 10 constraints for this example.

    Architecture Update (Nov 2025): Refactored to use:

    • HighVoltageGeneratorSystem instead of simple HV window ExecComp

    • TorchFlowSystem instead of separate flow_rate and residence_time ExecComps

    • BrownianArcMobilityModel for physics-based mobility modeling

    • Explicit intermediate variables (T_0, breakdown_voltage, flow_velocity, etc.)

Main Example#

  • example_operating_window_5d.py - 5D parameter sweep with parallel execution

  • visualize_operating_window.py - Static matplotlib visualization of operating windows

  • dashboard_operating_window.py - Interactive Plotly Dash dashboard

  • generate_vedef_diagram.py - Mermaid diagram generation

Validation and Compliance#

  • validate_arc002_compliance.py - Validates parameter names against ARC002 registry

    Checks that all critical design parameters:

    • Are defined in the ARC002 parameter registry

    • Are associated with the correct Equipment_Class (Generator, PlasmaTorch, etc.)

    • Follow the standard naming convention

    Usage:

    python examples/VedEf_optim/validate_arc002_compliance.py
    

    ARC002 Registry Utilities: paroto/validation/arc002.py

Utilities#

  • Uses paroto/utils/mermaid_generator.py for flowchart generation

  • Uses paroto/utils/cytoscape_layout.py for interactive graph layouts

Physics Models#

New Models Created#

1. Initial Temperature Model (PulseInitialTemperatureModel)#

Computes the initial gas temperature before each pulse, accounting for:

  • Energy-to-temperature conversion via sub-model:

    • ConstantCpEnergyModel (Low fidelity, default)

    • CanteraEnergyModel (High fidelity, optional)

  • Cylindrical thermal diffusion with characteristic time τ = (d_a/2)² / (4α)

  • Exponential relaxation between pulses

Location: paroto/core/models/initial_temperature.py

Sub-models: paroto/core/models/energy_to_temperature.py

Gallery: examples/gallery/plot_initial_temperature_model_example.py, plot_energy_to_temperature_example.py

Validation: paroto/validation/validate_initial_temperature.py

2. Coverage Model (ArcCoverageModel)#

Ensures complete gas treatment by the arc, as if the arc was painting the cross-flow gas:

  • Constraint: π × e × d_a² / 4 × f ≥ v × S

  • Outputs coverage fraction and constraint satisfaction

  • Critical for ensuring all gas passes through the thermal treatment zone

Location: paroto/core/models/coverage.py

Gallery: examples/gallery/plot_coverage_model_example.py

Validation: paroto/validation/validate_coverage.py

3. Arc Density Constraint Model (ArcDensityConstraintModel)#

Limits energy density in the arc volume:

  • Constraint: ρ_E = E_p / V_arc < ρ_E_max

  • Prevents arc instabilities from excessive energy concentration

  • Note: Max energy density threshold requires experimental validation

Location: paroto/core/models/arc_density.py

Gallery: examples/gallery/plot_arc_density_model_example.py

4. Arc Mobility Model (BrownianArcMobilityModel)#

Models arc attachment point movement as Brownian motion:

  • Affects reignition probability and thermal loading distribution

  • Computes RMS displacement, mobility factor, and thermal spread factor

  • Based on characteristic velocity and time between pulses

Location: paroto/core/models/arc_mobility.py

Gallery: examples/gallery/plot_mobility_model_example.py

Validation: validation/validate_mobility.py

Existing Systems Integrated#

5. High Voltage Generator System (HighVoltageGeneratorSystem)#

Models power electronics constraints:

  • Operating window: f × V² × t_pulse / Z ≤ P_max

  • Replaces simple ExecComp with full system model

  • Outputs: operating_window_power, hv_operating_window_satisfied

Location: paroto/systems/generator.py

6. Torch Flow System (TorchFlowSystem)#

Models gas dynamics:

  • Mass conservation: ṁ = ρ × v × S

  • Residence time calculation

  • Reynolds number and pressure drop

  • Replaces simple ExecComps with physics-based flow model

Location: paroto/systems/torch/flow.py

Auto-Generated Architecture Diagrams#

The VeDeF example now includes automatic Mermaid diagram generation that introspects the OpenMDAO problem structure to visualize the complete architecture:

  • Run generate_auto_diagram.py to create diagrams showing actual data flow

  • Shows parameters (green), models (blue), intermediates (orange), constraints (red)

  • Eliminates manual diagram maintenance - always reflects current implementation

Script: examples/VedEf_optim/generate_auto_diagram.py

Generator: utils/mermaid_generator.py - generate_problem_graph() function

sphx_glr_auto_examples_VedEf_optim_1_model_vedef_design_group.py

VedEf Design Group for 5-parameter operating window exploration.

sphx_glr_auto_examples_VedEf_optim_1_problem_generate_diagram.py

Generate hierarchical visualization for VedEf operating window models.

sphx_glr_auto_examples_VedEf_optim_1_setup_vedef_problem.py

VedEf Operating Window Problem Setup.

sphx_glr_auto_examples_VedEf_optim_2_optim_find_working_params.py

Find working VedEf parameters through systematic search.

sphx_glr_auto_examples_VedEf_optim_2_optim_parameter_sweep_5d.py

Example: 5D Operating Window Exploration for VedEf Parameters.

sphx_glr_auto_examples_VedEf_optim_2_optim_simple_test.py

Minimal test to diagnose VedEf model issues.

sphx_glr_auto_examples_VedEf_optim_2_optim_smart_search.py

Smart parameter search for VedEf - targeting power and temperature constraints.

sphx_glr_auto_examples_VedEf_optim_2_optim_temperature_focused.py

Search focusing on achieving temperature rise for mobility constraint.

sphx_glr_auto_examples_VedEf_optim_3_analysis_dashboard.py

Interactive Dash Dashboard for VedEf Operating Window Exploration.

sphx_glr_auto_examples_VedEf_optim_3_analysis_power_constraint.py

Analyze power constraint violations to find near-feasible operating points.

sphx_glr_auto_examples_VedEf_optim_3_analysis_recommend_parameters.py

Recommend parameter ranges to achieve 25 kW target power.

sphx_glr_auto_examples_VedEf_optim_3_analysis_visualize_window.py

Visualization of 5D Operating Window with 2D Slices.

sphx_glr_auto_examples_VedEf_optim_analyze_problem_graph.py

Analyze and visualize the VedEf problem graph structure.

sphx_glr_auto_examples_VedEf_optim_validate_arc002_compliance.py

Validate VedEf Problem Compliance with ARC002 Parameter Registry.