分享

PyFluent入门之旅(6)结果的可视化

 基算仿真 2023-05-30 发布于江苏
PyFluent同样支持运算结果的可视化,借助 PyFluent-Visualization 对 Fluent 结果进行后处理可以显示图形对象和绘图数据。
  • 对于网格、云图、矢量图等图像结果可以调用PyVista进行可视化。

  • 对于残差图、XY折线图等数据结果可以调用Matplotlib进行可视化。

我们使用3D排气歧管模型进行演示,通过歧管的气流是湍流的并且涉及共轭传热。

如需模型可以回复:“歧管”,获取下载链接。

01

网格的可视化

需要显示网格我们仍然需要启动求解器并读取网格或case文件。首先通过下述代码导入后续操作所调用的库。

import ansys.fluent.core as pyfluentfrom ansys.fluent.visualization import set_configfrom ansys.fluent.visualization.matplotlib import Plotsfrom ansys.fluent.visualization.pyvista import Graphicsset_config(blocking=True, set_view_on_display="isometric")

接着启动求解器并读取案例及数据文件

solver_session = pyfluent.launch_fluent(    precision="double", processor_count=2, mode="solver")
solver_session.tui.file.read_case_data('exhaust_system.cas.h5')

打开edge的显示并设置需要显示的边界,即可显示网格

graphics = Graphics(session=solver_session)mesh1 = graphics.Meshes["mesh-1"]mesh1.show_edges = Truemesh1.surfaces_list = [    "in1",    "in2",    "in3",    "out1",    "solid_up:1",    "solid_up:1:830",    "solid_up:1:830-shadow",]mesh1.display("window-1")

如图所示可以在窗口中自由拖动与缩放网格图像

可以在此基础上创建平面,例如以XY平面为基础创建。

surf_xy_plane = graphics.Surfaces["xy-plane"]surf_xy_plane.definition.type = "plane-surface"plane_surface_xy = surf_xy_plane.definition.plane_surfaceplane_surface_xy.z = -0.0441921surf_xy_plane.display("window-3")

效果如下:

还可以创建等值面,例如在出口处创建等值面。

surf_outlet_plane = graphics.Surfaces["outlet-plane"]surf_outlet_plane.definition.type = "iso-surface"iso_surf1 = surf_outlet_plane.definition.iso_surfaceiso_surf1.field = "y-coordinate"iso_surf1.iso_value = -0.125017surf_outlet_plane.display("window-3")

02

云图显示

在此基础上可以继续进行云图的显示,使用下述代码进行速度云图的绘制
surf_vel_contour = graphics.Surfaces["surf-vel-contour"]surf_vel_contour.definition.type = "iso-surface"iso_surf3 = surf_vel_contour.definition.iso_surfaceiso_surf3.field = "velocity-magnitude"iso_surf3.rendering = "contour"iso_surf3.iso_value = 0.0surf_vel_contour.display("window-5")

同样可以选择平面进行云图绘制,例如选择中心面和出口面

temperature_contour = graphics.Contours["contour-temperature"]temperature_contour.field = "temperature"temperature_contour.surfaces_list = ["mid-plane-x", "outlet-plane"]temperature_contour.display("window-6")

温度云图

temperature_contour_manifold = graphics.Contours["contour-temperature-manifold"]temperature_contour_manifold.field = "temperature"temperature_contour_manifold.surfaces_list = [    "in1",    "in2",    "in3",    "out1",    "solid_up:1",    "solid_up:1:830",]temperature_contour_manifold.display("window-7")

同样可以创建速度矢量图

velocity_vector = graphics.Vectors["velocity-vector"]velocity_vector.surfaces_list = ["solid_up:1:830"]velocity_vector.scale = 2velocity_vector.display("window-8")

03

数据图显示

数据图显示需要先创建绘图对象

plots_session_1 = Plots(solver_session)

接着就可以创建XY图

xy_plot = plots_session_1.XYPlots["xy-plot"]

设置绘图表面和 Y 轴功能

xy_plot.surfaces_list = ["outlet"]xy_plot.y_axis_function = "temperature"

设置完成后就可以进行显示

xy_plot.plot("window-9")

同样地我们还可以绘制残差图

matplotlib_plots1 = Plots(solver_session)residual = matplotlib_plots1.Monitors["residual"]residual.monitor_set_name = "residual"residual.plot("window-10")

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多