Skip to content

Update Operators for DPF 241 on master #1037

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/source/_static/dpf_operators.html

Large diffs are not rendered by default.

50 changes: 50 additions & 0 deletions src/ansys/dpf/core/operators/mesh/mesh_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ class mesh_provider(Operator):
If 1, cyclic symmetry is ignored. if 2,
cyclic expansion is done (default is
1).
region_scoping : Scoping or int, optional
Region id (integer) or vector of region ids
with one entity (vector) or region
scoping with one id (scoping) (region
corresponds to zone for fluid results
or part for lsdyna results).
laziness : DataTree, optional
Configurate whether lazy evaluation can be
performed and to what extent.
Expand Down Expand Up @@ -64,6 +70,8 @@ class mesh_provider(Operator):
>>> op.inputs.data_sources.connect(my_data_sources)
>>> my_read_cyclic = int()
>>> op.inputs.read_cyclic.connect(my_read_cyclic)
>>> my_region_scoping = dpf.Scoping()
>>> op.inputs.region_scoping.connect(my_region_scoping)
>>> my_laziness = dpf.DataTree()
>>> op.inputs.laziness.connect(my_laziness)

Expand All @@ -73,6 +81,7 @@ class mesh_provider(Operator):
... streams_container=my_streams_container,
... data_sources=my_data_sources,
... read_cyclic=my_read_cyclic,
... region_scoping=my_region_scoping,
... laziness=my_laziness,
... )

