DpfPlotter#

class ansys.dpf.core.plotter.DpfPlotter(**kwargs)#

DpfPlotter class. Can be used in order to plot results over a mesh.

The current DpfPlotter is a PyVista based object.

That means that PyVista must be installed, and that it supports kwargs as parameter (the argument must be supported by the installed PyVista version). More information about the available arguments are available at pyvista.Plotter.

Overview#

add_node_labels

Add labels at nodal locations.

add_points

Add points to the plot.

add_line

Add lines to the plot.

add_plane

Add a plane to the plot.

add_mesh

Add a mesh to plot.

add_streamlines

Add a streamline to the plotter.

add_field

Add a field containing data to the plotter.

show_figure

Plot the figure built by the plotter object.

labels

Return a list of labels.

Import detail#

from ansys.dpf.core.plotter import DpfPlotter

Property detail#

property DpfPlotter.labels#

Return a list of labels.

Returns:

List of Label(s). Each list member or member group will share same properties.

Return type:

list

Method detail#

DpfPlotter.add_node_labels(nodes: ansys.dpf.core.nodes.Nodes | List[ansys.dpf.core.nodes.Node] | List[int], meshed_region: ansys.dpf.core.meshed_region.MeshedRegion, labels: List[str] | None = None, **kwargs)#

Add labels at nodal locations.

Parameters:
  • nodes – Nodes where the labels should be added.

  • meshed_region – MeshedRegion to plot.

  • labels – The labels to use. A node for which the label is not defined or None will show the scalar value of the currently active field at that node, or, if no field is active, its node ID.

  • kwargs – Keyword arguments controlling label properties. See pyvista.Plotter.add_point_labels().

DpfPlotter.add_points(points, field=None, **kwargs)#

Add points to the plot.

DpfPlotter.add_line(points, field=None, **kwargs)#

Add lines to the plot.

DpfPlotter.add_plane(plane, field=None, **kwargs)#

Add a plane to the plot.

DpfPlotter.add_mesh(meshed_region, deform_by=None, scale_factor=1.0, **kwargs)#

Add a mesh to plot.

Parameters:
  • meshed_region (MeshedRegion) – MeshedRegion to plot.

  • deform_by (Field, Result, Operator, optional) – Used to deform the plotted mesh. Must output a 3D vector field. Defaults to None.

  • scale_factor (float, optional) – Scaling factor to apply when warping the mesh. Defaults to 1.0.

  • **kwargs (optional) – Additional keyword arguments for the plotter. More information are available at pyvista.plot().

Examples

>>> from ansys.dpf import core as dpf
>>> from ansys.dpf.core import examples
>>> model = dpf.Model(examples.find_multishells_rst())
>>> mesh = model.metadata.meshed_region
>>> from ansys.dpf.core.plotter import DpfPlotter
>>> pl = DpfPlotter()
>>> pl.add_mesh(mesh)
DpfPlotter.add_streamlines(streamlines, source=None, radius=0.1, **kwargs)#

Add a streamline to the plotter.

The current add_streamlines method adds streamline as a PyVista based object. For more information about arguments, see pyvista.DataSetFilters.streamlines().

Parameters:
  • streamlines (helpers.streamlines.Streamlines) – Object containing computed streamlines data, computed using helpers.streamlines.compute_streamlines function.

  • source (helpers.streamlines.StreamlinesSource, optional) – Object containing computed streamines source data, computed using helpers.streamlines.compute_streamlines function.

  • **kwargs (optional) – Additional keyword arguments for the plotter. More information is available at pyvista.plot(). The “permissive” (boolean, default being True) can be used to avoid throwing if computed streamlines are empty. See Examples section for more information.

Examples

>>> from ansys.dpf import core as dpf
>>> from ansys.dpf.core import examples
>>> from ansys.dpf.core.helpers.streamlines import compute_streamlines
>>> # Get model and meshed region
>>> files = examples.download_fluent_mixing_elbow_steady_state()
>>> ds = dpf.DataSources()
>>> ds.set_result_file_path(files["cas"][0], "cas")
>>> ds.add_file_path(files["dat"][1], "dat")
>>> model = dpf.Model(ds)
>>> mesh = model.metadata.meshed_region
>>> # Get velocity data
>>> velocity_op = model.results.velocity()
>>> fc = velocity_op.outputs.fields_container()
>>> op = dpf.operators.averaging.to_nodal_fc(fields_container=fc)
>>> field = op.outputs.fields_container()[0]
>>> # Plot
>>> from ansys.dpf.core.plotter import DpfPlotter
>>> pl = DpfPlotter()
>>> pl.add_mesh(meshed_region=mesh, opacity=0.15, color="g")
>>> streamline_obj = compute_streamlines(
...        meshed_region=mesh,
...        field=field,
...        source_center=(0.55, 0.55, 0.),
...        n_points=10,
...        source_radius=0.08,
...        max_time=10.0
...        )
>>> pl.add_streamlines(
...        streamlines=streamline_obj,
...        radius=0.001,
...        )
>>> pl.show_figure(show_axes=True)
DpfPlotter.add_field(field, meshed_region=None, show_max=False, show_min=False, label_text_size=30, label_point_size=20, deform_by=None, scale_factor=1.0, **kwargs)#

Add a field containing data to the plotter.

A meshed_region to plot on can be added. If no meshed_region is specified, the field support will be used. Ensure that the field support is a meshed_region.

Parameters:
  • field (Field) – Field data to plot

  • meshed_region (MeshedRegion, optional) – MeshedRegion to plot the field on.

  • show_max (bool, optional) – Label the point with the maximum value.

  • show_min (bool, optional) – Label the point with the minimum value.

  • deform_by (Field, Result, Operator, optional) – Used to deform the plotted mesh. Must output a 3D vector field. Defaults to None.

  • scale_factor (float, optional) – Scaling factor to apply when warping the mesh. Defaults to 1.0.

  • **kwargs (optional) – Additional keyword arguments for the plotter. More information are available at pyvista.plot().

Examples

>>> from ansys.dpf import core as dpf
>>> from ansys.dpf.core import examples
>>> model = dpf.Model(examples.find_multishells_rst())
>>> mesh = model.metadata.meshed_region
>>> field = model.results.displacement().outputs.fields_container()[0]
>>> from ansys.dpf.core.plotter import DpfPlotter
>>> pl = DpfPlotter()
>>> pl.add_field(field, mesh)
DpfPlotter.show_figure(**kwargs)#

Plot the figure built by the plotter object.

Parameters:

**kwargs (optional) – Additional keyword arguments for the plotter. More information are available at pyvista.plot().

Examples

>>> from ansys.dpf import core as dpf
>>> from ansys.dpf.core import examples
>>> model = dpf.Model(examples.find_multishells_rst())
>>> mesh = model.metadata.meshed_region
>>> field = model.results.displacement().outputs.fields_container()[0]
>>> from ansys.dpf.core.plotter import DpfPlotter
>>> pl = DpfPlotter()
>>> pl.add_field(field, mesh)
>>> pl.show_figure()