MeshesContainer#

Contains classes associated with the DPF MeshesContainer.

class ansys.dpf.core.meshes_container.MeshesContainer(meshes_container=None, server=None)#
entries_type#

Represents a meshes container, which contains meshes split on a given space.

Parameters:
  • meshes_container (ansys.grpc.dpf.collection_pb2.Collection or) – ansys.dpf.core.MeshesContainer, optional Create a meshes container from a collection message or create a copy from an existing meshes container. The default is None.

  • server (ansys.dpf.core.server, optional) – Server with the channel connected to the remote or local instance. The default is None, in which case an attempt is made to use the global server.

alias of MeshedRegion

plot(fields_container=None, deform_by=None, scale_factor=1.0, **kwargs)#

Plot the meshes container with a specific result if fields_container is specified.

Parameters:
  • fields_container (FieldsContainer, optional) – Data to plot. The default is None.

  • 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. For additional keyword arguments, see help(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
>>> split_mesh_op = dpf.operators.mesh.split_mesh(mesh=mesh, property="mat")
>>> meshes_cont = split_mesh_op.eval()
>>> disp_op = dpf.operators.result.displacement(
...     data_sources = dpf.DataSources(examples.find_multishells_rst()),
...     mesh = meshes_cont
... )
>>> disp_fc = disp_op.outputs.fields_container()
>>> meshes_cont.plot(disp_fc)
get_meshes(label_space)#

Retrieve the meshes at a label space.

Parameters:

label_space (dict[str,int]) – Meshes corresponding to a filter (label space) in the input. For example: {"elshape":1, "body":12}

Returns:

meshes – Meshes corresponding to the request.

Return type:

list[MeshedRegion]

get_mesh(label_space_or_index)#

Retrieve the mesh at a requested index or label space.

Raises an exception if the request returns more than one mesh.

Parameters:

label_space_or_index (dict[str,int] , int) – Scoping of the requested mesh, such as {"time": 1, "complex": 0} or the index of the mesh.

Returns:

mesh – Mesh corresponding to the request.

Return type:

MeshedRegion

add_label(label, default_value=None)#

Add the requested label to scope the collection.

Parameters:
  • label (str) – Labels to scope the entries to. For example, "time".

  • default_value (int, optional) – Default value for existing fields in the collection. The default is None.

Examples

>>> from ansys.dpf import core as dpf
>>> coll = dpf.FieldsContainer()
>>> coll.add_label('time')
get_available_ids_for_label(label='time')#

Retrieve the IDs assigned to an input label.

Parameters:

label (str) – Name of the input label. The default is "time".

Returns:

ids – List of IDs assigned to the input label.

Return type:

list[int]

get_label_scoping(label='time')#

Retrieve the scoping for an input label.

This method allows you to retrieve a list of IDs for a given input label in the collection. For example, if the label el_type exists in the collection, you can use the get_lable_scoping method to retrieve a list of IDS with this label. You can then use these IDs to request a given entity inside the collection.

Parameters:

label (str) – Name of the input label.

Returns:

scoping – IDs scoped to the input label.

Return type:

Scoping

get_label_space(index)#

Retrieve the label space of an entry at a requested index.

Parameters:

index (int) – Index of the entry.

Returns:

label_space – Scoping of the requested entry. For example, {"time": 1, "complex": 0}.

Return type:

dict(str:int)

has_label(label)#

Check if a collection has a specified label.

Parameters:

label (str) – Label to search for. For example, "time".

Returns:

True when successful, False when failed.

Return type:

bool

Examples

>>> from ansys.dpf import core as dpf
>>> coll = dpf.FieldsContainer()
>>> coll.add_label('time')
>>> coll.has_label('time')
True
>>> coll.has_label('complex')
False
static integral_collection(inpt, server: ansys.dpf.core.server_types.BaseServer | None = None)#

Creates a collection of integral type with a list.

The collection of integral is the equivalent of an array of data sent server side. It can be used to efficiently stream large data to the server.

Parameters:

inpt (list[float], list[int], numpy.array) – list to transfer server side

Return type:

IntegralCollection

Notes

Used by default by the 'Operator' and the``’Workflow’`` when a list is connected or returned.

property labels: list#

Retrieve labels scoping the collection.

Returns:

labels – List of labels that entries are scoped to. For example, ["time", "complex"].

Return type:

list[str]

property name#

Name of the Collection.

Notes

Available starting with DPF 2024 R2 pre0.

Return type:

str

set_labels(labels)#

Set labels for scoping the collection.

Parameters:

labels (list[str], optional) – Labels to scope entries to. For example, ["time", "complex"].

add_mesh(label_space, mesh)#

Add or update the mesh at a requested label space.

Parameters:
  • label_space (dict[str,int]) – Label space of the requested meshes. For example, {“elshape”:1, “body”:12}.

  • mesh (MeshedRegion) – DPF mesh to add or update.