Expand All @@ -86,6 +95,7 @@ def __init__(
streams_container=None,
data_sources=None,
read_cyclic=None,
region_scoping=None,
laziness=None,
config=None,
server=None,
Expand All @@ -101,6 +111,8 @@ def __init__(
self.inputs.data_sources.connect(data_sources)
if read_cyclic is not None:
self.inputs.read_cyclic.connect(read_cyclic)
if region_scoping is not None:
self.inputs.region_scoping.connect(region_scoping)
if laziness is not None:
self.inputs.laziness.connect(laziness)

Expand Down Expand Up @@ -138,6 +150,16 @@ def _spec():
document="""If 1, cyclic symmetry is ignored. if 2,
cyclic expansion is done (default is
1).""",
),
25: PinSpecification(
name="region_scoping",
type_names=["scoping", "int32", "vector<int32>"],
optional=True,
document="""Region id (integer) or vector of region ids
with one entity (vector) or region
scoping with one id (scoping) (region
corresponds to zone for fluid results
or part for lsdyna results).""",
),
200: PinSpecification(
name="laziness",
Expand Down Expand Up @@ -226,6 +248,8 @@ class InputsMeshProvider(_Inputs):
>>> op.inputs.data_sources.connect(my_data_sources)
>>> my_read_cyclic = int()
>>> op.inputs.read_cyclic.connect(my_read_cyclic)
>>> my_region_scoping = dpf.Scoping()
>>> op.inputs.region_scoping.connect(my_region_scoping)
>>> my_laziness = dpf.DataTree()
>>> op.inputs.laziness.connect(my_laziness)
"""
Expand All @@ -240,6 +264,8 @@ def __init__(self, op: Operator):
self._inputs.append(self._data_sources)
self._read_cyclic = Input(mesh_provider._spec().input_pin(14), 14, op, -1)
self._inputs.append(self._read_cyclic)
self._region_scoping = Input(mesh_provider._spec().input_pin(25), 25, op, -1)
self._inputs.append(self._region_scoping)
self._laziness = Input(mesh_provider._spec().input_pin(200), 200, op, -1)
self._inputs.append(self._laziness)

Expand Down Expand Up @@ -328,6 +354,30 @@ def read_cyclic(self):
"""
return self._read_cyclic

@property
def region_scoping(self):
"""Allows to connect region_scoping input to the operator.

Region id (integer) or vector of region ids
with one entity (vector) or region
scoping with one id (scoping) (region
corresponds to zone for fluid results
or part for lsdyna results).

Parameters
----------
my_region_scoping : Scoping or int

Examples
--------
>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.mesh.mesh_provider()
>>> op.inputs.region_scoping.connect(my_region_scoping)
>>> # or
>>> op.inputs.region_scoping(my_region_scoping)
"""
return self._region_scoping

@property
def laziness(self):
"""Allows to connect laziness input to the operator.
Expand Down
50 changes: 50 additions & 0 deletions src/ansys/dpf/core/operators/mesh/meshes_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ class meshes_provider(Operator):
If 1, cyclic symmetry is ignored. if 2,
cyclic expansion is done (default is
1).
region_scoping : Scoping or int, optional
Region id (integer) or vector of region ids
(vector) or region scoping (scoping)
of the model (region corresponds to
zone for fluid results or part for
lsdyna results).


Examples
Expand All @@ -46,13 +52,16 @@ class meshes_provider(Operator):
>>> op.inputs.data_sources.connect(my_data_sources)
>>> my_read_cyclic = int()
>>> op.inputs.read_cyclic.connect(my_read_cyclic)
>>> my_region_scoping = dpf.Scoping()
>>> op.inputs.region_scoping.connect(my_region_scoping)

>>> # Instantiate operator and connect inputs in one line
>>> op = dpf.operators.mesh.meshes_provider(
... time_scoping=my_time_scoping,
... streams_container=my_streams_container,
... data_sources=my_data_sources,
... read_cyclic=my_read_cyclic,
... region_scoping=my_region_scoping,
... )

>>> # Get output data
Expand All @@ -65,6 +74,7 @@ def __init__(
streams_container=None,
data_sources=None,
read_cyclic=None,
region_scoping=None,
config=None,
server=None,
):
Expand All @@ -79,6 +89,8 @@ def __init__(
self.inputs.data_sources.connect(data_sources)
if read_cyclic is not None:
self.inputs.read_cyclic.connect(read_cyclic)
if region_scoping is not None:
self.inputs.region_scoping.connect(region_scoping)

@staticmethod
def _spec():
Expand Down Expand Up @@ -115,6 +127,16 @@ def _spec():
cyclic expansion is done (default is
1).""",
),
25: PinSpecification(
name="region_scoping",
type_names=["scoping", "int32", "vector<int32>"],
optional=True,
document="""Region id (integer) or vector of region ids
(vector) or region scoping (scoping)
of the model (region corresponds to
zone for fluid results or part for
lsdyna results).""",
),
},
map_output_pin_spec={
0: PinSpecification(
Expand Down Expand Up @@ -180,6 +202,8 @@ class InputsMeshesProvider(_Inputs):
>>> op.inputs.data_sources.connect(my_data_sources)
>>> my_read_cyclic = int()
>>> op.inputs.read_cyclic.connect(my_read_cyclic)
>>> my_region_scoping = dpf.Scoping()
>>> op.inputs.region_scoping.connect(my_region_scoping)
"""

def __init__(self, op: Operator):
Expand All @@ -192,6 +216,8 @@ def __init__(self, op: Operator):
self._inputs.append(self._data_sources)
self._read_cyclic = Input(meshes_provider._spec().input_pin(14), 14, op, -1)
self._inputs.append(self._read_cyclic)
self._region_scoping = Input(meshes_provider._spec().input_pin(25), 25, op, -1)
self._inputs.append(self._region_scoping)

@property
def time_scoping(self):
Expand Down Expand Up @@ -277,6 +303,30 @@ def read_cyclic(self):
"""
return self._read_cyclic

@property
def region_scoping(self):
"""Allows to connect region_scoping input to the operator.

Region id (integer) or vector of region ids
(vector) or region scoping (scoping)
of the model (region corresponds to
zone for fluid results or part for
lsdyna results).

Parameters
----------
my_region_scoping : Scoping or int

Examples
--------
>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.mesh.meshes_provider()
>>> op.inputs.region_scoping.connect(my_region_scoping)
>>> # or
>>> op.inputs.region_scoping(my_region_scoping)
"""
return self._region_scoping


class OutputsMeshesProvider(_Outputs):
"""Intermediate class used to get outputs from
Expand Down
60 changes: 33 additions & 27 deletions src/ansys/dpf/core/operators/result/density.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,12 @@ class density(Operator):
mesh : MeshedRegion or MeshesContainer, optional
Prevents from reading the mesh in the result
files
zone_scoping : Scoping or int, optional
(for fluid results only) zone id (integer) or
vector of zone ids (vector) or zone
scoping (scoping)
region_scoping : Scoping or int, optional
Region id (integer) or vector of region ids
(vector) or region scoping (scoping)
of the model (region corresponds to
zone for fluid results or part for
lsdyna results).
qualifiers1 : LabelSpace, optional
(for fluid results only) labelspace with
combination of zone, phases or
Expand Down Expand Up @@ -84,8 +86,8 @@ class density(Operator):
>>> op.inputs.data_sources.connect(my_data_sources)
>>> my_mesh = dpf.MeshedRegion()
>>> op.inputs.mesh.connect(my_mesh)
>>> my_zone_scoping = dpf.Scoping()
>>> op.inputs.zone_scoping.connect(my_zone_scoping)
>>> my_region_scoping = dpf.Scoping()
>>> op.inputs.region_scoping.connect(my_region_scoping)
>>> my_qualifiers1 = dpf.LabelSpace()
>>> op.inputs.qualifiers1.connect(my_qualifiers1)
>>> my_qualifiers2 = dpf.LabelSpace()
Expand All @@ -98,7 +100,7 @@ class density(Operator):
... streams_container=my_streams_container,
... data_sources=my_data_sources,
... mesh=my_mesh,
... zone_scoping=my_zone_scoping,
... region_scoping=my_region_scoping,
... qualifiers1=my_qualifiers1,
... qualifiers2=my_qualifiers2,
... )
Expand All @@ -114,7 +116,7 @@ def __init__(
streams_container=None,
data_sources=None,
mesh=None,
zone_scoping=None,
region_scoping=None,
qualifiers1=None,
qualifiers2=None,
config=None,
Expand All @@ -133,8 +135,8 @@ def __init__(
self.inputs.data_sources.connect(data_sources)
if mesh is not None:
self.inputs.mesh.connect(mesh)
if zone_scoping is not None:
self.inputs.zone_scoping.connect(zone_scoping)
if region_scoping is not None:
self.inputs.region_scoping.connect(region_scoping)
if qualifiers1 is not None:
self.inputs.qualifiers1.connect(qualifiers1)
if qualifiers2 is not None:
Expand Down Expand Up @@ -213,12 +215,14 @@ def _spec():
files""",
),
25: PinSpecification(
name="zone_scoping",
name="region_scoping",
type_names=["scoping", "int32", "vector<int32>"],
optional=True,
document="""(for fluid results only) zone id (integer) or
vector of zone ids (vector) or zone
scoping (scoping)""",
document="""Region id (integer) or vector of region ids
(vector) or region scoping (scoping)
of the model (region corresponds to
zone for fluid results or part for
lsdyna results).""",
),
1000: PinSpecification(
name="qualifiers",
Expand Down Expand Up @@ -303,8 +307,8 @@ class InputsDensity(_Inputs):
>>> op.inputs.data_sources.connect(my_data_sources)
>>> my_mesh = dpf.MeshedRegion()
>>> op.inputs.mesh.connect(my_mesh)
>>> my_zone_scoping = dpf.Scoping()
>>> op.inputs.zone_scoping.connect(my_zone_scoping)
>>> my_region_scoping = dpf.Scoping()
>>> op.inputs.region_scoping.connect(my_region_scoping)
>>> my_qualifiers1 = dpf.LabelSpace()
>>> op.inputs.qualifiers1.connect(my_qualifiers1)
>>> my_qualifiers2 = dpf.LabelSpace()
Expand All @@ -323,8 +327,8 @@ def __init__(self, op: Operator):
self._inputs.append(self._data_sources)
self._mesh = Input(density._spec().input_pin(7), 7, op, -1)
self._inputs.append(self._mesh)
self._zone_scoping = Input(density._spec().input_pin(25), 25, op, -1)
self._inputs.append(self._zone_scoping)
self._region_scoping = Input(density._spec().input_pin(25), 25, op, -1)
self._inputs.append(self._region_scoping)
self._qualifiers1 = Input(density._spec().input_pin(1000), 1000, op, 0)
self._inputs.append(self._qualifiers1)
self._qualifiers2 = Input(density._spec().input_pin(1001), 1001, op, 1)
Expand Down Expand Up @@ -458,26 +462,28 @@ def mesh(self):
return self._mesh

@property
def zone_scoping(self):
"""Allows to connect zone_scoping input to the operator.
def region_scoping(self):
"""Allows to connect region_scoping input to the operator.

(for fluid results only) zone id (integer) or
vector of zone ids (vector) or zone
scoping (scoping)
Region id (integer) or vector of region ids
(vector) or region scoping (scoping)
of the model (region corresponds to
zone for fluid results or part for
lsdyna results).

Parameters
----------
my_zone_scoping : Scoping or int
my_region_scoping : Scoping or int

Examples
--------
>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.density()
>>> op.inputs.zone_scoping.connect(my_zone_scoping)
>>> op.inputs.region_scoping.connect(my_region_scoping)
>>> # or
>>> op.inputs.zone_scoping(my_zone_scoping)
>>> op.inputs.region_scoping(my_region_scoping)
"""
return self._zone_scoping
return self._region_scoping

@property
def qualifiers1(self):
Expand Down
Loading