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 ameshed_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. WhenFalse
, plot external to the notebook with an interactive window. WhenTrue
, 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)
.