.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/00-fluent/parametric_static_mixer_1.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_examples_00-fluent_parametric_static_mixer_1.py: .. _ref_parametric_static_mixer_1: Parametric study workflow ------------------------- This example shows how you can use the parametric study workflow to analyze a static mixer. .. GENERATED FROM PYTHON SOURCE LINES 8-14 .. code-block:: Python from pathlib import Path import ansys.fluent.core as pyfluent from ansys.fluent.core import examples .. GENERATED FROM PYTHON SOURCE LINES 16-19 Perform required imports ~~~~~~~~~~~~~~~~~~~~~~~~ Perform the required imports. .. GENERATED FROM PYTHON SOURCE LINES 22-25 Launch Fluent ~~~~~~~~~~~~~ Launch Fluent in 3D and double precision. .. GENERATED FROM PYTHON SOURCE LINES 25-30 .. code-block:: Python solver_session = pyfluent.launch_fluent( precision="double", processor_count=2, mode="solver" ) .. GENERATED FROM PYTHON SOURCE LINES 31-34 Download and read files ~~~~~~~~~~~~~~~~~~~~~~~ Download the files for this example and read the case for the static mixer. .. GENERATED FROM PYTHON SOURCE LINES 34-43 .. code-block:: Python import_filename = examples.download_file( "Static_Mixer_main.cas.h5", "pyfluent/static_mixer", return_without_path=False, ) solver_session.settings.file.read_case(file_name=import_filename) .. GENERATED FROM PYTHON SOURCE LINES 44-47 Set iterations ~~~~~~~~~~~~~~ Set the number of iterations to 100. .. GENERATED FROM PYTHON SOURCE LINES 47-50 .. code-block:: Python solver_session.settings.solution.run_calculation.iter_count = 100 .. GENERATED FROM PYTHON SOURCE LINES 51-58 Create input parameters ~~~~~~~~~~~~~~~~~~~~~~~ Enable parameter creation in the TUI and then create input parameters for the velocity and temperatures of inlets 1 and 2: Parameter values: Inlet1: velocity (inlet1_vel) 0.5 m/s and temperature (inlet1_temp) at 300 K Inlet2: velocity (inlet2_vel) 0.5 m/s and temperature (inlet2_temp) at 350 K .. GENERATED FROM PYTHON SOURCE LINES 58-121 .. code-block:: Python solver_session.settings.parameters.enable_in_tui = True solver_session.settings.setup.named_expressions["inlet1_vel"] = { "output_parameter": False, "input_parameter": True, "unit": "velocity", "parametername": "inlet1_vel", "parameterid": "real-1", "description": "", "definition": "1 [m/s]", "name": "inlet1_vel", } solver_session.settings.setup.boundary_conditions.velocity_inlet["inlet1"] = { "momentum": {"velocity": {"value": "inlet1_vel"}} } solver_session.settings.setup.named_expressions["inlet1_temp"] = { "output_parameter": False, "input_parameter": True, "unit": "temperature", "parametername": "inlet1_temp", "parameterid": "real-2", "description": "", "definition": "300 [K]", "name": "inlet1_temp", } solver_session.settings.setup.boundary_conditions.velocity_inlet["inlet1"] = { "thermal": {"temperature": {"value": "inlet1_temp"}} } solver_session.settings.setup.named_expressions["inlet2_vel"] = { "output_parameter": False, "input_parameter": True, "unit": "velocity", "parametername": "inlet2_vel", "parameterid": "real-3", "description": "", "definition": "1 [m/s]", "name": "inlet2_vel", } solver_session.settings.setup.boundary_conditions.velocity_inlet["inlet2"] = { "momentum": {"velocity": {"value": "inlet2_vel"}} } solver_session.settings.setup.named_expressions["inlet2_temp"] = { "output_parameter": False, "input_parameter": True, "unit": "temperature", "parametername": "inlet2_temp", "parameterid": "real-4", "description": "", "definition": "350 [K]", "name": "inlet2_temp", } solver_session.settings.setup.boundary_conditions.velocity_inlet["inlet2"] = { "thermal": {"temperature": {"value": "inlet2_temp"}} } .. GENERATED FROM PYTHON SOURCE LINES 122-126 Create output parameters ~~~~~~~~~~~~~~~~~~~~~~~~ Create output parameters named ``outlet-temp-avg`` and ``outlet-vel-avg`` using report definitions. .. GENERATED FROM PYTHON SOURCE LINES 126-163 .. code-block:: Python solver_session.settings.solution.report_definitions.surface["outlet-temp-avg"] = {} solver_session.settings.solution.report_definitions.surface[ "outlet-temp-avg" ].report_type = "surface-areaavg" solver_session.settings.solution.report_definitions.surface["outlet-temp-avg"].field = ( "temperature" ) solver_session.settings.solution.report_definitions.surface[ "outlet-temp-avg" ].surface_names = ["outlet"] solver_session.settings.solution.report_definitions.surface["outlet-vel-avg"] = {} solver_session.settings.solution.report_definitions.surface[ "outlet-vel-avg" ].report_type = "surface-areaavg" solver_session.settings.solution.report_definitions.surface["outlet-vel-avg"].field = ( "velocity-magnitude" ) solver_session.settings.solution.report_definitions.surface[ "outlet-vel-avg" ].surface_names = ["outlet"] solver_session.settings.parameters.output_parameters.report_definitions[ "parameter-5" ] = {} solver_session.settings.parameters.output_parameters.report_definitions[ "parameter-5" ] = {"report_definition": "outlet-temp-avg"} solver_session.settings.parameters.output_parameters.report_definitions[ "parameter-6" ] = {} solver_session.settings.parameters.output_parameters.report_definitions[ "parameter-6" ] = {"report_definition": "outlet-vel-avg"} .. GENERATED FROM PYTHON SOURCE LINES 164-167 Enable convergence condition check ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Enable the convergence condition check. .. GENERATED FROM PYTHON SOURCE LINES 167-170 .. code-block:: Python solver_session.settings.solution.monitor.residual.options.criterion_type = "absolute" .. GENERATED FROM PYTHON SOURCE LINES 171-174 Write case ~~~~~~~~~~ Write the case with all settings in place. .. GENERATED FROM PYTHON SOURCE LINES 174-178 .. code-block:: Python case_path = str(Path(pyfluent.EXAMPLES_PATH) / "Static_Mixer_Parameters.cas.h5") solver_session.settings.file.write_case(file_name=case_path) .. GENERATED FROM PYTHON SOURCE LINES 179-182 Initialize parametric study ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Initialize a parametric design point study from a Fluent session. .. GENERATED FROM PYTHON SOURCE LINES 182-185 .. code-block:: Python solver_session.settings.parametric_studies.initialize(project_filename="project_1") .. GENERATED FROM PYTHON SOURCE LINES 186-189 .. image:: /_static/DP_table_011.png :width: 500pt :align: center .. GENERATED FROM PYTHON SOURCE LINES 191-194 Access and modify input parameters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Access and modify the input parameters of the base design point. .. GENERATED FROM PYTHON SOURCE LINES 194-204 .. code-block:: Python solver_session.settings.parametric_studies["Static_Mixer_main-Solve"].design_points[ "Base DP" ].input_parameters = { "inlet1_temp": 300, "inlet2_temp": 350, "inlet2_vel": 1, "inlet1_vel": 0.5, } .. GENERATED FROM PYTHON SOURCE LINES 205-208 Update current design point ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Update the current design point. .. GENERATED FROM PYTHON SOURCE LINES 208-213 .. code-block:: Python solver_session.settings.parametric_studies[ "Static_Mixer_main-Solve" ].design_points.update_current() .. GENERATED FROM PYTHON SOURCE LINES 214-217 Add design point ~~~~~~~~~~~~~~~~ Add a design point. .. GENERATED FROM PYTHON SOURCE LINES 217-231 .. code-block:: Python solver_session.settings.parametric_studies[ "Static_Mixer_main-Solve" ].design_points.create_1(write_data=False, capture_simulation_report_data=True) solver_session.settings.parametric_studies["Static_Mixer_main-Solve"].design_points[ "DP1" ].input_parameters = { "inlet1_vel": 1, "inlet2_vel": 1, "inlet1_temp": 500, "inlet2_temp": 350, } .. GENERATED FROM PYTHON SOURCE LINES 232-235 Duplicate design point ~~~~~~~~~~~~~~~~~~~~~~~ Duplicate design point 1 to create design point 2. .. GENERATED FROM PYTHON SOURCE LINES 235-240 .. code-block:: Python solver_session.settings.parametric_studies[ "Static_Mixer_main-Solve" ].design_points.duplicate(design_point="DP1") .. GENERATED FROM PYTHON SOURCE LINES 241-244 Update all design points ~~~~~~~~~~~~~~~~~~~~~~~~ Update all design points. .. GENERATED FROM PYTHON SOURCE LINES 244-249 .. code-block:: Python solver_session.settings.parametric_studies[ "Static_Mixer_main-Solve" ].design_points.update_all() .. GENERATED FROM PYTHON SOURCE LINES 250-253 .. image:: /_static/DP_table_012.png :width: 500pt :align: center .. GENERATED FROM PYTHON SOURCE LINES 255-258 Export design point table ~~~~~~~~~~~~~~~~~~~~~~~~~ Export the design point table to a CSV file. .. GENERATED FROM PYTHON SOURCE LINES 258-267 .. code-block:: Python design_point_table = str( Path(pyfluent.EXAMPLES_PATH) / "design_point_table_study_1.csv" ) solver_session.settings.parametric_studies.export_design_table( filepath=design_point_table ) .. GENERATED FROM PYTHON SOURCE LINES 268-271 Delete design point ~~~~~~~~~~~~~~~~~~~ Delete design point 1. .. GENERATED FROM PYTHON SOURCE LINES 271-276 .. code-block:: Python solver_session.settings.parametric_studies[ "Static_Mixer_main-Solve" ].design_points.delete_design_points(design_points=["DP1"]) .. GENERATED FROM PYTHON SOURCE LINES 277-280 Create parametric study ~~~~~~~~~~~~~~~~~~~~~~~ Create another parametric study by duplicating the current one. .. GENERATED FROM PYTHON SOURCE LINES 280-283 .. code-block:: Python solver_session.settings.parametric_studies.duplicate(copy_design_points=True) .. GENERATED FROM PYTHON SOURCE LINES 284-287 Rename new parametric study ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Rename the newly created parametric study. .. GENERATED FROM PYTHON SOURCE LINES 287-292 .. code-block:: Python solver_session.settings.parametric_studies.rename( new="New Study", old="Static_Mixer_main-1-Solve" ) .. GENERATED FROM PYTHON SOURCE LINES 293-296 Delete old parametric study ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Delete the old parametric study. .. GENERATED FROM PYTHON SOURCE LINES 296-299 .. code-block:: Python solver_session.settings.parametric_studies.delete(name_list="Static_Mixer_main-Solve") .. GENERATED FROM PYTHON SOURCE LINES 300-303 Save parametric project and close Fluent ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Save the parametric project and close Fluent. .. GENERATED FROM PYTHON SOURCE LINES 303-312 .. code-block:: Python project_filepath = str(Path(pyfluent.EXAMPLES_PATH) / "static_mixer_study_save.flprj") solver_session.settings.file.parametric_project.save_as( project_filename=project_filepath ) solver_session.exit() .. GENERATED FROM PYTHON SOURCE LINES 313-316 Launch Fluent and read saved project ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Launch Fluent once again and read the previously saved project. .. GENERATED FROM PYTHON SOURCE LINES 316-327 .. code-block:: Python solver_session = pyfluent.launch_fluent( precision="double", processor_count=2, mode="solver" ) project_filepath_read = str(Path(pyfluent.EXAMPLES_PATH) / "static_mixer_study.flprj") solver_session.settings.file.parametric_project.open( project_filename=project_filepath_read, load_case=True ) .. GENERATED FROM PYTHON SOURCE LINES 328-331 Save current project ~~~~~~~~~~~~~~~~~~~~ Save the current project. .. GENERATED FROM PYTHON SOURCE LINES 331-334 .. code-block:: Python solver_session.settings.file.parametric_project.save() .. GENERATED FROM PYTHON SOURCE LINES 335-338 Save current project as a different project ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Save the current project as a different project. .. GENERATED FROM PYTHON SOURCE LINES 338-347 .. code-block:: Python project_filepath_save_as = str( Path(pyfluent.EXAMPLES_PATH) / "static_mixer_study_save_as.flprj" ) solver_session.settings.file.parametric_project.save_as( project_filename=project_filepath_save_as ) .. GENERATED FROM PYTHON SOURCE LINES 348-351 Export current project ~~~~~~~~~~~~~~~~~~~~~~ Export the current project. .. GENERATED FROM PYTHON SOURCE LINES 351-360 .. code-block:: Python project_filepath_export = str( Path(pyfluent.EXAMPLES_PATH) / "static_mixer_study_export.flprj" ) solver_session.settings.file.parametric_project.save_as_copy( project_filename=project_filepath_export, convert_to_managed=False ) .. GENERATED FROM PYTHON SOURCE LINES 361-364 Archive current project ~~~~~~~~~~~~~~~~~~~~~~~ Archive the current project. .. GENERATED FROM PYTHON SOURCE LINES 364-373 .. code-block:: Python project_filepath_archive = str( Path(pyfluent.EXAMPLES_PATH) / "static_mixer_study_archive.flprj" ) solver_session.settings.file.parametric_project.archive( archive_name=project_filepath_archive ) .. GENERATED FROM PYTHON SOURCE LINES 374-377 Close Fluent ~~~~~~~~~~~~ Close Fluent. .. GENERATED FROM PYTHON SOURCE LINES 377-379 .. code-block:: Python solver_session.exit() .. _sphx_glr_download_examples_00-fluent_parametric_static_mixer_1.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: parametric_static_mixer_1.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: parametric_static_mixer_1.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: parametric_static_mixer_1.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_