Plotter#

This module contains the DPF plotter class.

Contains classes used to plot a mesh and a fields container using PyVista.

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.

property labels#

Return a list of labels.

Returns

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

Return type

list

add_node_labels(nodes, meshed_region, labels=None, **kwargs)#

Add labels at the nodal locations.

Parameters
  • nodes (list) – Nodes where the labels should be added.

  • meshed_region (MeshedRegion) – MeshedRegion to plot.

  • labels (: list of str or str, optional) – If label for grid point is not defined, scalar value at that point is shown.

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

add_mesh(meshed_region, **kwargs)#

Add a mesh to plot.

Parameters
  • meshed_region (MeshedRegion) – MeshedRegion to plot.

  • **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.multishells_rst)
>>> mesh = model.metadata.meshed_region
>>> from ansys.dpf.core.plotter import DpfPlotter
>>> pl = DpfPlotter()
>>> pl.add_mesh(mesh)
add_field(field, meshed_region=None, show_max=False, show_min=False, label_text_size=30, label_point_size=20, **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.

  • **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.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)
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.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()
ansys.dpf.core.plotter.plot_chart(fields_container, off_screen=False, screenshot=None)#

Plot the minimum/maximum result values over time.

This is a valid method if time_freq_support contains several time_steps, such as in a transient analysis.

Parameters
  • fields_container (dpf.core.FieldsContainer) – Fields container that must contains a result for each time step of time_freq_support.

  • off_screen (bool, optional) – Whether to render the image off-screen. Useful for batch workflows. The default is False.

  • screenshot (path-like, optional) – A file path to which the figure should be saved. The format is inferred from the file extension in the path (defaults to “.png”). The default is None.

Examples

>>> from ansys.dpf import core as dpf
>>> from ansys.dpf.core import examples
>>> model = dpf.Model(examples.transient_therm)
>>> t = model.results.temperature.on_all_time_freqs()
>>> fc = t.outputs.fields_container()
>>> plotter = dpf.plotter.plot_chart(fc)
class ansys.dpf.core.plotter.Plotter(mesh, **kwargs)#

Plots fields and meshed regions in DPF-Core.

Parameters

mesh (str) – Name of the mesh.

plot_mesh(**kwargs)#

Plot the mesh using PyVista.

Parameters
  • notebook (bool, optional) – When None (default) plot a static image within an iPython notebook if available. When False, plot external to the notebook with an interactive window. When True, always plot within a notebook.

  • **kwargs (optional) – Additional keyword arguments for the plotter. For more information, ee help(pyvista.plot).

static plot_chart(fields_container, off_screen=False, screenshot=None)#

Plot the minimum/maximum result values over time.

This is a valid method if time_freq_support contains several time steps, such as in a transient analysis.

Parameters
  • fields_container (dpf.core.FieldsContainer) – Fields container that must contain a result for each time step of time_freq_support.

  • off_screen (bool, optional) – Used to prevent the figure from showing in a pop-up, useful for batch image generation. Defaults to False.

  • screenshot (str, os.pathLike, optional) – Path to save the figure to. Defaults to None. If no extension is given, defaults to .png format. See help(matplotlib.pyplot.savefig) for more information on supported formats.

Examples

>>> from ansys.dpf import core as dpf
>>> from ansys.dpf.core import examples
>>> model = dpf.Model(examples.simple_bar)
>>> disp = model.results.displacement()
>>> scoping = dpf.Scoping()
>>> scoping.ids = range(1, len(model.metadata.time_freq_support.time_frequencies) + 1)
>>> disp.inputs.time_scoping.connect(scoping)
>>> fc = disp.outputs.fields_container()
>>> plotter = dpf.plotter.Plotter(model.metadata.meshed_region)
>>> pl = plotter.plot_chart(fc)
plot_contour(field_or_fields_container, shell_layers=None, meshed_region=None, **kwargs)#

Plot the contour result on its mesh support.

You cannot plot a fields container containing results at several time steps.

Parameters
  • field_or_fields_container (dpf.core.Field or dpf.core.FieldsContainer) – Field or field container that contains the result to plot.

  • shell_layers (core.shell_layers, optional) – Enum used to set the shell layers if the model to plot contains shell elements.

  • **kwargs (optional) – Additional keyword arguments for the plotter. For more information, see help(pyvista.plot).