.. _sphx_glr_auto_examples_VedEf_optim: 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:** .. code-block:: bash 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 .. raw:: html
.. thumbnail-parent-div-open .. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_1_model_vedef_design_group_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_1_model_vedef_design_group.py` .. raw:: html
VedEf Design Group for 5-parameter operating window exploration.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_1_problem_generate_diagram_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_1_problem_generate_diagram.py` .. raw:: html
Generate hierarchical visualization for VedEf operating window models.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_1_setup_vedef_problem_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_1_setup_vedef_problem.py` .. raw:: html
VedEf Operating Window Problem Setup.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_2_optim_find_working_params_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_2_optim_find_working_params.py` .. raw:: html
Find working VedEf parameters through systematic search.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_2_optim_parameter_sweep_5d_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_2_optim_parameter_sweep_5d.py` .. raw:: html
Example: 5D Operating Window Exploration for VedEf Parameters.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_2_optim_simple_test_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_2_optim_simple_test.py` .. raw:: html
Minimal test to diagnose VedEf model issues.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_2_optim_smart_search_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_2_optim_smart_search.py` .. raw:: html
Smart parameter search for VedEf - targeting power and temperature constraints.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_2_optim_temperature_focused_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_2_optim_temperature_focused.py` .. raw:: html
Search focusing on achieving temperature rise for mobility constraint.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_3_analysis_dashboard_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_3_analysis_dashboard.py` .. raw:: html
Interactive Dash Dashboard for VedEf Operating Window Exploration.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_3_analysis_power_constraint_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_3_analysis_power_constraint.py` .. raw:: html
Analyze power constraint violations to find near-feasible operating points.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_3_analysis_recommend_parameters_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_3_analysis_recommend_parameters.py` .. raw:: html
Recommend parameter ranges to achieve 25 kW target power.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_3_analysis_visualize_window_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_3_analysis_visualize_window.py` .. raw:: html
Visualization of 5D Operating Window with 2D Slices.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_analyze_problem_graph_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_analyze_problem_graph.py` .. raw:: html
Analyze and visualize the VedEf problem graph structure.
.. raw:: html
.. only:: html .. image:: /auto_examples/VedEf_optim/images/thumb/sphx_glr_validate_arc002_compliance_thumb.png :alt: :ref:`sphx_glr_auto_examples_VedEf_optim_validate_arc002_compliance.py` .. raw:: html
Validate VedEf Problem Compliance with ARC002 Parameter Registry.
.. thumbnail-parent-div-close .. raw:: html
.. toctree:: :hidden: /auto_examples/VedEf_optim/1_model_vedef_design_group /auto_examples/VedEf_optim/1_problem_generate_diagram /auto_examples/VedEf_optim/1_setup_vedef_problem /auto_examples/VedEf_optim/2_optim_find_working_params /auto_examples/VedEf_optim/2_optim_parameter_sweep_5d /auto_examples/VedEf_optim/2_optim_simple_test /auto_examples/VedEf_optim/2_optim_smart_search /auto_examples/VedEf_optim/2_optim_temperature_focused /auto_examples/VedEf_optim/3_analysis_dashboard /auto_examples/VedEf_optim/3_analysis_power_constraint /auto_examples/VedEf_optim/3_analysis_recommend_parameters /auto_examples/VedEf_optim/3_analysis_visualize_window /auto_examples/VedEf_optim/analyze_problem_graph /auto_examples/VedEf_optim/validate_arc002_compliance