.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/VedEf_optim/2_optim_simple_test.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_VedEf_optim_2_optim_simple_test.py: Minimal test to diagnose VedEf model issues. .. GENERATED FROM PYTHON SOURCE LINES 2-78 .. code-block:: Python import importlib.util import traceback from pathlib import Path # Import setup_vedef_problem from the numbered file spec = importlib.util.spec_from_file_location( "problem_module", Path(__file__).parent / "1_setup_vedef_problem.py" ) problem_module = importlib.util.module_from_spec(spec) spec.loader.exec_module(problem_module) setup_vedef_problem = problem_module.setup_vedef_problem # Test parameters (nominal values) V = 20000.0 # 20 kV e = 0.01 # 10 mm d_t = 0.02 # 20 mm f = 50000.0 # 50 kHz E_p = 0.010 # 10 mJ print("Creating problem...") try: prob = setup_vedef_problem() print("Setup successful!") except Exception as e: print(f"Setup failed: {e}") traceback.print_exc() exit(1) print("\nSetting parameters...") try: # Set fixed parameters prob.set_val("pulse_duration", 1e-6, units="s") prob.set_val("TP_QM", 160.0 / 86400.0, units="kg/s") # Mass flow # Set design variables (using ARC002 parameter tags) prob.set_val("G_UMAX_OUT", V, units="V") # HV voltage prob.set_val("G_e", e, units="m") # Gap distance prob.set_val("TP_D_OUT", d_t, units="m") # Torch diameter prob.set_val("G_F", f, units="Hz") # Pulse frequency prob.set_val("G_Ep", E_p, units="J") # Energy per pulse print("Parameters set successfully!") except Exception as e: print(f"Parameter setting failed: {e}") traceback.print_exc() exit(1) print("\nRunning model...") try: prob.run_model() print("Model run successful!") except Exception as e: print(f"Model run failed: {e}") traceback.print_exc() exit(1) print("\nExtracting results...") try: print(f"T_0 = {prob.get_val('T_0', units='K')[0]:.1f} K") print(f"T_max = {prob.get_val('T_max', units='K')[0]:.1f} K") print(f"Breakdown voltage = {prob.get_val('breakdown_voltage', units='V')[0] / 1e3:.1f} kV") print(f"Breakdown margin = {prob.get_val('breakdown_margin', units='V')[0] / 1e3:.1f} kV") print(f"Coverage fraction = {prob.get_val('coverage_fraction')[0]:.3f}") print(f"Coverage margin = {prob.get_val('coverage_margin')[0]:.3f}") print(f"Energy density = {prob.get_val('energy_density', units='J/m**3')[0] / 1e6:.1f} MJ/m3") print(f"Density margin = {prob.get_val('density_margin', units='J/m**3')[0] / 1e6:.1f} MJ/m3") print(f"Flow velocity = {prob.get_val('flow_velocity', units='m/s')[0]:.2f} m/s") print(f"Residence time = {prob.get_val('residence_time', units='s')[0] * 1e3:.2f} ms") print(f"Operating window power = {prob.get_val('operating_window_power', units='W')[0]:.1f} W") print(f"Power error = {prob.get_val('PowerConstraint.power_error')[0] * 100:.1f}%") print("\nAll results extracted successfully!") except Exception as e: print(f"Result extraction failed: {e}") traceback.print_exc() exit(1) .. _sphx_glr_download_auto_examples_VedEf_optim_2_optim_simple_test.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: 2_optim_simple_test.ipynb <2_optim_simple_test.ipynb>` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: 2_optim_simple_test.py <2_optim_simple_test.py>` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: 2_optim_simple_test.zip <2_optim_simple_test.zip>`