From f704699a3d2d59943b9f5990ccc6068698401fe1 Mon Sep 17 00:00:00 2001 From: Yogesh Patel Date: Sun, 20 Mar 2022 15:05:02 -0400 Subject: [PATCH 1/9] Adding an example demonstrating Fluent using Python: Fluid flow and heat transfer in a mixing elbow --- .../00-fluent/mixing_elbow/mixing_elbow.pmdb | Bin 0 -> 530152 bytes .../00-fluent/mixing_elbow/mixing_elbow.scdoc | Bin 0 -> 92983 bytes .../mixing_elbow/mixing_elbow_settings_api.py | 530 ++++++++++++++++ .../mixing_elbow/mixing_elbow_tui_api.py | 577 ++++++++++++++++++ 4 files changed, 1107 insertions(+) create mode 100644 examples/00-fluent/mixing_elbow/mixing_elbow.pmdb create mode 100644 examples/00-fluent/mixing_elbow/mixing_elbow.scdoc create mode 100644 examples/00-fluent/mixing_elbow/mixing_elbow_settings_api.py create mode 100644 examples/00-fluent/mixing_elbow/mixing_elbow_tui_api.py diff --git a/examples/00-fluent/mixing_elbow/mixing_elbow.pmdb b/examples/00-fluent/mixing_elbow/mixing_elbow.pmdb new file mode 100644 index 0000000000000000000000000000000000000000..bc7804d58a539906b94e1dcab810f467e7b673de GIT binary patch literal 530152 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 z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY z0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4ea|7Qenafonme-HI%_xnKeXJB01zZH&m{?6n0pA8>};!jhG{~1F3 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 literal 0 HcmV?d00001 diff --git a/examples/00-fluent/mixing_elbow/mixing_elbow.scdoc b/examples/00-fluent/mixing_elbow/mixing_elbow.scdoc new file mode 100644 index 0000000000000000000000000000000000000000..8df25e5222de726e6f5b1433802a878df0c6973f GIT binary patch literal 92983 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 w1mD<$gZlrsgS9`i|K0ojn*D?W Date: Tue, 22 Mar 2022 10:27:14 -0400 Subject: [PATCH 2/9] Moving example files to 00-fluent level --- .../00-fluent/{mixing_elbow => }/mixing_elbow.pmdb | Bin .../00-fluent/{mixing_elbow => }/mixing_elbow.scdoc | Bin .../{mixing_elbow => }/mixing_elbow_settings_api.py | 0 .../{mixing_elbow => }/mixing_elbow_tui_api.py | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename examples/00-fluent/{mixing_elbow => }/mixing_elbow.pmdb (100%) rename examples/00-fluent/{mixing_elbow => }/mixing_elbow.scdoc (100%) rename examples/00-fluent/{mixing_elbow => }/mixing_elbow_settings_api.py (100%) rename examples/00-fluent/{mixing_elbow => }/mixing_elbow_tui_api.py (100%) diff --git a/examples/00-fluent/mixing_elbow/mixing_elbow.pmdb b/examples/00-fluent/mixing_elbow.pmdb similarity index 100% rename from examples/00-fluent/mixing_elbow/mixing_elbow.pmdb rename to examples/00-fluent/mixing_elbow.pmdb diff --git a/examples/00-fluent/mixing_elbow/mixing_elbow.scdoc b/examples/00-fluent/mixing_elbow.scdoc similarity index 100% rename from examples/00-fluent/mixing_elbow/mixing_elbow.scdoc rename to examples/00-fluent/mixing_elbow.scdoc diff --git a/examples/00-fluent/mixing_elbow/mixing_elbow_settings_api.py b/examples/00-fluent/mixing_elbow_settings_api.py similarity index 100% rename from examples/00-fluent/mixing_elbow/mixing_elbow_settings_api.py rename to examples/00-fluent/mixing_elbow_settings_api.py diff --git a/examples/00-fluent/mixing_elbow/mixing_elbow_tui_api.py b/examples/00-fluent/mixing_elbow_tui_api.py similarity index 100% rename from examples/00-fluent/mixing_elbow/mixing_elbow_tui_api.py rename to examples/00-fluent/mixing_elbow_tui_api.py From c9d0d7b2300fc96862c76fab336d3b463efffa37 Mon Sep 17 00:00:00 2001 From: Yogesh Patel Date: Tue, 22 Mar 2022 17:51:23 -0400 Subject: [PATCH 3/9] Commenting out files writing from this example --- .../00-fluent/mixing_elbow_settings_api.py | 70 ++++++++--------- examples/00-fluent/mixing_elbow_tui_api.py | 76 +++++++++---------- 2 files changed, 73 insertions(+), 73 deletions(-) diff --git a/examples/00-fluent/mixing_elbow_settings_api.py b/examples/00-fluent/mixing_elbow_settings_api.py index f4a19d4e2cc2..f9c39b776a33 100644 --- a/examples/00-fluent/mixing_elbow_settings_api.py +++ b/examples/00-fluent/mixing_elbow_settings_api.py @@ -336,27 +336,27 @@ # Create a surface report file called outlet-temp-avg-rfile using # report-definition outlet-temp-avg -s.tui.solver.solve.report_files.add( - "outlet-temp-avg-rfile", - "report-defs", - "outlet-temp-avg", - "()", - "file-name", - "outlet-temp-avg-rfile.out", - "print?", - "yes", - "file-name", - "outlet-temp-avg-rfile.out", - "frequency", - "3", - "frequency-of", - "iteration", - "itr-index", - "1", - "run-index", - "0", - "quit", -) +#s.tui.solver.solve.report_files.add( +# "outlet-temp-avg-rfile", +# "report-defs", +# "outlet-temp-avg", +# "()", +# "file-name", +# "outlet-temp-avg-rfile.out", +# "print?", +# "yes", +# "file-name", +# "outlet-temp-avg-rfile.out", +# "frequency", +# "3", +# "frequency-of", +# "iteration", +# "itr-index", +# "1", +# "run-index", +# "0", +# "quit", +#) ############################################################################### @@ -506,20 +506,20 @@ "quit", ) s.tui.solver.display.objects.display("xy-outlet-temp") -s.tui.solver.plot.plot( - "yes", - "temp-1.xy", - "no", - "no", - "no", - "temperature", - "yes", - "1", - "0", - "0", - "z=0_outlet", - "()", -) +#s.tui.solver.plot.plot( +# "yes", +# "temp-1.xy", +# "no", +# "no", +# "no", +# "temperature", +# "yes", +# "1", +# "0", +# "0", +# "z=0_outlet", +# "()", +#) ############################################################################### diff --git a/examples/00-fluent/mixing_elbow_tui_api.py b/examples/00-fluent/mixing_elbow_tui_api.py index 3b7fa8a3fe87..12fb5d55ce3d 100644 --- a/examples/00-fluent/mixing_elbow_tui_api.py +++ b/examples/00-fluent/mixing_elbow_tui_api.py @@ -362,27 +362,27 @@ # Create a surface report file called outlet-temp-avg-rfile using # report-definition outlet-temp-avg -s.tui.solver.solve.report_files.add( - "outlet-temp-avg-rfile", - "report-defs", - "outlet-temp-avg", - "()", - "file-name", - "outlet-temp-avg-rfile.out", - "print?", - "yes", - "file-name", - "outlet-temp-avg-rfile.out", - "frequency", - "3", - "frequency-of", - "iteration", - "itr-index", - "1", - "run-index", - "0", - "quit", -) +#s.tui.solver.solve.report_files.add( +# "outlet-temp-avg-rfile", +# "report-defs", +# "outlet-temp-avg", +# "()", +# "file-name", +# "outlet-temp-avg-rfile.out", +# "print?", +# "yes", +# "file-name", +# "outlet-temp-avg-rfile.out", +# "frequency", +# "3", +# "frequency-of", +# "iteration", +# "itr-index", +# "1", +# "run-index", +# "0", +# "quit", +#) ############################################################################### @@ -443,9 +443,9 @@ # Examine the mass flux report for convergence: Select cold-inlet, hot-inlet, # and outlet from the Boundaries selection list. -s.tui.solver.report.fluxes.mass_flow( - "no", "cold-inlet", "hot-inlet", "outlet", "()", "yes", "mass-flux1.flp" -) +#s.tui.solver.report.fluxes.mass_flow( +# "no", "cold-inlet", "hot-inlet", "outlet", "()", "yes", "mass-flux1.flp" +#) ############################################################################### @@ -551,20 +551,20 @@ "quit", ) s.tui.solver.display.objects.display("xy-outlet-temp") -s.tui.solver.plot.plot( - "yes", - "temp-1.xy", - "no", - "no", - "no", - "temperature", - "yes", - "1", - "0", - "0", - "z=0_outlet", - "()", -) +#s.tui.solver.plot.plot( +# "yes", +# "temp-1.xy", +# "no", +# "no", +# "no", +# "temperature", +# "yes", +# "1", +# "0", +# "0", +# "z=0_outlet", +# "()", +#) ############################################################################### From 9f5d39ba00812adcb7bbf7b667de9e3618f2cf7f Mon Sep 17 00:00:00 2001 From: Yogesh Patel Date: Tue, 22 Mar 2022 18:34:32 -0400 Subject: [PATCH 4/9] Pushing changes after running black -l 79 --- examples/00-fluent/mixing_elbow_settings_api.py | 8 ++++---- examples/00-fluent/mixing_elbow_tui_api.py | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/examples/00-fluent/mixing_elbow_settings_api.py b/examples/00-fluent/mixing_elbow_settings_api.py index f9c39b776a33..d37320c1fa26 100644 --- a/examples/00-fluent/mixing_elbow_settings_api.py +++ b/examples/00-fluent/mixing_elbow_settings_api.py @@ -336,7 +336,7 @@ # Create a surface report file called outlet-temp-avg-rfile using # report-definition outlet-temp-avg -#s.tui.solver.solve.report_files.add( +# s.tui.solver.solve.report_files.add( # "outlet-temp-avg-rfile", # "report-defs", # "outlet-temp-avg", @@ -356,7 +356,7 @@ # "run-index", # "0", # "quit", -#) +# ) ############################################################################### @@ -506,7 +506,7 @@ "quit", ) s.tui.solver.display.objects.display("xy-outlet-temp") -#s.tui.solver.plot.plot( +# s.tui.solver.plot.plot( # "yes", # "temp-1.xy", # "no", @@ -519,7 +519,7 @@ # "0", # "z=0_outlet", # "()", -#) +# ) ############################################################################### diff --git a/examples/00-fluent/mixing_elbow_tui_api.py b/examples/00-fluent/mixing_elbow_tui_api.py index 12fb5d55ce3d..8a5b0d4a5b4d 100644 --- a/examples/00-fluent/mixing_elbow_tui_api.py +++ b/examples/00-fluent/mixing_elbow_tui_api.py @@ -169,7 +169,7 @@ ############################################################################### # Save the mesh file (mixing_elbow.msh.h5) -#s.tui.meshing.file.write_mesh('mixing_elbow.msh.h5') +# s.tui.meshing.file.write_mesh('mixing_elbow.msh.h5') ############################################################################### @@ -362,7 +362,7 @@ # Create a surface report file called outlet-temp-avg-rfile using # report-definition outlet-temp-avg -#s.tui.solver.solve.report_files.add( +# s.tui.solver.solve.report_files.add( # "outlet-temp-avg-rfile", # "report-defs", # "outlet-temp-avg", @@ -382,7 +382,7 @@ # "run-index", # "0", # "quit", -#) +# ) ############################################################################### @@ -443,9 +443,9 @@ # Examine the mass flux report for convergence: Select cold-inlet, hot-inlet, # and outlet from the Boundaries selection list. -#s.tui.solver.report.fluxes.mass_flow( +# s.tui.solver.report.fluxes.mass_flow( # "no", "cold-inlet", "hot-inlet", "outlet", "()", "yes", "mass-flux1.flp" -#) +# ) ############################################################################### @@ -551,7 +551,7 @@ "quit", ) s.tui.solver.display.objects.display("xy-outlet-temp") -#s.tui.solver.plot.plot( +# s.tui.solver.plot.plot( # "yes", # "temp-1.xy", # "no", @@ -564,7 +564,7 @@ # "0", # "z=0_outlet", # "()", -#) +# ) ############################################################################### From 9956f72d554896c32e9fe8e1416f97f87719d737 Mon Sep 17 00:00:00 2001 From: Yogesh Patel Date: Wed, 23 Mar 2022 16:44:46 -0400 Subject: [PATCH 5/9] Adding .results() extension for TUI commands --- .../00-fluent/mixing_elbow_settings_api.py | 32 ++-- examples/00-fluent/mixing_elbow_tui_api.py | 179 +++++++----------- 2 files changed, 88 insertions(+), 123 deletions(-) diff --git a/examples/00-fluent/mixing_elbow_settings_api.py b/examples/00-fluent/mixing_elbow_settings_api.py index d37320c1fa26..b6435d86ace4 100644 --- a/examples/00-fluent/mixing_elbow_settings_api.py +++ b/examples/00-fluent/mixing_elbow_settings_api.py @@ -59,13 +59,13 @@ # Import the CAD geometry (mixing_elbow.scdoc). For Length Units, select "in". # Execute the Import Geometry task. if os.name == "nt": - s.workflow.TaskObject["Import Geometry"].Arguments = dict( - FileName="mixing_elbow.scdoc", LengthUnit="in" - ) + Part_Name = "mixing_elbow.scdoc" else: - s.workflow.TaskObject["Import Geometry"].Arguments = dict( - FileName="mixing_elbow.pmdb", LengthUnit="in" - ) + Part_Name = "mixing_elbow.pmdb" + +s.workflow.TaskObject["Import Geometry"].Arguments = dict( + FileName=Part_Name, LengthUnit="in" +) s.workflow.TaskObject["Import Geometry"].Execute() @@ -269,6 +269,7 @@ root.setup.boundary_conditions.velocity_inlet[ "cold-inlet" ].ke_spec = "Intensity and Hydraulic Diameter" +root.setup.boundary_conditions.velocity_inlet["cold-inlet"].turb_intensity = 5 root.setup.boundary_conditions.velocity_inlet[ "cold-inlet" ].turb_hydraulic_diam = "4 [in]" @@ -397,17 +398,17 @@ "3", "quit", ) -s.tui.solver.solve.convergence_conditions("frequency", "3", "quit") +s.tui.solver.solve.convergence_conditions("frequency", "3", "quit").result() ############################################################################### # Initialize the flow field using the Hybrid Initialization -s.tui.solver.solve.initialize.hyb_initialization() +s.tui.solver.solve.initialize.hyb_initialization().result() ############################################################################### # Solve for 150 Iterations. -s.tui.solver.solve.iterate(150) +s.tui.solver.solve.iterate(150).result() ############################################################################### @@ -479,7 +480,7 @@ # surface outlet. Name: z=0_outlet s.tui.solver.surface.iso_surface( "z-coordinate", "z=0_outlet", "outlet", "()", "()", "0", "()" -) +).result() # Create Contour on the iso-surface root.results.graphics.contour["contour-z_0_outlet"] = {} @@ -491,6 +492,7 @@ root.results.graphics.contour["contour-z_0_outlet"].display() ############################################################################### +# s.tui.solver.file.write_case_data("mixing_elbow1_set.cas.h5").result() # Display and save an XY plot of the temperature profile across the centerline # of the outlet for the initial solution @@ -504,8 +506,8 @@ "z=0_outlet", "()", "quit", -) -s.tui.solver.display.objects.display("xy-outlet-temp") +).result() +s.tui.solver.display.objects.display("xy-outlet-temp").result() # s.tui.solver.plot.plot( # "yes", # "temp-1.xy", @@ -519,12 +521,12 @@ # "0", # "z=0_outlet", # "()", -# ) +#).result() ############################################################################### # Write final case and data. -# s.tui.solver.file.write_case_data('mixing_elbow2.cas.h5') +# s.tui.solver.file.write_case_data('mixing_elbow2_set.cas.h5').results() ############################################################################### -s.tui.solver.exit() +s.tui.solver.exit().result() diff --git a/examples/00-fluent/mixing_elbow_tui_api.py b/examples/00-fluent/mixing_elbow_tui_api.py index 8a5b0d4a5b4d..a9c7edda3b03 100644 --- a/examples/00-fluent/mixing_elbow_tui_api.py +++ b/examples/00-fluent/mixing_elbow_tui_api.py @@ -58,13 +58,14 @@ # Import the CAD geometry (mixing_elbow.scdoc). For Length Units, select "in". # Execute the Import Geometry task. if os.name == "nt": - s.workflow.TaskObject["Import Geometry"].Arguments = dict( - FileName="mixing_elbow.scdoc", LengthUnit="in" - ) + Part_Name = "mixing_elbow.scdoc" else: - s.workflow.TaskObject["Import Geometry"].Arguments = dict( - FileName="mixing_elbow.pmdb", LengthUnit="in" - ) + Part_Name = "mixing_elbow.pmdb" + +s.workflow.TaskObject["Import Geometry"].Arguments = dict( + FileName=Part_Name, LengthUnit="in" +) + s.workflow.TaskObject["Import Geometry"].Execute() @@ -164,7 +165,7 @@ ############################################################################### # Check the mesh in Meshing mode -s.tui.meshing.mesh.check_mesh() +s.tui.meshing.mesh.check_mesh().result() ############################################################################### @@ -178,7 +179,7 @@ # mode, you can now switch to solver mode to complete the setup of the # simulation. We have just checked the mesh, so select Yes to switch to # solution mode. -s.tui.meshing.switch_to_solution_mode("yes") +s.tui.meshing.switch_to_solution_mode("yes").result() ############################################################################### @@ -188,7 +189,7 @@ # mesh features that are checked. Any errors in the mesh will be reported at # this time. Ensure that the minimum volume is not negative, since Ansys Fluent # cannot begin a calculation when this is the case. -s.tui.solver.mesh.check() +s.tui.solver.mesh.check().result() ############################################################################### @@ -198,17 +199,17 @@ # to change any other units in this problem. If you want a different working # unit for length, other than inches (for example, millimeters), make the # appropriate change. -s.tui.solver.define.units("length", "in") +s.tui.solver.define.units("length", "in").result() ############################################################################### # Enable heat transfer by activating the energy equation. -s.tui.solver.define.models.energy("yes", ", ", ", ", ", ", ", ") +s.tui.solver.define.models.energy("yes", ", ", ", ", ", ", ", ").result() ############################################################################### # Create a new material called water-liquid. -s.tui.solver.define.materials.copy("fluid", "water-liquid") +s.tui.solver.define.materials.copy("fluid", "water-liquid").result() ############################################################################### @@ -238,7 +239,7 @@ "no", "no", "no", -) +).result() ############################################################################### @@ -248,95 +249,56 @@ # cold inlet (cold-inlet), Setting: Value: # Velocity Specification Method: Magnitude, Normal to Boundary -# Velocity Magnitude: 0.4 [m/s] -# Specification Method: Intensity and Hydraulic Diameter -# Turbulent Intensity: 5 [%] -# Hydraulic Diameter: 4 [inch] -# Temperature: 293.15 [K] -# s.tui.solver.define.boundary_conditions.velocity_inlet('cold-inlet', 'no', -# 'no', 'yes', 'yes', 'no', '0.4', 'no', '0', 'no', '293.15', 'no', 'no', -# 'no', 'yes', '5', '4') +s.tui.solver.define.boundary_conditions.set.velocity_inlet( + "cold-inlet", [], "vmag", "no", 0.4, "quit" +).result() +s.tui.solver.define.boundary_conditions.set.velocity_inlet( + "cold-inlet", [], "ke-spec", "no", "no", "no", "yes", "quit" +).result() +s.tui.solver.define.boundary_conditions.set.velocity_inlet( + "cold-inlet", [], "turb-intensity", 5, "quit" +).result() +s.tui.solver.define.boundary_conditions.set.velocity_inlet( + "cold-inlet", [], "turb-hydraulic-diam", 4, "quit" +).result() +s.tui.solver.define.boundary_conditions.set.velocity_inlet( + "cold-inlet", [], "temperature", "no", 293.15, "quit" +).result() ############################################################################### # hot inlet (hot-inlet), Setting: Value: # Velocity Specification Method: Magnitude, Normal to Boundary -# Velocity Magnitude: 1.2 [m/s] -# Specification Method: Intensity and Hydraulic Diameter -# Turbulent Intensity: 5 [%] -# Hydraulic Diameter: 1 [inch] -# Temperature: 313.15 [K] -# s.tui.solver.define.boundary_conditions.velocity-inlet('hot-inlet', 'no', -# 'no', 'yes', 'yes', 'no', '1.2', 'no', '0', 'no', '313.15', 'no', 'no', -# 'no', 'yes', '5', '1') + +s.tui.solver.define.boundary_conditions.set.velocity_inlet( + "hot-inlet", [], "vmag", "no", 1.2, "quit" +).result() +s.tui.solver.define.boundary_conditions.set.velocity_inlet( + "hot-inlet", [], "ke-spec", "no", "no", "no", "yes", "quit" +).result() +s.tui.solver.define.boundary_conditions.set.velocity_inlet( + "hot-inlet", [], "turb-intensity", 5, "quit" +).result() +s.tui.solver.define.boundary_conditions.set.velocity_inlet( + "hot-inlet", [], "turb-hydraulic-diam", 1, "quit" +).result() +s.tui.solver.define.boundary_conditions.set.velocity_inlet( + "hot-inlet", [], "temperature", "no", 313.15, "quit" +).result() ############################################################################### # pressure outlet (outlet), Setting: Value: # Backflow Turbulent Intensity: 5 [%] # Backflow Turbulent Viscosity Ratio: 4 -# s.tui.solver.define.boundary_conditions.pressure-outlet('outlet', 'yes', -# 'no', '0', 'no', 'no', 'yes', 'no', 'no', 'no', 'yes', '5', '4', 'yes', -# 'no', 'no', 'no') - -############################################################################### - -# For the wall of the elbow (wall-elbow) and the wall of the hot inlet -# (wall-inlet), retain the default value of 0 W/m2 for Heat Flux. - -# s.tui.solver.define.boundary_conditions.wall('wall-inlet', '0', 'no', '0', -# 'no', 'no', 'no', '0', 'no', 'no', 'no', 'no', 'no', '0', 'no', '0.5', -# 'no', '1') -# s.tui.solver.define.boundary_conditions.wall('wall-elbow', '0', 'no', '0', -# 'no', 'no', 'no', '0', 'no', 'no', 'no', 'no', 'no', '0', 'no', '0.5', -# 'no', '1') - -############################################################################### - -# The settings objects provide a natural way to access and modify settings. -# The top-level settings object for a session can be accessed with the -# get_settings_root() method of the session object. -# Enabling the settings objects. (Using settings api until Issue is resolved) - -root = s.get_settings_root() - -############################################################################### -root.setup.boundary_conditions.velocity_inlet["cold-inlet"].vmag = { - "option": "constant or expression", - "constant": 0.4, -} - -root.setup.boundary_conditions.velocity_inlet[ - "cold-inlet" -].ke_spec = "Intensity and Hydraulic Diameter" -root.setup.boundary_conditions.velocity_inlet[ - "cold-inlet" -].turb_hydraulic_diam = "4 [in]" -root.setup.boundary_conditions.velocity_inlet["cold-inlet"].t = { - "option": "constant or expression", - "constant": 293.15, -} - -root.setup.boundary_conditions.velocity_inlet["hot-inlet"].vmag = { - "option": "constant or expression", - "constant": 1.2, -} -root.setup.boundary_conditions.velocity_inlet[ - "hot-inlet" -].ke_spec = "Intensity and Hydraulic Diameter" -root.setup.boundary_conditions.velocity_inlet[ - "hot-inlet" -].turb_hydraulic_diam = "1 [in]" -root.setup.boundary_conditions.velocity_inlet["hot-inlet"].t = { - "option": "constant or expression", - "constant": 313.15, -} - -root.setup.boundary_conditions.pressure_outlet[ - "outlet" -].turb_viscosity_ratio = 4 +s.tui.solver.define.boundary_conditions.set.pressure_outlet( + "outlet", [], "turb-intensity", 5, "quit" +).result() +s.tui.solver.define.boundary_conditions.set.pressure_outlet( + "outlet", [], "turb-viscosity-ratio", 4, "quit" +).result() ############################################################################### @@ -356,7 +318,7 @@ "outlet", "()", "quit", -) +).result() ############################################################################### @@ -382,7 +344,7 @@ # "run-index", # "0", # "quit", -# ) +# ).result() ############################################################################### @@ -421,23 +383,23 @@ "frequency", "3", "quit", -) -s.tui.solver.solve.convergence_conditions("frequency", "3", "quit") +).result() +s.tui.solver.solve.convergence_conditions("frequency", "3", "quit").result() ############################################################################### # Initialize the flow field using the Hybrid Initialization -s.tui.solver.solve.initialize.hyb_initialization() +s.tui.solver.solve.initialize.hyb_initialization().result() ############################################################################### # Save the case file (mixing_elbow1.cas.h5). -# s.tui.solver.file.write_case('mixing_elbow1.cas.h5') +# s.tui.solver.file.write_case('mixing_elbow1.cas.h5').result() ############################################################################### # Solve for 150 Iterations. -s.tui.solver.solve.iterate(150) +s.tui.solver.solve.iterate(150).result() ############################################################################### @@ -450,7 +412,7 @@ ############################################################################### # Save the data file (mixing_elbow1.dat.h5). -# s.tui.solver.file.write_data('mixing_elbow1.dat.h5') +# s.tui.solver.file.write_data('mixing_elbow1.dat.h5').result() ############################################################################### @@ -475,8 +437,8 @@ "coloring", "banded", "quit", -) -s.tui.solver.display.objects.display("contour-vel") +).result() +s.tui.solver.display.objects.display("contour-vel").result() ############################################################################### @@ -501,7 +463,7 @@ "smooth", "quit", ) -s.tui.solver.display.objects.display("contour-temp") +s.tui.solver.display.objects.display("contour-temp").result() ############################################################################### @@ -525,8 +487,8 @@ "skip", "2", "quit", -) -s.tui.solver.display.objects.display("vector-vel") +).result() +s.tui.solver.display.objects.display("vector-vel").result() ############################################################################### @@ -534,9 +496,10 @@ # surface outlet. Name: z=0_outlet s.tui.solver.surface.iso_surface( "z-coordinate", "z=0_outlet", "outlet", "()", "()", "0", "()" -) +).result() ############################################################################### +# s.tui.solver.file.write_case_data("mixing_elbow1_tui.cas.h5").result() # Display and save an XY plot of the temperature profile across the centerline # of the outlet for the initial solution @@ -549,8 +512,8 @@ "z=0_outlet", "()", "quit", -) -s.tui.solver.display.objects.display("xy-outlet-temp") +).result() +# s.tui.solver.display.objects.display("xy-outlet-temp").result() # s.tui.solver.plot.plot( # "yes", # "temp-1.xy", @@ -564,14 +527,14 @@ # "0", # "z=0_outlet", # "()", -# ) +# ).result() ############################################################################### # Write final case and data. -# s.tui.solver.file.write_case_data('mixing_elbow2.cas.h5') +# s.tui.solver.file.write_case_data("mixing_elbow2_tui.cas.h5").result() ############################################################################### # Exit from Ansys Fluent -s.tui.solver.exit() +s.tui.solver.exit().result() From d2f5dea566fe5f96e5cc516365dab9afa7e5ce30 Mon Sep 17 00:00:00 2001 From: Yogesh Patel Date: Wed, 23 Mar 2022 16:59:28 -0400 Subject: [PATCH 6/9] Uncommenting examples from README --- examples/README.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/README.txt b/examples/README.txt index 8a07c5248c58..ac3e3cb11ff7 100644 --- a/examples/README.txt +++ b/examples/README.txt @@ -13,6 +13,6 @@ Add examples here for PyFluent ``ansys-fluent``. :maxdepth: 1 :hidden: - 00-fluent\README.txt - 01-parametric\README.txt - 02-postprocessing\README.txt \ No newline at end of file +.. 00-fluent/README.txt +.. 01-parametric/README.txt +.. 02-postprocessing/README.txt \ No newline at end of file From 66c54ec69ca3c845e1da73eb6c67b31fea708c0a Mon Sep 17 00:00:00 2001 From: Yogesh Patel Date: Wed, 23 Mar 2022 18:55:32 -0400 Subject: [PATCH 7/9] Fixing Typo for result(). Also, using pmdb for both Windows and Linux --- examples/00-fluent/mixing_elbow_settings_api.py | 17 +++++++---------- examples/00-fluent/mixing_elbow_tui_api.py | 14 +++++--------- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/examples/00-fluent/mixing_elbow_settings_api.py b/examples/00-fluent/mixing_elbow_settings_api.py index b6435d86ace4..cdc7230e420b 100644 --- a/examples/00-fluent/mixing_elbow_settings_api.py +++ b/examples/00-fluent/mixing_elbow_settings_api.py @@ -56,15 +56,12 @@ ############################################################################### -# Import the CAD geometry (mixing_elbow.scdoc). For Length Units, select "in". +# Import the CAD geometry. For Length Units, select "in". # Execute the Import Geometry task. -if os.name == "nt": - Part_Name = "mixing_elbow.scdoc" -else: - Part_Name = "mixing_elbow.pmdb" + s.workflow.TaskObject["Import Geometry"].Arguments = dict( - FileName=Part_Name, LengthUnit="in" + FileName="mixing_elbow.pmdb", LengthUnit="in" ) s.workflow.TaskObject["Import Geometry"].Execute() @@ -221,10 +218,10 @@ ############################################################################### -# Set up the cell zone conditions for the fluid zone (fluid). Select +# Set up the cell zone conditions for the fluid zone (elbow-fluid). Select # water-liquid from the Material list. s.tui.solver.define.boundary_conditions.fluid( - "fluid", + "elbow-fluid", "yes", "water-liquid", "no", @@ -507,7 +504,7 @@ "()", "quit", ).result() -s.tui.solver.display.objects.display("xy-outlet-temp").result() +# s.tui.solver.display.objects.display("xy-outlet-temp").result() # s.tui.solver.plot.plot( # "yes", # "temp-1.xy", @@ -526,7 +523,7 @@ ############################################################################### # Write final case and data. -# s.tui.solver.file.write_case_data('mixing_elbow2_set.cas.h5').results() +# s.tui.solver.file.write_case_data('mixing_elbow2_set.cas.h5').result() ############################################################################### s.tui.solver.exit().result() diff --git a/examples/00-fluent/mixing_elbow_tui_api.py b/examples/00-fluent/mixing_elbow_tui_api.py index a9c7edda3b03..4a83293b99fb 100644 --- a/examples/00-fluent/mixing_elbow_tui_api.py +++ b/examples/00-fluent/mixing_elbow_tui_api.py @@ -55,18 +55,14 @@ ############################################################################### -# Import the CAD geometry (mixing_elbow.scdoc). For Length Units, select "in". +# Import the CAD geometry. For Length Units, select "in". # Execute the Import Geometry task. -if os.name == "nt": - Part_Name = "mixing_elbow.scdoc" -else: - Part_Name = "mixing_elbow.pmdb" + s.workflow.TaskObject["Import Geometry"].Arguments = dict( - FileName=Part_Name, LengthUnit="in" + FileName="mixing_elbow.pmdb", LengthUnit="in" ) - s.workflow.TaskObject["Import Geometry"].Execute() ############################################################################### @@ -213,10 +209,10 @@ ############################################################################### -# Set up the cell zone conditions for the fluid zone (fluid). Select +# Set up the cell zone conditions for the fluid zone (elbow-fluid). Select # water-liquid from the Material list. s.tui.solver.define.boundary_conditions.fluid( - "fluid", + "elbow-fluid", "yes", "water-liquid", "no", From bcf3fe6dcd7e82d5529b360bdf83c365fd7b0230 Mon Sep 17 00:00:00 2001 From: Yogesh Patel Date: Wed, 23 Mar 2022 19:47:07 -0400 Subject: [PATCH 8/9] Removing import os as not needed --- examples/00-fluent/mixing_elbow_settings_api.py | 1 - examples/00-fluent/mixing_elbow_tui_api.py | 1 - 2 files changed, 2 deletions(-) diff --git a/examples/00-fluent/mixing_elbow_settings_api.py b/examples/00-fluent/mixing_elbow_settings_api.py index cdc7230e420b..6517e41539dc 100644 --- a/examples/00-fluent/mixing_elbow_settings_api.py +++ b/examples/00-fluent/mixing_elbow_settings_api.py @@ -42,7 +42,6 @@ # First, start Fluent as a service with Meshing Mode, Double Precision, Number # of Processors 4 import ansys.fluent.core as pyfluent -import os s = pyfluent.launch_fluent( meshing_mode=True, precision="double", processor_count="4" diff --git a/examples/00-fluent/mixing_elbow_tui_api.py b/examples/00-fluent/mixing_elbow_tui_api.py index 4a83293b99fb..1f23def87e2a 100644 --- a/examples/00-fluent/mixing_elbow_tui_api.py +++ b/examples/00-fluent/mixing_elbow_tui_api.py @@ -41,7 +41,6 @@ # First, start Fluent as a service with Meshing Mode, Double Precision, Number # of Processors 4 import ansys.fluent.core as pyfluent -import os s = pyfluent.launch_fluent( meshing_mode=True, precision="double", processor_count="4" From dcc00a7f6ba7c3f681fbfee554ae84942119c14d Mon Sep 17 00:00:00 2001 From: Yogesh Patel Date: Fri, 25 Mar 2022 17:44:57 -0400 Subject: [PATCH 9/9] Feedback from Mainak --- examples/00-fluent/mixing_elbow_settings_api.py | 6 +++--- examples/00-fluent/mixing_elbow_tui_api.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/00-fluent/mixing_elbow_settings_api.py b/examples/00-fluent/mixing_elbow_settings_api.py index 6517e41539dc..d1095384678c 100644 --- a/examples/00-fluent/mixing_elbow_settings_api.py +++ b/examples/00-fluent/mixing_elbow_settings_api.py @@ -99,13 +99,13 @@ # proceed # to the next task in the workflow. s.workflow.TaskObject["Describe Geometry"].UpdateChildTasks( - setup_type_changed=False + SetupTypeChanged=False ) s.workflow.TaskObject["Describe Geometry"].Arguments = dict( SetupType="The geometry consists of only fluid regions with no voids" ) s.workflow.TaskObject["Describe Geometry"].UpdateChildTasks( - setup_type_changed=True + SetupTypeChanged=True ) s.workflow.TaskObject["Describe Geometry"].Execute() @@ -525,4 +525,4 @@ # s.tui.solver.file.write_case_data('mixing_elbow2_set.cas.h5').result() ############################################################################### -s.tui.solver.exit().result() +s.exit() diff --git a/examples/00-fluent/mixing_elbow_tui_api.py b/examples/00-fluent/mixing_elbow_tui_api.py index 1f23def87e2a..3f6704980824 100644 --- a/examples/00-fluent/mixing_elbow_tui_api.py +++ b/examples/00-fluent/mixing_elbow_tui_api.py @@ -97,13 +97,13 @@ # proceed # to the next task in the workflow. s.workflow.TaskObject["Describe Geometry"].UpdateChildTasks( - setup_type_changed=False + SetupTypeChanged=False ) s.workflow.TaskObject["Describe Geometry"].Arguments = dict( SetupType="The geometry consists of only fluid regions with no voids" ) s.workflow.TaskObject["Describe Geometry"].UpdateChildTasks( - setup_type_changed=True + SetupTypeChanged=True ) s.workflow.TaskObject["Describe Geometry"].Execute() @@ -532,4 +532,4 @@ ############################################################################### # Exit from Ansys Fluent -s.tui.solver.exit().result() +s.exit()