Skip to main content

Pythonic Interface for Ansys Fluent

| 06.08.2023

Effortless Visualization of Simulation Data and embed it with Modern Web Apps

 

Introduction

The Ansys Fluent Visualization Python Module is a dynamic client library that allows you to produce visually captivating depictions of fluid dynamics simulations using Ansys Fluent. This tool employs the features of PyVista and Matplotlib to offer a user-friendly interface for generating 3D plots, contour plots, and interactive visualizations. Regardless of whether you're a computational fluid dynamics student or an experienced engineer, the Ansys Fluent Visualization Python Module can assist you in extracting valuable insights from your simulation data by presenting it in a manner that is both intuitive and informative. This module facilitates the export of 3D Interactive Graphics for mesh visualization, contour plots, etc., as python objects, GLTF files (GL Transmission Format), vtk, and HTML. The key advantages of 3D visualization in the browser are its ability to export the model, simulation data as HTML or other mentioned formats, making it effortless to share and embed in web pages and web applications. This capability can be leveraged to present data with modern Web Apps, Enterprise Engineering Workflows in general.

Let's explore the realm of fluid dynamics visualization and discover the potential of the ANSYS Fluent Visualization Python Module!

Overview

In this article, we will explore the various features of the Ansys Fluent Visualization Python Module and guide you on how to export 3D visualizations as HTML. For a basic understanding of the installation and setup process, and to delve into some of the module's advanced features, including a comprehensive example, please refer to the latest release documentation. Additionally, this article includes code snippets based on the version ansys-fluent-visualization 0.7.1, which is available on the Python Package Index (PyPI), a repository of software for the Python programming language.

Features

In this article, we will delve into the following key features of the Ansys Fluent Visualization Python Module:

  • Graphics object for visualizing 3D meshes and contour plots of simulation data.
  • A demonstration on how to export 3D visualizations as HTML using PyVista Plotter.
  • XYPlot object for creating XY plots of simulation data that utilize the capabilities of Matplotlib.

 

Code Examples

Note: Please installation the following libraries, to get the expected outcome from these code snippets.

Required modules

  • ansys-fluent-core
  • ansys-fluent-visualization
  • trame
  • panel
  • ipywidgets

 

Importing the Module

To get started, we need to import the module. We can do this by using the following code:

import ansys.fluent.core as pyfluent
from ansys.fluent.core import examples
from ansys.fluent.visualization import set_config
from ansys.fluent.visualization.matplotlib import Plots
from ansys.fluent.visualization.pyvista import Graphics, pyvista_windows_manager

 

Set visualization configuration

set_config(blocking=True, set_view_on_display="isometric")

 

Downloading the example file and reading the case and data files

import_case = examples.download_file(
    filename="manifold_solution.cas.h5", directory="pyfluent/exhaust_manifold"
)

import_data = examples.download_file(
    filename="manifold_solution.dat.h5", directory="pyfluent/exhaust_manifold"
)
solver_session = pyfluent.launch_fluent(precision="double", processor_count=6, mode="solver", cleanup_on_exit=True, show_gui=True)
solver_session.file.read_case_data(file_type="case-data", file_name=import_case)

 

Create Graphics object

graphics = Graphics(session=solver_session)

 

Visualize the mesh

mesh_viz = graphics.Meshes["mesh_viz"]
mesh_viz.show_edges = True
lst_all_walls = mesh_viz.surfaces_list.allowed_values
mesh_viz.surfaces_list = lst_all_walls
mesh_viz.display()

Mesh Visualization  

 

Export HTML for Mesh Visualization using Plotter object

pyvista_windows_manager.open_window("mesh_visualization")
active_window = pyvista_windows_manager.get_window("mesh_visualization")
active_window.show_window = False
active_window.post_object = mesh_viz
active_window.plot()
plotter = pyvista_windows_manager.get_plotter("mesh_visualization")
plotter.window_size = [1920, 1080]
plotter.export_html('mesh_visualization.html', backend='panel')

 

Create a Plane object

surf_mid_plane_x = graphics.Surfaces["mid-plane-x"]
surf_mid_plane_x.definition.type = "iso-surface"
iso_surf2 = surf_mid_plane_x.definition.iso_surface
iso_surf2.field = "z-coordinate"
iso_surf2.iso_value = -0.05

 

Create a Contour object using Plane object

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

Contour Visualization

 

Export HTML for Temperature Contour using Plotter object

pyvista_windows_manager.open_window("temperature_contour")
active_window = pyvista_windows_manager.get_window("temperature_contour")
active_window.show_window = False
active_window.post_object = temperature_contour
active_window.plot()
plotter = pyvista_windows_manager.get_plotter("temperature_contour")
plotter.window_size = [1920, 1080]    
plotter.export_html('temperature_contour.html', backend='panel')

 

Create Plots object to create XYPlot

plots_session1 = Plots(solver_session)

 

Create XYPlot

p1=plots_session1.XYPlots["p1"]
p1.surfaces_list = ["outlet"]
p1.y_axis_function = "temperature"
p1.plot("p1")

XYPlot Visualization

 

Conclusion

To sum up, the Ansys Fluent Visualization Python Module is a highly valuable resource for individuals engaged in computational fluid dynamics. It offers a robust and easy-to-use Python interface for producing striking visualizations of fluid dynamics simulations. The capability of exporting 3D visualizations as HTML or other formats makes it exceptionally convenient to share and embed simulation data in web pages and applications. By delving into the essential features of this module, we trust that this article has equipped you with a deeper comprehension of its possibilities and how it can enhance your work in fluid dynamics visualization.

 

References

  1. PyAnsys  
  2. PyFluent-Visualization module available @ PyPI
  3. PyFluent-Visualization Documentation
  4. Ansys Fluent