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 definitionDefines 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 functionProvides 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:
HighVoltageGeneratorSysteminstead of simple HV window ExecCompTorchFlowSysteminstead of separate flow_rate and residence_time ExecCompsBrownianArcMobilityModelfor physics-based mobility modelingExplicit intermediate variables (T_0, breakdown_voltage, flow_velocity, etc.)
Main Example#
example_operating_window_5d.py- 5D parameter sweep with parallel executionvisualize_operating_window.py- Static matplotlib visualization of operating windowsdashboard_operating_window.py- Interactive Plotly Dash dashboardgenerate_vedef_diagram.py- Mermaid diagram generation
Validation and Compliance#
validate_arc002_compliance.py- Validates parameter names against ARC002 registryChecks 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.pyARC002 Registry Utilities:
paroto/validation/arc002.py
Utilities#
Uses
paroto/utils/mermaid_generator.pyfor flowchart generationUses
paroto/utils/cytoscape_layout.pyfor 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.pyto create diagrams showing actual data flowShows 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
sphx_glr_auto_examples_VedEf_optim_1_problem_generate_diagram.py
sphx_glr_auto_examples_VedEf_optim_1_setup_vedef_problem.py
sphx_glr_auto_examples_VedEf_optim_2_optim_find_working_params.py
sphx_glr_auto_examples_VedEf_optim_2_optim_parameter_sweep_5d.py
sphx_glr_auto_examples_VedEf_optim_2_optim_simple_test.py
sphx_glr_auto_examples_VedEf_optim_2_optim_smart_search.py
sphx_glr_auto_examples_VedEf_optim_2_optim_temperature_focused.py
sphx_glr_auto_examples_VedEf_optim_3_analysis_dashboard.py
sphx_glr_auto_examples_VedEf_optim_3_analysis_power_constraint.py
sphx_glr_auto_examples_VedEf_optim_3_analysis_recommend_parameters.py
sphx_glr_auto_examples_VedEf_optim_3_analysis_visualize_window.py
sphx_glr_auto_examples_VedEf_optim_analyze_problem_graph.py
sphx_glr_auto_examples_VedEf_optim_validate_arc002_compliance.py