Explore a mesh metadata#

LSDYNA Fluent CFX

Note

This tutorial requires DPF 9.1 or above (2025 R1).

This tutorial explains how to read a mesh metadata (data about the elements, nodes, faces, region, zone …) before extracting the mesh from a result file.

Download tutorial as Python script Download tutorial as Jupyter notebook

Get the result file#

First, import a result file. For this tutorial, you can use one available in the Examples module. For more information about how to import your own result file in DPF, see the Import Data tutorial section.

# Import the ``ansys.dpf.core`` module
from ansys.dpf import core as dpf
# Import the examples module
from ansys.dpf.core import examples

# Define the result file path
result_file_path_2 = examples.download_d3plot_beam()
# Import the ``ansys.dpf.core`` module
from ansys.dpf import core as dpf
# Import the examples module
from ansys.dpf.core import examples

# Define the result file path
result_file_path_3 = examples.download_fluent_axial_comp()["flprj"]
# Import the ``ansys.dpf.core`` module
from ansys.dpf import core as dpf
# Import the examples module
from ansys.dpf.core import examples

# Define the result file path
result_file_path_4 = examples.download_cfx_mixing_elbow()

Create the Model#

Create a Model object with the result file. The Model is a helper designed to give shortcuts to access the analysis results metadata and to instanciate results providers by opening a DataSources or a Streams.

# Create the DataSources object
ds_2 = dpf.DataSources()
ds_2.set_result_file_path(filepath=result_file_path_2[0], key="d3plot")
ds_2.add_file_path(filepath=result_file_path_2[3], key="actunits")
# Create the Model
model_2 = dpf.Model(data_sources=ds_2)
# Create the Model
model_3 = dpf.Model(data_sources=result_file_path_3)
# Create the Model
model_4 = dpf.Model(data_sources=result_file_path_4)

Explore the mesh metadata#

You can access the mesh metadata with the MeshInfo object. It reads the metadata information before extracting the MeshedRegion from the result file.

The mesh metadata information is stored in a PropertyField or in a StringField. They contain information that describes the mesh composition and their data is mapped to the entity they are defined at. The mesh metadata information information can be:

  • Properties

  • Parts

  • Faces

  • Bodies

  • Zones

  • Number of nodes and elements

  • Elements types

You can access which metadata information is available for a given result file.

# Get the mesh metadata information
mesh_info_2 = model_2.metadata.mesh_info

# Print the mesh metadata information
print(mesh_info_2)
DPF MeshInfo
------------------------------
with properties:
  part_names          	StringField
  part_scoping        	Scoping
# Get the mesh metadata information
mesh_info_3 = model_3.metadata.mesh_info

# Print the mesh metadata information
print(mesh_info_3)
DPF MeshInfo
------------------------------
with properties:
  num_cells           	int
  num_nodes           	int
  num_faces           	int
  body_names          	StringField
  body_cell_topology  	PropertyField
  body_face_topology  	PropertyField
  body_scoping        	Scoping
  cell_zone_names     	StringField
  cell_zone_elements  	PropertyField
  cell_zone_scoping   	Scoping
  face_zone_names     	StringField
  face_zone_elements  	PropertyField
  face_zone_scoping   	Scoping
  zone_names          	StringField
  num_elem_zone       	PropertyField
  zone_scoping        	Scoping
  splittable_by       	StringField
# Get the mesh metadata information
mesh_info_4 = model_4.metadata.mesh_info

# Print the mesh metadata information
print(mesh_info_4)
DPF MeshInfo
------------------------------
with properties:
  num_nodes           	int
  num_cells           	int
  body_names          	StringField
  body_cell_topology  	PropertyField
  num_faces           	int
  body_face_topology  	PropertyField
  body_scoping        	Scoping
  cell_zone_names     	StringField
  cell_zone_elements  	PropertyField
  face_zone_names     	StringField
  cell_zone_scoping   	Scoping
  face_zone_elements  	PropertyField
  face_zone_scoping   	Scoping
  zone_names          	StringField
  num_elem_zone       	PropertyField
  zone_scoping        	Scoping
  splittable_by       	StringField

You can also extract each of those mesh metadata information by manipulating the MeshInfo object properties.

For example, we can check the part names (for the LSDYNA result file) or the cell zone names (for the Fluent or CFX result files):

# Get the part names
cell_zones_2 = mesh_info_2.get_property("part_names")

# Print the part names
print(cell_zones_2)
DPF String Field
  2 part entities 
  Data:2 elementary data 

  part
  IDs                   data
  ------------          ----------
  1                                                                                             
                        
  2                     ball                                                                    
                        


# Get the cell zone names
cell_zones_3 = mesh_info_3.get_property("cell_zone_names")

# Print the cell zone names
print(cell_zones_3)
DPF String Field
  2 zone entities 
  Data:2 elementary data 

  zone
  IDs                   data
  ------------          ----------
  13                    fluid-rotor    
                        
  28                    fluid-stator   
                        


# Get the cell zone names
cell_zones_4 = mesh_info_4.get_property("cell_zone_names")

# Print the cell zone names
print(cell_zones_4)
DPF String Field
  3 zone entities 
  Data:3 elementary data 

  zone
  IDs                   data
  ------------          ----------
  2                     ZN1/ES1        
                        
  3                     ZN1/ES2        
                        
  4                     ZN1/ES3        
                        


For more information on reading a mesh from a LSDYNA, Fluent or CFX file check the LS-Dyna examples, Fluids examples and CFX examples examples sections.