From 6afc6046750832871f1878b9f1b7763d17f38165 Mon Sep 17 00:00:00 2001 From: rlagha Date: Fri, 25 Oct 2024 08:34:05 +0000 Subject: [PATCH] update generated code --- doc/source/_static/dpf_operators.html | 2 +- src/ansys/dpf/core/operators/__init__.py | 2 + .../dpf/core/operators/averaging/__init__.py | 51 +- .../averaging/elemental_to_nodal_fc.py | 377 ---------- .../averaging/nodal_extend_to_mid_nodes.py | 312 -------- .../averaging/to_elemental_nodal_fc.py | 265 ------- .../core/operators/compression/__init__.py | 4 + .../dpf/core/operators/filter/__init__.py | 44 +- src/ansys/dpf/core/operators/geo/__init__.py | 36 +- .../dpf/core/operators/invariant/__init__.py | 30 +- .../dpf/core/operators/logic/__init__.py | 40 +- .../dpf/core/operators/mapping/__init__.py | 18 +- src/ansys/dpf/core/operators/math/__init__.py | 204 +++-- .../core/operators/math/elemental_density.py | 346 --------- .../operators/math/modal_participation.py | 346 --------- .../dpf/core/operators/math/nodal_density.py | 342 --------- src/ansys/dpf/core/operators/mesh/__init__.py | 63 +- src/ansys/dpf/core/operators/mesh/skin.py | 44 ++ .../dpf/core/operators/metadata/__init__.py | 32 +- .../dpf/core/operators/min_max/__init__.py | 32 +- .../dpf/core/operators/result/__init__.py | 637 ++++++++-------- .../dpf/core/operators/scoping/__init__.py | 34 +- .../operators/scoping/elemental_from_mesh.py | 183 ----- .../core/operators/scoping/nodal_from_mesh.py | 183 ----- .../core/operators/serialization/__init__.py | 43 +- .../serialization/mechanical_csv_to_field.py | 295 -------- .../serialization/workflow_export_json.py | 169 ----- .../serialization/workflow_import_json.py | 156 ---- .../dpf/core/operators/server/__init__.py | 2 + .../dpf/core/operators/utility/__init__.py | 155 ++-- .../core/operators/utility/bind_support_fc.py | 222 ------ .../utility/make_time_chunk_for_each.py | 686 ----------------- .../make_time_freq_support_chunk_for_each.py | 696 ------------------ .../operators/utility/python_script_exec.py | 133 ---- .../core/operators/utility/unitary_field.py | 189 ----- src/ansys/dpf/gatebin/Ans.Dpf.GrpcClient.dll | Bin 11716096 -> 11716096 bytes src/ansys/dpf/gatebin/DPFClientAPI.dll | Bin 882688 -> 882688 bytes .../dpf/gatebin/libAns.Dpf.GrpcClient.so | Bin 30306888 -> 30306888 bytes src/ansys/dpf/gatebin/libDPFClientAPI.so | Bin 2209584 -> 2209584 bytes 39 files changed, 757 insertions(+), 5616 deletions(-) delete mode 100644 src/ansys/dpf/core/operators/averaging/elemental_to_nodal_fc.py delete mode 100644 src/ansys/dpf/core/operators/averaging/nodal_extend_to_mid_nodes.py delete mode 100644 src/ansys/dpf/core/operators/averaging/to_elemental_nodal_fc.py create mode 100644 src/ansys/dpf/core/operators/compression/__init__.py delete mode 100644 src/ansys/dpf/core/operators/math/elemental_density.py delete mode 100644 src/ansys/dpf/core/operators/math/modal_participation.py delete mode 100644 src/ansys/dpf/core/operators/math/nodal_density.py delete mode 100644 src/ansys/dpf/core/operators/scoping/elemental_from_mesh.py delete mode 100644 src/ansys/dpf/core/operators/scoping/nodal_from_mesh.py delete mode 100644 src/ansys/dpf/core/operators/serialization/mechanical_csv_to_field.py delete mode 100644 src/ansys/dpf/core/operators/serialization/workflow_export_json.py delete mode 100644 src/ansys/dpf/core/operators/serialization/workflow_import_json.py create mode 100644 src/ansys/dpf/core/operators/server/__init__.py delete mode 100644 src/ansys/dpf/core/operators/utility/bind_support_fc.py delete mode 100644 src/ansys/dpf/core/operators/utility/make_time_chunk_for_each.py delete mode 100644 src/ansys/dpf/core/operators/utility/make_time_freq_support_chunk_for_each.py delete mode 100644 src/ansys/dpf/core/operators/utility/python_script_exec.py delete mode 100644 src/ansys/dpf/core/operators/utility/unitary_field.py diff --git a/doc/source/_static/dpf_operators.html b/doc/source/_static/dpf_operators.html index fd1a4a5fc2d..970ccc6fa9e 100644 --- a/doc/source/_static/dpf_operators.html +++ b/doc/source/_static/dpf_operators.html @@ -2099,7 +2099,7 @@

Configurating operators

2 for normalized by the max at a given time step of the first entry or residuals depending on the reference field option, 3 for normalized by the max over all time steps of the first entry or residuals depending on the reference field option" types="int32" optional="true"ellipsis="false"inplace="false">

Outputs

Configurations

Scripting

result: add rigid body motion (fields container)

Inputs

Outputs

Configurations

Scripting

utility: merge time freq supports

Inputs

Outputs

Configurations

Scripting

min_max: incremental over fields container

Inputs

Outputs

Configurations

Scripting

scoping: split on property type

Inputs

Outputs

Configurations

Scripting

utility: overlap fields

Inputs

Outputs

Configurations

Scripting

averaging: elemental nodal to nodal elemental (field)

Inputs

Outputs

Configurations

Scripting

utility: change shell layers

Inputs

Outputs

Configurations

Scripting

utility: merge meshes

Inputs

Outputs

Configurations

Scripting

utility: merge fields

Inputs

Outputs

Configurations

Scripting

utility: merge weighted fields

Inputs

Outputs

Configurations

Scripting

utility: merge fc to fc field matrices

Inputs

Outputs

Configurations

Scripting

filter: high pass (field)

Inputs

Outputs

Configurations

Scripting

min_max: max by component

Inputs

Outputs

Configurations

Scripting

utility: weighted merge fields by label

Inputs

Outputs

Configurations

Scripting

utility: merge fields by label

Inputs

Outputs

Configurations

Scripting

averaging: elemental to elemental nodal (field)

Inputs

Outputs

Configurations

Scripting

utility: merge meshes containers

Inputs

Outputs

Configurations

Scripting

min_max: min max by entity

Inputs

Outputs

Configurations

Scripting

utility: merge collections

Inputs

Outputs

Configurations

Scripting

logic: merge solid and shell fields

Inputs

Outputs

Configurations

Scripting

min_max: min over time

Inputs

Outputs

Configurations

Scripting

geo: element nodal contribution

Inputs

Outputs

Configurations

Scripting

min_max: over label

Inputs

Outputs

Configurations

Scripting

min_max: min by component

Inputs

Outputs

Configurations

Scripting

serialization: serializer to string

Inputs

Outputs

Configurations

Scripting

serialization: deserializer

Inputs

Outputs

Configurations

Scripting

result: cyclic expanded velocity

Inputs

Outputs

Configurations

Scripting

mesh: skin

Inputs

Outputs

Configurations

Scripting

utility: split in for each range

Inputs

Outputs

Configurations

Scripting

utility: incremental field

Inputs

Outputs

Configurations

Scripting

utility: incremental fields container

Inputs

Outputs

Configurations

Scripting

geo: rotate (fields container)

Inputs

Outputs

Configurations

Scripting

utility: incremental property field

Inputs

Outputs

Configurations

Scripting

utility: incremental mesh

Inputs

Outputs

Configurations

Scripting

mesh: points from coordinates

Inputs

Outputs

Configurations

Scripting

utility: incremental concantenate as fields container.

Inputs

Outputs

Configurations

Scripting

utility: make producer consumer for each iterator

Inputs

Outputs

Configurations

Scripting

utility: producer consumer for each

Inputs

Outputs

Configurations

Scripting

averaging: extend to mid nodes (field)

Inputs

Outputs

Configurations

Scripting

invariant: eigen vectors (on fields container)

Inputs

Outputs

Configurations

Scripting

mesh: mesh get attribute

Inputs

Outputs

Configurations

Scripting

metadata: time freq support get attribute

Inputs

Outputs

Configurations

Scripting

utility: set attribute

Inputs

Outputs

Configurations

Scripting

utility: field get attribute

Inputs

Outputs

Configurations

Scripting

min_max: time of min

Inputs

Outputs

Configurations

Scripting

min_max: max over phase

Inputs

Outputs

Configurations

Scripting

min_max: phase of max

Inputs

Outputs

Configurations

Scripting

utility: voigt to standard strains

Inputs

Outputs

Configurations

Scripting

utility: voigt to standard strains (fields container)

Inputs

Outputs

Configurations

Scripting

min_max: incremental over field

Inputs

Outputs

Configurations

Scripting

utility: workflow to pydpf generator

Inputs

Outputs

Configurations

Scripting

filter: signed high pass (timefreq)

Inputs

Outputs

Configurations

Scripting

logic: same string fields?

Inputs

Outputs

Configurations

Scripting

logic: same meshes?

Inputs

Outputs

Configurations

Scripting

logic: same fields?

Inputs

Outputs

Configurations

Scripting

logic: fields included?

Inputs

Outputs

Configurations

Scripting

logic: same fields container?

Inputs

Outputs

Configurations

Scripting

filter: high pass (scoping)

Inputs

Outputs

Configurations

Scripting

filter: high pass (timescoping)

Inputs

Outputs

Configurations

Scripting

filter: high pass (fields container)

Inputs

Outputs

Configurations

Scripting

filter: low pass (field)

Inputs

Outputs

Configurations

Scripting

filter: low pass (fields container)

Inputs

Outputs

Configurations

Scripting

filter: band pass (scoping)

Inputs

Outputs

Configurations

Scripting

filter: band pass (timefreq)

Inputs

Outputs

Configurations

Scripting

filter: signed high pass (scoping)

Inputs

Outputs

Configurations

Scripting

filter: signed high pass (timescoping)

Inputs

Outputs

Configurations

Scripting

filter: signed high pass (fields container)

Inputs

Outputs

Configurations

Scripting

serialization: csv to field

Inputs

Outputs

Configurations

Scripting

result: members in compression not certified

Inputs

Outputs

Configurations

Scripting

result: members in bending not certified

Inputs

Outputs

Configurations

Scripting

result: members in linear compression bending not certified

Inputs

Outputs

Configurations

Scripting

invariant: convertnum nod to bcs

Inputs

Outputs

Configurations

Scripting

geo: rotate

Inputs

Outputs

Configurations

Scripting

logic: enrich materials

Inputs

Outputs

Configurations

Scripting

serialization: data tree to json

Inputs

Outputs

Configurations

Scripting

serialization: data tree to txt

Inputs

Outputs

Configurations

Scripting

serialization: json to data tree

Inputs

Outputs

Configurations

Scripting

averaging: nodal difference (fields container)

Inputs

Outputs

Configurations

Scripting

logic: descending sort

Inputs

Outputs

Configurations

Scripting

logic: ascending sort (fields container)

Inputs

Outputs

Configurations

Scripting

logic: descending sort (fields container)

Inputs

Outputs

Configurations

Scripting

serialization: import symbolic workflow

Inputs

Outputs

Configurations

Scripting

filter: filtering max over time workflow

Inputs

Outputs

Configurations

Scripting

metadata: integrate over time freq

Inputs

Outputs

Configurations

Scripting

utility: extract time freq

Inputs

Outputs

Configurations

Scripting

averaging: nodal difference (field)

Inputs

Outputs

Configurations

Scripting

result: compute stress YZ

Inputs

Outputs

Configurations

Scripting

logic: splitter::data_sources

Inputs

Outputs

Configurations

Scripting

averaging: elemental nodal to nodal (field)

Inputs

Outputs

Configurations

Scripting

averaging: elemental nodal to nodal (fields container)

Inputs

Outputs

Configurations

Scripting

averaging: elemental to nodal (field)

Outputs

Configurations

Scripting

result: add rigid body motion (fields container)

Inputs

Outputs

Configurations

Scripting

utility: merge time freq supports

Inputs

Outputs

Configurations

Scripting

min_max: incremental over fields container

Inputs

Outputs

Configurations

Scripting

scoping: split on property type

Inputs

Outputs

Configurations

Scripting

utility: overlap fields

Inputs

Outputs

Configurations

Scripting

averaging: elemental nodal to nodal elemental (field)

Inputs

Outputs

Configurations

Scripting

utility: change shell layers

Inputs

Outputs

Configurations

Scripting

utility: merge meshes

Inputs

Outputs

Configurations

Scripting

utility: merge fields

Inputs

Outputs

Configurations

Scripting

utility: merge weighted fields

Inputs

Outputs

Configurations

Scripting

utility: merge fc to fc field matrices

Inputs

Outputs

Configurations

Scripting

filter: high pass (field)

Inputs

Outputs

Configurations

Scripting

min_max: max by component

Inputs

Outputs

Configurations

Scripting

utility: weighted merge fields by label

Inputs

Outputs

Configurations

Scripting

utility: merge fields by label

Inputs

Outputs

Configurations

Scripting

averaging: elemental to elemental nodal (field)

Inputs

Outputs

Configurations

Scripting

utility: merge meshes containers

Inputs

Outputs

Configurations

Scripting

min_max: min max by entity

Inputs

Outputs

Configurations

Scripting

utility: merge collections

Inputs

Outputs

Configurations

Scripting

logic: merge solid and shell fields

Inputs

Outputs

Configurations

Scripting

min_max: min over time

Inputs

Outputs

Configurations

Scripting

geo: element nodal contribution

Inputs

Outputs

Configurations

Scripting

min_max: over label

Inputs

Outputs

Configurations

Scripting

min_max: min by component

Inputs

Outputs

Configurations

Scripting

serialization: serializer to string

Inputs

Outputs

Configurations

Scripting

serialization: deserializer

Inputs

Outputs

Configurations

Scripting

result: cyclic expanded velocity

Inputs

Outputs

Configurations

Scripting

mesh: skin

Inputs

Outputs

Configurations

Scripting

utility: split in for each range

Inputs

Outputs

Configurations

Scripting

utility: incremental field

Inputs

Outputs

Configurations

Scripting

utility: incremental fields container

Inputs

Outputs

Configurations

Scripting

geo: rotate (fields container)

Inputs

Outputs

Configurations

Scripting

utility: incremental property field

Inputs

Outputs

Configurations

Scripting

utility: incremental mesh

Inputs

Outputs

Configurations

Scripting

mesh: points from coordinates

Inputs

Outputs

Configurations

Scripting

utility: incremental concantenate as fields container.

Inputs

Outputs

Configurations

Scripting

utility: make producer consumer for each iterator

Inputs

Outputs

Configurations

Scripting

utility: producer consumer for each

Inputs

Outputs

Configurations

Scripting

averaging: extend to mid nodes (field)

Inputs

Outputs

Configurations

Scripting

invariant: eigen vectors (on fields container)

Inputs

Outputs

Configurations

Scripting

mesh: mesh get attribute

Inputs

Outputs

Configurations

Scripting

metadata: time freq support get attribute

Inputs

Outputs

Configurations

Scripting

utility: set attribute

Inputs

Outputs

Configurations

Scripting

utility: field get attribute

Inputs

Outputs

Configurations

Scripting

min_max: time of min

Inputs

Outputs

Configurations

Scripting

min_max: max over phase

Inputs

Outputs

Configurations

Scripting

min_max: phase of max

Inputs

Outputs

Configurations

Scripting

utility: voigt to standard strains

Inputs

Outputs

Configurations

Scripting

utility: voigt to standard strains (fields container)

Inputs

Outputs

Configurations

Scripting

min_max: incremental over field

Inputs

Outputs

Configurations

Scripting

utility: workflow to pydpf generator

Inputs

Outputs

Configurations

Scripting

filter: signed high pass (timefreq)

Inputs

Outputs

Configurations

Scripting

logic: same string fields?

Inputs

Outputs

Configurations

Scripting

logic: same meshes?

Inputs

Outputs

Configurations

Scripting

logic: same fields?

Inputs

Outputs

Configurations

Scripting

logic: fields included?

Inputs

Outputs

Configurations

Scripting

logic: same fields container?

Inputs

Outputs

Configurations

Scripting

filter: high pass (scoping)

Inputs

Outputs

Configurations

Scripting

filter: high pass (timescoping)

Inputs

Outputs

Configurations

Scripting

filter: high pass (fields container)

Inputs

Outputs

Configurations

Scripting

filter: low pass (field)

Inputs

Outputs

Configurations

Scripting

filter: low pass (fields container)

Inputs

Outputs

Configurations

Scripting

filter: band pass (scoping)

Inputs

Outputs

Configurations

Scripting

filter: band pass (timefreq)

Inputs

Outputs

Configurations

Scripting

filter: signed high pass (scoping)

Inputs

Outputs

Configurations

Scripting

filter: signed high pass (timescoping)

Inputs

Outputs

Configurations

Scripting

filter: signed high pass (fields container)

Inputs

Outputs

Configurations

Scripting

serialization: csv to field

Inputs

Outputs

Configurations

Scripting

result: members in compression not certified

Inputs

Outputs

Configurations

Scripting

result: members in bending not certified

Inputs

Outputs

Configurations

Scripting

result: members in linear compression bending not certified

Inputs

Outputs

Configurations

Scripting

invariant: convertnum nod to bcs

Inputs

Outputs

Configurations

Scripting

geo: rotate

Inputs

Outputs

Configurations

Scripting

logic: enrich materials

Inputs

Outputs

Configurations

Scripting

serialization: data tree to json

Inputs

Outputs

Configurations

Scripting

serialization: data tree to txt

Inputs

Outputs

Configurations

Scripting

serialization: json to data tree

Inputs

Outputs

Configurations

Scripting

averaging: nodal difference (fields container)

Inputs

Outputs

Configurations

Scripting

logic: descending sort

Inputs

Outputs

Configurations

Scripting

logic: ascending sort (fields container)

Inputs

Outputs

Configurations

Scripting

logic: descending sort (fields container)

Inputs

Outputs

Configurations

Scripting

serialization: import symbolic workflow

Inputs

Outputs

Configurations

Scripting

filter: filtering max over time workflow

Inputs

Outputs

Configurations

Scripting

metadata: integrate over time freq

Inputs

Outputs

Configurations

Scripting

utility: extract time freq

Inputs

Outputs

Configurations

Scripting

averaging: nodal difference (field)

Inputs

Outputs

Configurations

Scripting

result: compute stress YZ

Inputs

Outputs

Configurations

Scripting

logic: splitter::data_sources

Inputs

Outputs

Configurations

Scripting

averaging: elemental nodal to nodal (field)

Inputs

Outputs

Configurations

Scripting

averaging: elemental nodal to nodal (fields container)

Inputs

Outputs

Configurations

Scripting

averaging: elemental to nodal (field)

>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.averaging.elemental_to_nodal_fc() - - >>> # Make input connections - >>> my_fields_container = dpf.FieldsContainer() - >>> op.inputs.fields_container.connect(my_fields_container) - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - >>> my_force_averaging = int() - >>> op.inputs.force_averaging.connect(my_force_averaging) - >>> my_mesh_scoping = dpf.Scoping() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> my_algorithm = int() - >>> op.inputs.algorithm.connect(my_algorithm) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.averaging.elemental_to_nodal_fc( - ... fields_container=my_fields_container, - ... mesh=my_mesh, - ... force_averaging=my_force_averaging, - ... mesh_scoping=my_mesh_scoping, - ... algorithm=my_algorithm, - ... ) - - >>> # Get output data - >>> result_fields_container = op.outputs.fields_container() - """ - - def __init__( - self, - fields_container=None, - mesh=None, - force_averaging=None, - mesh_scoping=None, - algorithm=None, - config=None, - server=None, - ): - super().__init__(name="elemental_to_nodal_fc", config=config, server=server) - self._inputs = InputsElementalToNodalFc(self) - self._outputs = OutputsElementalToNodalFc(self) - if fields_container is not None: - self.inputs.fields_container.connect(fields_container) - if mesh is not None: - self.inputs.mesh.connect(mesh) - if force_averaging is not None: - self.inputs.force_averaging.connect(force_averaging) - if mesh_scoping is not None: - self.inputs.mesh_scoping.connect(mesh_scoping) - if algorithm is not None: - self.inputs.algorithm.connect(algorithm) - - @staticmethod - def _spec(): - description = """Transforms Elemental Nodal fields to Nodal fields. The result is - computed on a given node's scoping.1. For a finite element - mesh, the value on a node is the average of the values of - the neighbour elements. 2. For a finite volume mesh, the - agorithm is : - For each node, compute interpolation - weights for the cells connected to it based on the - Frink's Laplacian method. - If the determinant of - the I matrix is zero, switch to an inverse distance - weighted average. - If not, compute the Frink - weights and apply the Holmes' weight clip. - If - the clipping produces a large overshoot, inverse volume - weighted average is used.. 3. For a face finite volume - mesh inverse distance weighted average is used.""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="fields_container", - type_names=["fields_container"], - optional=False, - document="""""", - ), - 1: PinSpecification( - name="mesh", - type_names=["abstract_meshed_region", "meshes_container"], - optional=True, - document="""""", - ), - 2: PinSpecification( - name="force_averaging", - type_names=["int32"], - optional=True, - document="""Averaging on nodes is used if this pin is set - to 1 (default is 1 for integrated - results and 0 for discrete ones).""", - ), - 3: PinSpecification( - name="mesh_scoping", - type_names=["scoping", "scopings_container"], - optional=True, - document="""""", - ), - 200: PinSpecification( - name="algorithm", - type_names=["int32"], - optional=True, - document="""Forces the usage of algorithm 1, 2 or 3 - (default is chosen based on the type - of mesh).""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="fields_container", - type_names=["fields_container"], - optional=False, - document="""""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config(name="elemental_to_nodal_fc", server=server) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsElementalToNodalFc - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsElementalToNodalFc - """ - return super().outputs - - -class InputsElementalToNodalFc(_Inputs): - """Intermediate class used to connect user inputs to - elemental_to_nodal_fc operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.elemental_to_nodal_fc() - >>> my_fields_container = dpf.FieldsContainer() - >>> op.inputs.fields_container.connect(my_fields_container) - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - >>> my_force_averaging = int() - >>> op.inputs.force_averaging.connect(my_force_averaging) - >>> my_mesh_scoping = dpf.Scoping() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> my_algorithm = int() - >>> op.inputs.algorithm.connect(my_algorithm) - """ - - def __init__(self, op: Operator): - super().__init__(elemental_to_nodal_fc._spec().inputs, op) - self._fields_container = Input( - elemental_to_nodal_fc._spec().input_pin(0), 0, op, -1 - ) - self._inputs.append(self._fields_container) - self._mesh = Input(elemental_to_nodal_fc._spec().input_pin(1), 1, op, -1) - self._inputs.append(self._mesh) - self._force_averaging = Input( - elemental_to_nodal_fc._spec().input_pin(2), 2, op, -1 - ) - self._inputs.append(self._force_averaging) - self._mesh_scoping = Input( - elemental_to_nodal_fc._spec().input_pin(3), 3, op, -1 - ) - self._inputs.append(self._mesh_scoping) - self._algorithm = Input( - elemental_to_nodal_fc._spec().input_pin(200), 200, op, -1 - ) - self._inputs.append(self._algorithm) - - @property - def fields_container(self): - """Allows to connect fields_container input to the operator. - - Parameters - ---------- - my_fields_container : FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.elemental_to_nodal_fc() - >>> op.inputs.fields_container.connect(my_fields_container) - >>> # or - >>> op.inputs.fields_container(my_fields_container) - """ - return self._fields_container - - @property - def mesh(self): - """Allows to connect mesh input to the operator. - - Parameters - ---------- - my_mesh : MeshedRegion or MeshesContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.elemental_to_nodal_fc() - >>> op.inputs.mesh.connect(my_mesh) - >>> # or - >>> op.inputs.mesh(my_mesh) - """ - return self._mesh - - @property - def force_averaging(self): - """Allows to connect force_averaging input to the operator. - - Averaging on nodes is used if this pin is set - to 1 (default is 1 for integrated - results and 0 for discrete ones). - - Parameters - ---------- - my_force_averaging : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.elemental_to_nodal_fc() - >>> op.inputs.force_averaging.connect(my_force_averaging) - >>> # or - >>> op.inputs.force_averaging(my_force_averaging) - """ - return self._force_averaging - - @property - def mesh_scoping(self): - """Allows to connect mesh_scoping input to the operator. - - Parameters - ---------- - my_mesh_scoping : Scoping or ScopingsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.elemental_to_nodal_fc() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> # or - >>> op.inputs.mesh_scoping(my_mesh_scoping) - """ - return self._mesh_scoping - - @property - def algorithm(self): - """Allows to connect algorithm input to the operator. - - Forces the usage of algorithm 1, 2 or 3 - (default is chosen based on the type - of mesh). - - Parameters - ---------- - my_algorithm : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.elemental_to_nodal_fc() - >>> op.inputs.algorithm.connect(my_algorithm) - >>> # or - >>> op.inputs.algorithm(my_algorithm) - """ - return self._algorithm - - -class OutputsElementalToNodalFc(_Outputs): - """Intermediate class used to get outputs from - elemental_to_nodal_fc operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.elemental_to_nodal_fc() - >>> # Connect inputs : op.inputs. ... - >>> result_fields_container = op.outputs.fields_container() - """ - - def __init__(self, op: Operator): - super().__init__(elemental_to_nodal_fc._spec().outputs, op) - self._fields_container = Output( - elemental_to_nodal_fc._spec().output_pin(0), 0, op - ) - self._outputs.append(self._fields_container) - - @property - def fields_container(self): - """Allows to get fields_container output of the operator - - Returns - ---------- - my_fields_container : FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.elemental_to_nodal_fc() - >>> # Connect inputs : op.inputs. ... - >>> result_fields_container = op.outputs.fields_container() - """ # noqa: E501 - return self._fields_container diff --git a/src/ansys/dpf/core/operators/averaging/nodal_extend_to_mid_nodes.py b/src/ansys/dpf/core/operators/averaging/nodal_extend_to_mid_nodes.py deleted file mode 100644 index 6be3556a747..00000000000 --- a/src/ansys/dpf/core/operators/averaging/nodal_extend_to_mid_nodes.py +++ /dev/null @@ -1,312 +0,0 @@ -""" -nodal_extend_to_mid_nodes -========================= -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class nodal_extend_to_mid_nodes(Operator): - """Extends a Nodal field defined on corner nodes to a field defined also - on mid nodes. - - Parameters - ---------- - field : Field or FieldsContainer - Field or fields container with only one field - is expected - node_scoping : Scoping, optional - Nodes expected in output. - element_scoping : Scoping, optional - Precomputed list of elements of interest - (improves performances). - mesh : MeshedRegion, optional - - Returns - ------- - field : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.averaging.nodal_extend_to_mid_nodes() - - >>> # Make input connections - >>> my_field = dpf.Field() - >>> op.inputs.field.connect(my_field) - >>> my_node_scoping = dpf.Scoping() - >>> op.inputs.node_scoping.connect(my_node_scoping) - >>> my_element_scoping = dpf.Scoping() - >>> op.inputs.element_scoping.connect(my_element_scoping) - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.averaging.nodal_extend_to_mid_nodes( - ... field=my_field, - ... node_scoping=my_node_scoping, - ... element_scoping=my_element_scoping, - ... mesh=my_mesh, - ... ) - - >>> # Get output data - >>> result_field = op.outputs.field() - """ - - def __init__( - self, - field=None, - node_scoping=None, - element_scoping=None, - mesh=None, - config=None, - server=None, - ): - super().__init__(name="nodal_extend_to_mid_nodes", config=config, server=server) - self._inputs = InputsNodalExtendToMidNodes(self) - self._outputs = OutputsNodalExtendToMidNodes(self) - if field is not None: - self.inputs.field.connect(field) - if node_scoping is not None: - self.inputs.node_scoping.connect(node_scoping) - if element_scoping is not None: - self.inputs.element_scoping.connect(element_scoping) - if mesh is not None: - self.inputs.mesh.connect(mesh) - - @staticmethod - def _spec(): - description = """Extends a Nodal field defined on corner nodes to a field defined also - on mid nodes.""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="field", - type_names=["field", "fields_container"], - optional=False, - document="""Field or fields container with only one field - is expected""", - ), - 1: PinSpecification( - name="node_scoping", - type_names=["scoping"], - optional=True, - document="""Nodes expected in output.""", - ), - 5: PinSpecification( - name="element_scoping", - type_names=["scoping"], - optional=True, - document="""Precomputed list of elements of interest - (improves performances).""", - ), - 7: PinSpecification( - name="mesh", - type_names=["abstract_meshed_region"], - optional=True, - document="""""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="field", - type_names=["field"], - optional=False, - document="""""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config(name="nodal_extend_to_mid_nodes", server=server) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsNodalExtendToMidNodes - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsNodalExtendToMidNodes - """ - return super().outputs - - -class InputsNodalExtendToMidNodes(_Inputs): - """Intermediate class used to connect user inputs to - nodal_extend_to_mid_nodes operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.nodal_extend_to_mid_nodes() - >>> my_field = dpf.Field() - >>> op.inputs.field.connect(my_field) - >>> my_node_scoping = dpf.Scoping() - >>> op.inputs.node_scoping.connect(my_node_scoping) - >>> my_element_scoping = dpf.Scoping() - >>> op.inputs.element_scoping.connect(my_element_scoping) - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - """ - - def __init__(self, op: Operator): - super().__init__(nodal_extend_to_mid_nodes._spec().inputs, op) - self._field = Input(nodal_extend_to_mid_nodes._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._field) - self._node_scoping = Input( - nodal_extend_to_mid_nodes._spec().input_pin(1), 1, op, -1 - ) - self._inputs.append(self._node_scoping) - self._element_scoping = Input( - nodal_extend_to_mid_nodes._spec().input_pin(5), 5, op, -1 - ) - self._inputs.append(self._element_scoping) - self._mesh = Input(nodal_extend_to_mid_nodes._spec().input_pin(7), 7, op, -1) - self._inputs.append(self._mesh) - - @property - def field(self): - """Allows to connect field input to the operator. - - Field or fields container with only one field - is expected - - Parameters - ---------- - my_field : Field or FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.nodal_extend_to_mid_nodes() - >>> op.inputs.field.connect(my_field) - >>> # or - >>> op.inputs.field(my_field) - """ - return self._field - - @property - def node_scoping(self): - """Allows to connect node_scoping input to the operator. - - Nodes expected in output. - - Parameters - ---------- - my_node_scoping : Scoping - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.nodal_extend_to_mid_nodes() - >>> op.inputs.node_scoping.connect(my_node_scoping) - >>> # or - >>> op.inputs.node_scoping(my_node_scoping) - """ - return self._node_scoping - - @property - def element_scoping(self): - """Allows to connect element_scoping input to the operator. - - Precomputed list of elements of interest - (improves performances). - - Parameters - ---------- - my_element_scoping : Scoping - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.nodal_extend_to_mid_nodes() - >>> op.inputs.element_scoping.connect(my_element_scoping) - >>> # or - >>> op.inputs.element_scoping(my_element_scoping) - """ - return self._element_scoping - - @property - def mesh(self): - """Allows to connect mesh input to the operator. - - Parameters - ---------- - my_mesh : MeshedRegion - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.nodal_extend_to_mid_nodes() - >>> op.inputs.mesh.connect(my_mesh) - >>> # or - >>> op.inputs.mesh(my_mesh) - """ - return self._mesh - - -class OutputsNodalExtendToMidNodes(_Outputs): - """Intermediate class used to get outputs from - nodal_extend_to_mid_nodes operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.nodal_extend_to_mid_nodes() - >>> # Connect inputs : op.inputs. ... - >>> result_field = op.outputs.field() - """ - - def __init__(self, op: Operator): - super().__init__(nodal_extend_to_mid_nodes._spec().outputs, op) - self._field = Output(nodal_extend_to_mid_nodes._spec().output_pin(0), 0, op) - self._outputs.append(self._field) - - @property - def field(self): - """Allows to get field output of the operator - - Returns - ---------- - my_field : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.nodal_extend_to_mid_nodes() - >>> # Connect inputs : op.inputs. ... - >>> result_field = op.outputs.field() - """ # noqa: E501 - return self._field diff --git a/src/ansys/dpf/core/operators/averaging/to_elemental_nodal_fc.py b/src/ansys/dpf/core/operators/averaging/to_elemental_nodal_fc.py deleted file mode 100644 index e16083df903..00000000000 --- a/src/ansys/dpf/core/operators/averaging/to_elemental_nodal_fc.py +++ /dev/null @@ -1,265 +0,0 @@ -""" -to_elemental_nodal_fc -===================== -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class to_elemental_nodal_fc(Operator): - """Transforms fields into Elemental Nodal fields using an averaging - process. The result is computed on a given element's scoping. - - Parameters - ---------- - fields_container : FieldsContainer - mesh_scoping : Scoping, optional - mesh : MeshedRegion, optional - - Returns - ------- - fields_container : FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.averaging.to_elemental_nodal_fc() - - >>> # Make input connections - >>> my_fields_container = dpf.FieldsContainer() - >>> op.inputs.fields_container.connect(my_fields_container) - >>> my_mesh_scoping = dpf.Scoping() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.averaging.to_elemental_nodal_fc( - ... fields_container=my_fields_container, - ... mesh_scoping=my_mesh_scoping, - ... mesh=my_mesh, - ... ) - - >>> # Get output data - >>> result_fields_container = op.outputs.fields_container() - """ - - def __init__( - self, - fields_container=None, - mesh_scoping=None, - mesh=None, - config=None, - server=None, - ): - super().__init__(name="to_elemental_nodal_fc", config=config, server=server) - self._inputs = InputsToElementalNodalFc(self) - self._outputs = OutputsToElementalNodalFc(self) - if fields_container is not None: - self.inputs.fields_container.connect(fields_container) - if mesh_scoping is not None: - self.inputs.mesh_scoping.connect(mesh_scoping) - if mesh is not None: - self.inputs.mesh.connect(mesh) - - @staticmethod - def _spec(): - description = """Transforms fields into Elemental Nodal fields using an averaging - process. The result is computed on a given element's - scoping.""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="fields_container", - type_names=["fields_container"], - optional=False, - document="""""", - ), - 1: PinSpecification( - name="mesh_scoping", - type_names=["scoping"], - optional=True, - document="""""", - ), - 7: PinSpecification( - name="mesh", - type_names=["abstract_meshed_region"], - optional=True, - document="""""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="fields_container", - type_names=["fields_container"], - optional=False, - document="""""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config(name="to_elemental_nodal_fc", server=server) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsToElementalNodalFc - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsToElementalNodalFc - """ - return super().outputs - - -class InputsToElementalNodalFc(_Inputs): - """Intermediate class used to connect user inputs to - to_elemental_nodal_fc operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.to_elemental_nodal_fc() - >>> my_fields_container = dpf.FieldsContainer() - >>> op.inputs.fields_container.connect(my_fields_container) - >>> my_mesh_scoping = dpf.Scoping() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - """ - - def __init__(self, op: Operator): - super().__init__(to_elemental_nodal_fc._spec().inputs, op) - self._fields_container = Input( - to_elemental_nodal_fc._spec().input_pin(0), 0, op, -1 - ) - self._inputs.append(self._fields_container) - self._mesh_scoping = Input( - to_elemental_nodal_fc._spec().input_pin(1), 1, op, -1 - ) - self._inputs.append(self._mesh_scoping) - self._mesh = Input(to_elemental_nodal_fc._spec().input_pin(7), 7, op, -1) - self._inputs.append(self._mesh) - - @property - def fields_container(self): - """Allows to connect fields_container input to the operator. - - Parameters - ---------- - my_fields_container : FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.to_elemental_nodal_fc() - >>> op.inputs.fields_container.connect(my_fields_container) - >>> # or - >>> op.inputs.fields_container(my_fields_container) - """ - return self._fields_container - - @property - def mesh_scoping(self): - """Allows to connect mesh_scoping input to the operator. - - Parameters - ---------- - my_mesh_scoping : Scoping - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.to_elemental_nodal_fc() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> # or - >>> op.inputs.mesh_scoping(my_mesh_scoping) - """ - return self._mesh_scoping - - @property - def mesh(self): - """Allows to connect mesh input to the operator. - - Parameters - ---------- - my_mesh : MeshedRegion - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.to_elemental_nodal_fc() - >>> op.inputs.mesh.connect(my_mesh) - >>> # or - >>> op.inputs.mesh(my_mesh) - """ - return self._mesh - - -class OutputsToElementalNodalFc(_Outputs): - """Intermediate class used to get outputs from - to_elemental_nodal_fc operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.to_elemental_nodal_fc() - >>> # Connect inputs : op.inputs. ... - >>> result_fields_container = op.outputs.fields_container() - """ - - def __init__(self, op: Operator): - super().__init__(to_elemental_nodal_fc._spec().outputs, op) - self._fields_container = Output( - to_elemental_nodal_fc._spec().output_pin(0), 0, op - ) - self._outputs.append(self._fields_container) - - @property - def fields_container(self): - """Allows to get fields_container output of the operator - - Returns - ---------- - my_fields_container : FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.averaging.to_elemental_nodal_fc() - >>> # Connect inputs : op.inputs. ... - >>> result_fields_container = op.outputs.fields_container() - """ # noqa: E501 - return self._fields_container diff --git a/src/ansys/dpf/core/operators/compression/__init__.py b/src/ansys/dpf/core/operators/compression/__init__.py new file mode 100644 index 00000000000..d666415b188 --- /dev/null +++ b/src/ansys/dpf/core/operators/compression/__init__.py @@ -0,0 +1,4 @@ +from .apply_svd import apply_svd +from .apply_zfp import apply_zfp +from .kmeans_clustering import kmeans_clustering +from .zfp_decompress import zfp_decompress diff --git a/src/ansys/dpf/core/operators/filter/__init__.py b/src/ansys/dpf/core/operators/filter/__init__.py index 14cd284a272..0c05c580354 100644 --- a/src/ansys/dpf/core/operators/filter/__init__.py +++ b/src/ansys/dpf/core/operators/filter/__init__.py @@ -1,22 +1,22 @@ -from .abc_weightings import abc_weightings -from .field_band_pass import field_band_pass -from .field_band_pass_fc import field_band_pass_fc -from .field_high_pass import field_high_pass -from .field_high_pass_fc import field_high_pass_fc -from .field_low_pass import field_low_pass -from .field_low_pass_fc import field_low_pass_fc -from .field_signed_high_pass import field_signed_high_pass -from .field_signed_high_pass_fc import field_signed_high_pass_fc -from .filtering_max_over_time import filtering_max_over_time -from .scoping_band_pass import scoping_band_pass -from .scoping_high_pass import scoping_high_pass -from .scoping_low_pass import scoping_low_pass -from .scoping_signed_high_pass import scoping_signed_high_pass -from .timefreq_band_pass import timefreq_band_pass -from .timefreq_high_pass import timefreq_high_pass -from .timefreq_low_pass import timefreq_low_pass -from .timefreq_signed_high_pass import timefreq_signed_high_pass -from .timescoping_band_pass import timescoping_band_pass -from .timescoping_high_pass import timescoping_high_pass -from .timescoping_low_pass import timescoping_low_pass -from .timescoping_signed_high_pass import timescoping_signed_high_pass +from .abc_weightings import abc_weightings +from .field_band_pass import field_band_pass +from .field_band_pass_fc import field_band_pass_fc +from .field_high_pass import field_high_pass +from .field_high_pass_fc import field_high_pass_fc +from .field_low_pass import field_low_pass +from .field_low_pass_fc import field_low_pass_fc +from .field_signed_high_pass import field_signed_high_pass +from .field_signed_high_pass_fc import field_signed_high_pass_fc +from .filtering_max_over_time import filtering_max_over_time +from .scoping_band_pass import scoping_band_pass +from .scoping_high_pass import scoping_high_pass +from .scoping_low_pass import scoping_low_pass +from .scoping_signed_high_pass import scoping_signed_high_pass +from .timefreq_band_pass import timefreq_band_pass +from .timefreq_high_pass import timefreq_high_pass +from .timefreq_low_pass import timefreq_low_pass +from .timefreq_signed_high_pass import timefreq_signed_high_pass +from .timescoping_band_pass import timescoping_band_pass +from .timescoping_high_pass import timescoping_high_pass +from .timescoping_low_pass import timescoping_low_pass +from .timescoping_signed_high_pass import timescoping_signed_high_pass diff --git a/src/ansys/dpf/core/operators/geo/__init__.py b/src/ansys/dpf/core/operators/geo/__init__.py index 4baf6471f75..77cb0bcf5e8 100644 --- a/src/ansys/dpf/core/operators/geo/__init__.py +++ b/src/ansys/dpf/core/operators/geo/__init__.py @@ -1,18 +1,18 @@ -from .cartesian_to_spherical import cartesian_to_spherical -from .cartesian_to_spherical_fc import cartesian_to_spherical_fc -from .element_nodal_contribution import element_nodal_contribution -from .elements_facets_surfaces_over_time import elements_facets_surfaces_over_time -from .elements_volume import elements_volume -from .elements_volumes_over_time import elements_volumes_over_time -from .faces_area import faces_area -from .gauss_to_node import gauss_to_node -from .integrate_over_elements import integrate_over_elements -from .normals import normals -from .normals_provider_nl import normals_provider_nl -from .rotate import rotate -from .rotate_fc import rotate_fc -from .rotate_in_cylindrical_cs import rotate_in_cylindrical_cs -from .rotate_in_cylindrical_cs_fc import rotate_in_cylindrical_cs_fc -from .spherical_to_cartesian import spherical_to_cartesian -from .spherical_to_cartesian_fc import spherical_to_cartesian_fc -from .to_polar_coordinates import to_polar_coordinates +from .cartesian_to_spherical import cartesian_to_spherical +from .cartesian_to_spherical_fc import cartesian_to_spherical_fc +from .elements_facets_surfaces_over_time import elements_facets_surfaces_over_time +from .elements_volume import elements_volume +from .elements_volumes_over_time import elements_volumes_over_time +from .element_nodal_contribution import element_nodal_contribution +from .faces_area import faces_area +from .gauss_to_node import gauss_to_node +from .integrate_over_elements import integrate_over_elements +from .normals import normals +from .normals_provider_nl import normals_provider_nl +from .rotate import rotate +from .rotate_fc import rotate_fc +from .rotate_in_cylindrical_cs import rotate_in_cylindrical_cs +from .rotate_in_cylindrical_cs_fc import rotate_in_cylindrical_cs_fc +from .spherical_to_cartesian import spherical_to_cartesian +from .spherical_to_cartesian_fc import spherical_to_cartesian_fc +from .to_polar_coordinates import to_polar_coordinates diff --git a/src/ansys/dpf/core/operators/invariant/__init__.py b/src/ansys/dpf/core/operators/invariant/__init__.py index 9bc77ab145d..54f0de33484 100644 --- a/src/ansys/dpf/core/operators/invariant/__init__.py +++ b/src/ansys/dpf/core/operators/invariant/__init__.py @@ -1,15 +1,15 @@ -from .convertnum_bcs_to_nod import convertnum_bcs_to_nod -from .convertnum_nod_to_bcs import convertnum_nod_to_bcs -from .convertnum_op import convertnum_op -from .eigen_values import eigen_values -from .eigen_values_fc import eigen_values_fc -from .eigen_vectors import eigen_vectors -from .eigen_vectors_fc import eigen_vectors_fc -from .invariants import invariants -from .invariants_fc import invariants_fc -from .principal_invariants import principal_invariants -from .principal_invariants_fc import principal_invariants_fc -from .segalman_von_mises_eqv import segalman_von_mises_eqv -from .segalman_von_mises_eqv_fc import segalman_von_mises_eqv_fc -from .von_mises_eqv import von_mises_eqv -from .von_mises_eqv_fc import von_mises_eqv_fc +from .convertnum_bcs_to_nod import convertnum_bcs_to_nod +from .convertnum_nod_to_bcs import convertnum_nod_to_bcs +from .convertnum_op import convertnum_op +from .eigen_values import eigen_values +from .eigen_values_fc import eigen_values_fc +from .eigen_vectors import eigen_vectors +from .eigen_vectors_fc import eigen_vectors_fc +from .invariants import invariants +from .invariants_fc import invariants_fc +from .principal_invariants import principal_invariants +from .principal_invariants_fc import principal_invariants_fc +from .segalman_von_mises_eqv import segalman_von_mises_eqv +from .segalman_von_mises_eqv_fc import segalman_von_mises_eqv_fc +from .von_mises_eqv import von_mises_eqv +from .von_mises_eqv_fc import von_mises_eqv_fc diff --git a/src/ansys/dpf/core/operators/logic/__init__.py b/src/ansys/dpf/core/operators/logic/__init__.py index c945020942f..06ac5d73503 100644 --- a/src/ansys/dpf/core/operators/logic/__init__.py +++ b/src/ansys/dpf/core/operators/logic/__init__.py @@ -1,20 +1,20 @@ -from .ascending_sort import ascending_sort -from .ascending_sort_fc import ascending_sort_fc -from .component_selector import component_selector -from .component_selector_fc import component_selector_fc -from .component_transformer import component_transformer -from .component_transformer_fc import component_transformer_fc -from .descending_sort import descending_sort -from .descending_sort_fc import descending_sort_fc -from .elementary_data_selector import elementary_data_selector -from .elementary_data_selector_fc import elementary_data_selector_fc -from .enrich_materials import enrich_materials -from .identical_fc import identical_fc -from .identical_fields import identical_fields -from .identical_meshes import identical_meshes -from .identical_property_fields import identical_property_fields -from .identical_string_fields import identical_string_fields -from .included_fields import included_fields -from .solid_shell_fields import solid_shell_fields -from .split_data_sources import split_data_sources -from .split_streams import split_streams +from .ascending_sort import ascending_sort +from .ascending_sort_fc import ascending_sort_fc +from .component_selector import component_selector +from .component_selector_fc import component_selector_fc +from .component_transformer import component_transformer +from .component_transformer_fc import component_transformer_fc +from .descending_sort import descending_sort +from .descending_sort_fc import descending_sort_fc +from .elementary_data_selector import elementary_data_selector +from .elementary_data_selector_fc import elementary_data_selector_fc +from .enrich_materials import enrich_materials +from .identical_fc import identical_fc +from .identical_fields import identical_fields +from .identical_meshes import identical_meshes +from .identical_property_fields import identical_property_fields +from .identical_string_fields import identical_string_fields +from .included_fields import included_fields +from .solid_shell_fields import solid_shell_fields +from .split_data_sources import split_data_sources +from .split_streams import split_streams diff --git a/src/ansys/dpf/core/operators/mapping/__init__.py b/src/ansys/dpf/core/operators/mapping/__init__.py index 13555d8e57e..ccd94389a57 100644 --- a/src/ansys/dpf/core/operators/mapping/__init__.py +++ b/src/ansys/dpf/core/operators/mapping/__init__.py @@ -1,9 +1,9 @@ -from .fft import fft -from .find_reduced_coordinates import find_reduced_coordinates -from .on_coordinates import on_coordinates -from .on_reduced_coordinates import on_reduced_coordinates -from .prep_sampling_fft import prep_sampling_fft -from .prepare_mapping_workflow import prepare_mapping_workflow -from .scoping_on_coordinates import scoping_on_coordinates -from .solid_to_skin import solid_to_skin -from .solid_to_skin_fc import solid_to_skin_fc +from .fft import fft +from .find_reduced_coordinates import find_reduced_coordinates +from .on_coordinates import on_coordinates +from .on_reduced_coordinates import on_reduced_coordinates +from .prepare_mapping_workflow import prepare_mapping_workflow +from .prep_sampling_fft import prep_sampling_fft +from .scoping_on_coordinates import scoping_on_coordinates +from .solid_to_skin import solid_to_skin +from .solid_to_skin_fc import solid_to_skin_fc diff --git a/src/ansys/dpf/core/operators/math/__init__.py b/src/ansys/dpf/core/operators/math/__init__.py index 9c74f94fe65..ffe7e590369 100644 --- a/src/ansys/dpf/core/operators/math/__init__.py +++ b/src/ansys/dpf/core/operators/math/__init__.py @@ -1,103 +1,101 @@ -from .absolute_value_by_component import absolute_value_by_component -from .absolute_value_by_component_fc import absolute_value_by_component_fc -from .accumulate import accumulate -from .accumulate_fc import accumulate_fc -from .accumulate_level_over_label_fc import accumulate_level_over_label_fc -from .accumulate_min_over_label_fc import accumulate_min_over_label_fc -from .accumulate_over_label_fc import accumulate_over_label_fc -from .accumulation_per_scoping import accumulation_per_scoping -from .add import add -from .add_constant import add_constant -from .add_constant_fc import add_constant_fc -from .add_fc import add_fc -from .amplitude import amplitude -from .amplitude_fc import amplitude_fc -from .average_over_label_fc import average_over_label_fc -from .centroid import centroid -from .centroid_fc import centroid_fc -from .component_wise_divide import component_wise_divide -from .component_wise_divide_fc import component_wise_divide_fc -from .component_wise_product import component_wise_product -from .component_wise_product_fc import component_wise_product_fc -from .compute_residual_and_error import compute_residual_and_error -from .conjugate import conjugate -from .correlation import correlation -from .cos import cos -from .cos_fc import cos_fc -from .cplx_derive import cplx_derive -from .cplx_divide import cplx_divide -from .cplx_dot import cplx_dot -from .cplx_multiply import cplx_multiply -from .cross_product import cross_product -from .cross_product_fc import cross_product_fc -from .dot import dot -from .dot_tensor import dot_tensor -from .elemental_density import elemental_density -from .entity_extractor import entity_extractor -from .exponential import exponential -from .exponential_fc import exponential_fc -from .fft_approx import fft_approx -from .fft_eval import fft_eval -from .fft_gradient_eval import fft_gradient_eval -from .fft_multi_harmonic_minmax import fft_multi_harmonic_minmax -from .generalized_inner_product import generalized_inner_product -from .generalized_inner_product_fc import generalized_inner_product_fc -from .img_part import img_part -from .invert import invert -from .invert_fc import invert_fc -from .kronecker_prod import kronecker_prod -from .linear_combination import linear_combination -from .ln import ln -from .ln_fc import ln_fc -from .mac import mac -from .make_one_on_comp import make_one_on_comp -from .matrix_inverse import matrix_inverse -from .minus import minus -from .minus_fc import minus_fc -from .modal_damping_ratio import modal_damping_ratio -from .modal_participation import modal_participation -from .modal_superposition import modal_superposition -from .modulus import modulus -from .nodal_density import nodal_density -from .norm import norm -from .norm_fc import norm_fc -from .outer_product import outer_product -from .overall_dot import overall_dot -from .phase import phase -from .phase_fc import phase_fc -from .polar_to_cplx import polar_to_cplx -from .pow import pow -from .pow_fc import pow_fc -from .qr_solve import qr_solve -from .real_part import real_part -from .relative_error import relative_error -from .scale import scale -from .scale_by_field import scale_by_field -from .scale_by_field_fc import scale_by_field_fc -from .scale_fc import scale_fc -from .sin import sin -from .sin_fc import sin_fc -from .sqr import sqr -from .sqr_fc import sqr_fc -from .sqrt import sqrt -from .sqrt_fc import sqrt_fc -from .svd import svd -from .sweeping_phase import sweeping_phase -from .sweeping_phase_fc import sweeping_phase_fc -from .time_derivation import time_derivation -from .time_freq_interpolation import time_freq_interpolation -from .time_integration import time_integration -from .unit_convert import unit_convert -from .unit_convert_fc import unit_convert_fc -from .window_bartlett import window_bartlett -from .window_bartlett_fc import window_bartlett_fc -from .window_blackman import window_blackman -from .window_blackman_fc import window_blackman_fc -from .window_hamming import window_hamming -from .window_hamming_fc import window_hamming_fc -from .window_hanning import window_hanning -from .window_hanning_fc import window_hanning_fc -from .window_triangular import window_triangular -from .window_triangular_fc import window_triangular_fc -from .window_welch import window_welch -from .window_welch_fc import window_welch_fc +from .absolute_value_by_component import absolute_value_by_component +from .absolute_value_by_component_fc import absolute_value_by_component_fc +from .accumulate import accumulate +from .accumulate_fc import accumulate_fc +from .accumulate_level_over_label_fc import accumulate_level_over_label_fc +from .accumulate_min_over_label_fc import accumulate_min_over_label_fc +from .accumulate_over_label_fc import accumulate_over_label_fc +from .accumulation_per_scoping import accumulation_per_scoping +from .add import add +from .add_constant import add_constant +from .add_constant_fc import add_constant_fc +from .add_fc import add_fc +from .amplitude import amplitude +from .amplitude_fc import amplitude_fc +from .average_over_label_fc import average_over_label_fc +from .centroid import centroid +from .centroid_fc import centroid_fc +from .component_wise_divide import component_wise_divide +from .component_wise_divide_fc import component_wise_divide_fc +from .component_wise_product import component_wise_product +from .component_wise_product_fc import component_wise_product_fc +from .compute_residual_and_error import compute_residual_and_error +from .conjugate import conjugate +from .correlation import correlation +from .cos import cos +from .cos_fc import cos_fc +from .cplx_derive import cplx_derive +from .cplx_divide import cplx_divide +from .cplx_dot import cplx_dot +from .cplx_multiply import cplx_multiply +from .cross_product import cross_product +from .cross_product_fc import cross_product_fc +from .dot import dot +from .dot_tensor import dot_tensor +from .entity_extractor import entity_extractor +from .exponential import exponential +from .exponential_fc import exponential_fc +from .fft_approx import fft_approx +from .fft_eval import fft_eval +from .fft_gradient_eval import fft_gradient_eval +from .fft_multi_harmonic_minmax import fft_multi_harmonic_minmax +from .generalized_inner_product import generalized_inner_product +from .generalized_inner_product_fc import generalized_inner_product_fc +from .img_part import img_part +from .invert import invert +from .invert_fc import invert_fc +from .kronecker_prod import kronecker_prod +from .linear_combination import linear_combination +from .ln import ln +from .ln_fc import ln_fc +from .mac import mac +from .make_one_on_comp import make_one_on_comp +from .matrix_inverse import matrix_inverse +from .minus import minus +from .minus_fc import minus_fc +from .min_max_over_time import min_max_over_time +from .modal_damping_ratio import modal_damping_ratio +from .modal_superposition import modal_superposition +from .modulus import modulus +from .norm import norm +from .norm_fc import norm_fc +from .outer_product import outer_product +from .overall_dot import overall_dot +from .phase import phase +from .phase_fc import phase_fc +from .polar_to_cplx import polar_to_cplx +from .pow import pow +from .pow_fc import pow_fc +from .qr_solve import qr_solve +from .real_part import real_part +from .relative_error import relative_error +from .scale import scale +from .scale_by_field import scale_by_field +from .scale_by_field_fc import scale_by_field_fc +from .scale_fc import scale_fc +from .sin import sin +from .sin_fc import sin_fc +from .sqr import sqr +from .sqrt import sqrt +from .sqrt_fc import sqrt_fc +from .sqr_fc import sqr_fc +from .svd import svd +from .sweeping_phase import sweeping_phase +from .sweeping_phase_fc import sweeping_phase_fc +from .time_derivation import time_derivation +from .time_freq_interpolation import time_freq_interpolation +from .time_integration import time_integration +from .unit_convert import unit_convert +from .unit_convert_fc import unit_convert_fc +from .window_bartlett import window_bartlett +from .window_bartlett_fc import window_bartlett_fc +from .window_blackman import window_blackman +from .window_blackman_fc import window_blackman_fc +from .window_hamming import window_hamming +from .window_hamming_fc import window_hamming_fc +from .window_hanning import window_hanning +from .window_hanning_fc import window_hanning_fc +from .window_triangular import window_triangular +from .window_triangular_fc import window_triangular_fc +from .window_welch import window_welch +from .window_welch_fc import window_welch_fc diff --git a/src/ansys/dpf/core/operators/math/elemental_density.py b/src/ansys/dpf/core/operators/math/elemental_density.py deleted file mode 100644 index f4615603f22..00000000000 --- a/src/ansys/dpf/core/operators/math/elemental_density.py +++ /dev/null @@ -1,346 +0,0 @@ -""" -elemental_density -================= -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class elemental_density(Operator): - """Extract Elemental Topology Density result from topo solver output. - Default behavior is to use graphical density. - - Parameters - ---------- - time_scoping : Scoping, optional - mesh_scoping : Scoping, optional - streams : StreamsContainer, optional - Topo file stream. - data_sources : DataSources, optional - Topo file data source. - custom_ponderation_name : str - Take custom ponderation_field from the topo - file by name - - Returns - ------- - field : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.math.elemental_density() - - >>> # Make input connections - >>> my_time_scoping = dpf.Scoping() - >>> op.inputs.time_scoping.connect(my_time_scoping) - >>> my_mesh_scoping = dpf.Scoping() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> my_streams = dpf.StreamsContainer() - >>> op.inputs.streams.connect(my_streams) - >>> my_data_sources = dpf.DataSources() - >>> op.inputs.data_sources.connect(my_data_sources) - >>> my_custom_ponderation_name = str() - >>> op.inputs.custom_ponderation_name.connect(my_custom_ponderation_name) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.math.elemental_density( - ... time_scoping=my_time_scoping, - ... mesh_scoping=my_mesh_scoping, - ... streams=my_streams, - ... data_sources=my_data_sources, - ... custom_ponderation_name=my_custom_ponderation_name, - ... ) - - >>> # Get output data - >>> result_field = op.outputs.field() - """ - - def __init__( - self, - time_scoping=None, - mesh_scoping=None, - streams=None, - data_sources=None, - custom_ponderation_name=None, - config=None, - server=None, - ): - super().__init__( - name="hdf5::topo::elemental_density", config=config, server=server - ) - self._inputs = InputsElementalDensity(self) - self._outputs = OutputsElementalDensity(self) - if time_scoping is not None: - self.inputs.time_scoping.connect(time_scoping) - if mesh_scoping is not None: - self.inputs.mesh_scoping.connect(mesh_scoping) - if streams is not None: - self.inputs.streams.connect(streams) - if data_sources is not None: - self.inputs.data_sources.connect(data_sources) - if custom_ponderation_name is not None: - self.inputs.custom_ponderation_name.connect(custom_ponderation_name) - - @staticmethod - def _spec(): - description = """Extract Elemental Topology Density result from topo solver output. - Default behavior is to use graphical density.""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="time_scoping", - type_names=["scoping"], - optional=True, - document="""""", - ), - 1: PinSpecification( - name="mesh_scoping", - type_names=["scoping"], - optional=True, - document="""""", - ), - 3: PinSpecification( - name="streams", - type_names=["streams_container"], - optional=True, - document="""Topo file stream.""", - ), - 4: PinSpecification( - name="data_sources", - type_names=["data_sources"], - optional=True, - document="""Topo file data source.""", - ), - 200: PinSpecification( - name="custom_ponderation_name", - type_names=["string"], - optional=False, - document="""Take custom ponderation_field from the topo - file by name""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="field", - type_names=["field"], - optional=False, - document="""""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config( - name="hdf5::topo::elemental_density", server=server - ) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsElementalDensity - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsElementalDensity - """ - return super().outputs - - -class InputsElementalDensity(_Inputs): - """Intermediate class used to connect user inputs to - elemental_density operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.elemental_density() - >>> my_time_scoping = dpf.Scoping() - >>> op.inputs.time_scoping.connect(my_time_scoping) - >>> my_mesh_scoping = dpf.Scoping() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> my_streams = dpf.StreamsContainer() - >>> op.inputs.streams.connect(my_streams) - >>> my_data_sources = dpf.DataSources() - >>> op.inputs.data_sources.connect(my_data_sources) - >>> my_custom_ponderation_name = str() - >>> op.inputs.custom_ponderation_name.connect(my_custom_ponderation_name) - """ - - def __init__(self, op: Operator): - super().__init__(elemental_density._spec().inputs, op) - self._time_scoping = Input(elemental_density._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._time_scoping) - self._mesh_scoping = Input(elemental_density._spec().input_pin(1), 1, op, -1) - self._inputs.append(self._mesh_scoping) - self._streams = Input(elemental_density._spec().input_pin(3), 3, op, -1) - self._inputs.append(self._streams) - self._data_sources = Input(elemental_density._spec().input_pin(4), 4, op, -1) - self._inputs.append(self._data_sources) - self._custom_ponderation_name = Input( - elemental_density._spec().input_pin(200), 200, op, -1 - ) - self._inputs.append(self._custom_ponderation_name) - - @property - def time_scoping(self): - """Allows to connect time_scoping input to the operator. - - Parameters - ---------- - my_time_scoping : Scoping - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.elemental_density() - >>> op.inputs.time_scoping.connect(my_time_scoping) - >>> # or - >>> op.inputs.time_scoping(my_time_scoping) - """ - return self._time_scoping - - @property - def mesh_scoping(self): - """Allows to connect mesh_scoping input to the operator. - - Parameters - ---------- - my_mesh_scoping : Scoping - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.elemental_density() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> # or - >>> op.inputs.mesh_scoping(my_mesh_scoping) - """ - return self._mesh_scoping - - @property - def streams(self): - """Allows to connect streams input to the operator. - - Topo file stream. - - Parameters - ---------- - my_streams : StreamsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.elemental_density() - >>> op.inputs.streams.connect(my_streams) - >>> # or - >>> op.inputs.streams(my_streams) - """ - return self._streams - - @property - def data_sources(self): - """Allows to connect data_sources input to the operator. - - Topo file data source. - - Parameters - ---------- - my_data_sources : DataSources - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.elemental_density() - >>> op.inputs.data_sources.connect(my_data_sources) - >>> # or - >>> op.inputs.data_sources(my_data_sources) - """ - return self._data_sources - - @property - def custom_ponderation_name(self): - """Allows to connect custom_ponderation_name input to the operator. - - Take custom ponderation_field from the topo - file by name - - Parameters - ---------- - my_custom_ponderation_name : str - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.elemental_density() - >>> op.inputs.custom_ponderation_name.connect(my_custom_ponderation_name) - >>> # or - >>> op.inputs.custom_ponderation_name(my_custom_ponderation_name) - """ - return self._custom_ponderation_name - - -class OutputsElementalDensity(_Outputs): - """Intermediate class used to get outputs from - elemental_density operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.elemental_density() - >>> # Connect inputs : op.inputs. ... - >>> result_field = op.outputs.field() - """ - - def __init__(self, op: Operator): - super().__init__(elemental_density._spec().outputs, op) - self._field = Output(elemental_density._spec().output_pin(0), 0, op) - self._outputs.append(self._field) - - @property - def field(self): - """Allows to get field output of the operator - - Returns - ---------- - my_field : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.elemental_density() - >>> # Connect inputs : op.inputs. ... - >>> result_field = op.outputs.field() - """ # noqa: E501 - return self._field diff --git a/src/ansys/dpf/core/operators/math/modal_participation.py b/src/ansys/dpf/core/operators/math/modal_participation.py deleted file mode 100644 index 5ab608582df..00000000000 --- a/src/ansys/dpf/core/operators/math/modal_participation.py +++ /dev/null @@ -1,346 +0,0 @@ -""" -modal_participation -=================== -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class modal_participation(Operator): - """Compute the modal participation factor for a given vector field V, - defined as sum_i ( V .dot. mode_shape_i * ponderation ). - - Parameters - ---------- - v_real : Field - Real part of field v - v_imag : Field - Imag part of field v - mode_shapes : FieldsContainer - ponderation : Field, optional - force_label_space : dict, optional - If set, will force a label space for output - result. - - Returns - ------- - output : FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.math.modal_participation() - - >>> # Make input connections - >>> my_v_real = dpf.Field() - >>> op.inputs.v_real.connect(my_v_real) - >>> my_v_imag = dpf.Field() - >>> op.inputs.v_imag.connect(my_v_imag) - >>> my_mode_shapes = dpf.FieldsContainer() - >>> op.inputs.mode_shapes.connect(my_mode_shapes) - >>> my_ponderation = dpf.Field() - >>> op.inputs.ponderation.connect(my_ponderation) - >>> my_force_label_space = dict() - >>> op.inputs.force_label_space.connect(my_force_label_space) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.math.modal_participation( - ... v_real=my_v_real, - ... v_imag=my_v_imag, - ... mode_shapes=my_mode_shapes, - ... ponderation=my_ponderation, - ... force_label_space=my_force_label_space, - ... ) - - >>> # Get output data - >>> result_output = op.outputs.output() - """ - - def __init__( - self, - v_real=None, - v_imag=None, - mode_shapes=None, - ponderation=None, - force_label_space=None, - config=None, - server=None, - ): - super().__init__( - name="harmonic::modal_participation", config=config, server=server - ) - self._inputs = InputsModalParticipation(self) - self._outputs = OutputsModalParticipation(self) - if v_real is not None: - self.inputs.v_real.connect(v_real) - if v_imag is not None: - self.inputs.v_imag.connect(v_imag) - if mode_shapes is not None: - self.inputs.mode_shapes.connect(mode_shapes) - if ponderation is not None: - self.inputs.ponderation.connect(ponderation) - if force_label_space is not None: - self.inputs.force_label_space.connect(force_label_space) - - @staticmethod - def _spec(): - description = """Compute the modal participation factor for a given vector field V, - defined as sum_i ( V .dot. mode_shape_i * ponderation ).""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="v_real", - type_names=["field"], - optional=False, - document="""Real part of field v""", - ), - 1: PinSpecification( - name="v_imag", - type_names=["field"], - optional=False, - document="""Imag part of field v""", - ), - 2: PinSpecification( - name="mode_shapes", - type_names=["fields_container"], - optional=False, - document="""""", - ), - 3: PinSpecification( - name="ponderation", - type_names=["field"], - optional=True, - document="""""", - ), - 4: PinSpecification( - name="force_label_space", - type_names=["label_space"], - optional=True, - document="""If set, will force a label space for output - result.""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="output", - type_names=["fields_container"], - optional=False, - document="""""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config( - name="harmonic::modal_participation", server=server - ) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsModalParticipation - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsModalParticipation - """ - return super().outputs - - -class InputsModalParticipation(_Inputs): - """Intermediate class used to connect user inputs to - modal_participation operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.modal_participation() - >>> my_v_real = dpf.Field() - >>> op.inputs.v_real.connect(my_v_real) - >>> my_v_imag = dpf.Field() - >>> op.inputs.v_imag.connect(my_v_imag) - >>> my_mode_shapes = dpf.FieldsContainer() - >>> op.inputs.mode_shapes.connect(my_mode_shapes) - >>> my_ponderation = dpf.Field() - >>> op.inputs.ponderation.connect(my_ponderation) - >>> my_force_label_space = dict() - >>> op.inputs.force_label_space.connect(my_force_label_space) - """ - - def __init__(self, op: Operator): - super().__init__(modal_participation._spec().inputs, op) - self._v_real = Input(modal_participation._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._v_real) - self._v_imag = Input(modal_participation._spec().input_pin(1), 1, op, -1) - self._inputs.append(self._v_imag) - self._mode_shapes = Input(modal_participation._spec().input_pin(2), 2, op, -1) - self._inputs.append(self._mode_shapes) - self._ponderation = Input(modal_participation._spec().input_pin(3), 3, op, -1) - self._inputs.append(self._ponderation) - self._force_label_space = Input( - modal_participation._spec().input_pin(4), 4, op, -1 - ) - self._inputs.append(self._force_label_space) - - @property - def v_real(self): - """Allows to connect v_real input to the operator. - - Real part of field v - - Parameters - ---------- - my_v_real : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.modal_participation() - >>> op.inputs.v_real.connect(my_v_real) - >>> # or - >>> op.inputs.v_real(my_v_real) - """ - return self._v_real - - @property - def v_imag(self): - """Allows to connect v_imag input to the operator. - - Imag part of field v - - Parameters - ---------- - my_v_imag : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.modal_participation() - >>> op.inputs.v_imag.connect(my_v_imag) - >>> # or - >>> op.inputs.v_imag(my_v_imag) - """ - return self._v_imag - - @property - def mode_shapes(self): - """Allows to connect mode_shapes input to the operator. - - Parameters - ---------- - my_mode_shapes : FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.modal_participation() - >>> op.inputs.mode_shapes.connect(my_mode_shapes) - >>> # or - >>> op.inputs.mode_shapes(my_mode_shapes) - """ - return self._mode_shapes - - @property - def ponderation(self): - """Allows to connect ponderation input to the operator. - - Parameters - ---------- - my_ponderation : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.modal_participation() - >>> op.inputs.ponderation.connect(my_ponderation) - >>> # or - >>> op.inputs.ponderation(my_ponderation) - """ - return self._ponderation - - @property - def force_label_space(self): - """Allows to connect force_label_space input to the operator. - - If set, will force a label space for output - result. - - Parameters - ---------- - my_force_label_space : dict - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.modal_participation() - >>> op.inputs.force_label_space.connect(my_force_label_space) - >>> # or - >>> op.inputs.force_label_space(my_force_label_space) - """ - return self._force_label_space - - -class OutputsModalParticipation(_Outputs): - """Intermediate class used to get outputs from - modal_participation operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.modal_participation() - >>> # Connect inputs : op.inputs. ... - >>> result_output = op.outputs.output() - """ - - def __init__(self, op: Operator): - super().__init__(modal_participation._spec().outputs, op) - self._output = Output(modal_participation._spec().output_pin(0), 0, op) - self._outputs.append(self._output) - - @property - def output(self): - """Allows to get output output of the operator - - Returns - ---------- - my_output : FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.modal_participation() - >>> # Connect inputs : op.inputs. ... - >>> result_output = op.outputs.output() - """ # noqa: E501 - return self._output diff --git a/src/ansys/dpf/core/operators/math/nodal_density.py b/src/ansys/dpf/core/operators/math/nodal_density.py deleted file mode 100644 index 9f1e5dfe1f2..00000000000 --- a/src/ansys/dpf/core/operators/math/nodal_density.py +++ /dev/null @@ -1,342 +0,0 @@ -""" -nodal_density -============= -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class nodal_density(Operator): - """Extract Nodal Topology Density result from topo solver output. Default - behavior is to use graphical density. - - Parameters - ---------- - time_scoping : Scoping, optional - mesh_scoping : Scoping, optional - streams : StreamsContainer, optional - Topo file stream. - data_sources : DataSources, optional - Topo file data source. - custom_ponderation_name : str - Take custom ponderation_field from the topo - file by name - - Returns - ------- - field : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.math.nodal_density() - - >>> # Make input connections - >>> my_time_scoping = dpf.Scoping() - >>> op.inputs.time_scoping.connect(my_time_scoping) - >>> my_mesh_scoping = dpf.Scoping() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> my_streams = dpf.StreamsContainer() - >>> op.inputs.streams.connect(my_streams) - >>> my_data_sources = dpf.DataSources() - >>> op.inputs.data_sources.connect(my_data_sources) - >>> my_custom_ponderation_name = str() - >>> op.inputs.custom_ponderation_name.connect(my_custom_ponderation_name) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.math.nodal_density( - ... time_scoping=my_time_scoping, - ... mesh_scoping=my_mesh_scoping, - ... streams=my_streams, - ... data_sources=my_data_sources, - ... custom_ponderation_name=my_custom_ponderation_name, - ... ) - - >>> # Get output data - >>> result_field = op.outputs.field() - """ - - def __init__( - self, - time_scoping=None, - mesh_scoping=None, - streams=None, - data_sources=None, - custom_ponderation_name=None, - config=None, - server=None, - ): - super().__init__(name="hdf5::topo::nodal_density", config=config, server=server) - self._inputs = InputsNodalDensity(self) - self._outputs = OutputsNodalDensity(self) - if time_scoping is not None: - self.inputs.time_scoping.connect(time_scoping) - if mesh_scoping is not None: - self.inputs.mesh_scoping.connect(mesh_scoping) - if streams is not None: - self.inputs.streams.connect(streams) - if data_sources is not None: - self.inputs.data_sources.connect(data_sources) - if custom_ponderation_name is not None: - self.inputs.custom_ponderation_name.connect(custom_ponderation_name) - - @staticmethod - def _spec(): - description = """Extract Nodal Topology Density result from topo solver output. Default - behavior is to use graphical density.""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="time_scoping", - type_names=["scoping"], - optional=True, - document="""""", - ), - 1: PinSpecification( - name="mesh_scoping", - type_names=["scoping"], - optional=True, - document="""""", - ), - 3: PinSpecification( - name="streams", - type_names=["streams_container"], - optional=True, - document="""Topo file stream.""", - ), - 4: PinSpecification( - name="data_sources", - type_names=["data_sources"], - optional=True, - document="""Topo file data source.""", - ), - 200: PinSpecification( - name="custom_ponderation_name", - type_names=["string"], - optional=False, - document="""Take custom ponderation_field from the topo - file by name""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="field", - type_names=["field"], - optional=False, - document="""""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config(name="hdf5::topo::nodal_density", server=server) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsNodalDensity - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsNodalDensity - """ - return super().outputs - - -class InputsNodalDensity(_Inputs): - """Intermediate class used to connect user inputs to - nodal_density operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.nodal_density() - >>> my_time_scoping = dpf.Scoping() - >>> op.inputs.time_scoping.connect(my_time_scoping) - >>> my_mesh_scoping = dpf.Scoping() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> my_streams = dpf.StreamsContainer() - >>> op.inputs.streams.connect(my_streams) - >>> my_data_sources = dpf.DataSources() - >>> op.inputs.data_sources.connect(my_data_sources) - >>> my_custom_ponderation_name = str() - >>> op.inputs.custom_ponderation_name.connect(my_custom_ponderation_name) - """ - - def __init__(self, op: Operator): - super().__init__(nodal_density._spec().inputs, op) - self._time_scoping = Input(nodal_density._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._time_scoping) - self._mesh_scoping = Input(nodal_density._spec().input_pin(1), 1, op, -1) - self._inputs.append(self._mesh_scoping) - self._streams = Input(nodal_density._spec().input_pin(3), 3, op, -1) - self._inputs.append(self._streams) - self._data_sources = Input(nodal_density._spec().input_pin(4), 4, op, -1) - self._inputs.append(self._data_sources) - self._custom_ponderation_name = Input( - nodal_density._spec().input_pin(200), 200, op, -1 - ) - self._inputs.append(self._custom_ponderation_name) - - @property - def time_scoping(self): - """Allows to connect time_scoping input to the operator. - - Parameters - ---------- - my_time_scoping : Scoping - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.nodal_density() - >>> op.inputs.time_scoping.connect(my_time_scoping) - >>> # or - >>> op.inputs.time_scoping(my_time_scoping) - """ - return self._time_scoping - - @property - def mesh_scoping(self): - """Allows to connect mesh_scoping input to the operator. - - Parameters - ---------- - my_mesh_scoping : Scoping - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.nodal_density() - >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) - >>> # or - >>> op.inputs.mesh_scoping(my_mesh_scoping) - """ - return self._mesh_scoping - - @property - def streams(self): - """Allows to connect streams input to the operator. - - Topo file stream. - - Parameters - ---------- - my_streams : StreamsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.nodal_density() - >>> op.inputs.streams.connect(my_streams) - >>> # or - >>> op.inputs.streams(my_streams) - """ - return self._streams - - @property - def data_sources(self): - """Allows to connect data_sources input to the operator. - - Topo file data source. - - Parameters - ---------- - my_data_sources : DataSources - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.nodal_density() - >>> op.inputs.data_sources.connect(my_data_sources) - >>> # or - >>> op.inputs.data_sources(my_data_sources) - """ - return self._data_sources - - @property - def custom_ponderation_name(self): - """Allows to connect custom_ponderation_name input to the operator. - - Take custom ponderation_field from the topo - file by name - - Parameters - ---------- - my_custom_ponderation_name : str - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.nodal_density() - >>> op.inputs.custom_ponderation_name.connect(my_custom_ponderation_name) - >>> # or - >>> op.inputs.custom_ponderation_name(my_custom_ponderation_name) - """ - return self._custom_ponderation_name - - -class OutputsNodalDensity(_Outputs): - """Intermediate class used to get outputs from - nodal_density operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.nodal_density() - >>> # Connect inputs : op.inputs. ... - >>> result_field = op.outputs.field() - """ - - def __init__(self, op: Operator): - super().__init__(nodal_density._spec().outputs, op) - self._field = Output(nodal_density._spec().output_pin(0), 0, op) - self._outputs.append(self._field) - - @property - def field(self): - """Allows to get field output of the operator - - Returns - ---------- - my_field : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.math.nodal_density() - >>> # Connect inputs : op.inputs. ... - >>> result_field = op.outputs.field() - """ # noqa: E501 - return self._field diff --git a/src/ansys/dpf/core/operators/mesh/__init__.py b/src/ansys/dpf/core/operators/mesh/__init__.py index 83ad8525f09..b20edea73d8 100644 --- a/src/ansys/dpf/core/operators/mesh/__init__.py +++ b/src/ansys/dpf/core/operators/mesh/__init__.py @@ -1,31 +1,32 @@ -from .beam_properties import beam_properties -from .change_cs import change_cs -from .combine_levelset import combine_levelset -from .decimate_mesh import decimate_mesh -from .exclude_levelset import exclude_levelset -from .external_layer import external_layer -from .from_field import from_field -from .from_scoping import from_scoping -from .from_scopings import from_scopings -from .iso_surfaces import iso_surfaces -from .make_plane_levelset import make_plane_levelset -from .make_sphere_levelset import make_sphere_levelset -from .mesh_clip import mesh_clip -from .mesh_cut import mesh_cut -from .mesh_extraction import mesh_extraction -from .mesh_get_attribute import mesh_get_attribute -from .mesh_plan_clip import mesh_plan_clip -from .mesh_provider import mesh_provider -from .mesh_to_graphics import mesh_to_graphics -from .mesh_to_graphics_edges import mesh_to_graphics_edges -from .mesh_to_pyvista import mesh_to_pyvista -from .mesh_to_tetra import mesh_to_tetra -from .meshes_provider import meshes_provider -from .node_coordinates import node_coordinates -from .points_from_coordinates import points_from_coordinates -from .skin import skin -from .split_fields import split_fields -from .split_mesh import split_mesh -from .stl_export import stl_export -from .tri_mesh_skin import tri_mesh_skin -from .wireframe import wireframe +from .acmo_mesh_provider import acmo_mesh_provider +from .beam_properties import beam_properties +from .change_cs import change_cs +from .combine_levelset import combine_levelset +from .decimate_mesh import decimate_mesh +from .exclude_levelset import exclude_levelset +from .external_layer import external_layer +from .from_field import from_field +from .from_scoping import from_scoping +from .from_scopings import from_scopings +from .iso_surfaces import iso_surfaces +from .make_plane_levelset import make_plane_levelset +from .make_sphere_levelset import make_sphere_levelset +from .meshes_provider import meshes_provider +from .mesh_clip import mesh_clip +from .mesh_cut import mesh_cut +from .mesh_extraction import mesh_extraction +from .mesh_get_attribute import mesh_get_attribute +from .mesh_plan_clip import mesh_plan_clip +from .mesh_provider import mesh_provider +from .mesh_to_graphics import mesh_to_graphics +from .mesh_to_graphics_edges import mesh_to_graphics_edges +from .mesh_to_pyvista import mesh_to_pyvista +from .mesh_to_tetra import mesh_to_tetra +from .node_coordinates import node_coordinates +from .points_from_coordinates import points_from_coordinates +from .skin import skin +from .split_fields import split_fields +from .split_mesh import split_mesh +from .stl_export import stl_export +from .tri_mesh_skin import tri_mesh_skin +from .wireframe import wireframe diff --git a/src/ansys/dpf/core/operators/mesh/skin.py b/src/ansys/dpf/core/operators/mesh/skin.py index d09c7c0c592..4a07d769792 100644 --- a/src/ansys/dpf/core/operators/mesh/skin.py +++ b/src/ansys/dpf/core/operators/mesh/skin.py @@ -29,6 +29,10 @@ class skin(Operator): mesh shell elements (boolean = 1) are duplicated, one per each orientation, or (boolean = 0) remain unchanged. + add_beam : bool, optional + If input mesh contains beam elements, output + mesh beam elements (boolean = 1) are + added or (boolean = 0) are ignored. Returns ------- @@ -67,12 +71,15 @@ class skin(Operator): >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) >>> my_duplicate_shell = bool() >>> op.inputs.duplicate_shell.connect(my_duplicate_shell) + >>> my_add_beam = bool() + >>> op.inputs.add_beam.connect(my_add_beam) >>> # Instantiate operator and connect inputs in one line >>> op = dpf.operators.mesh.skin( ... mesh=my_mesh, ... mesh_scoping=my_mesh_scoping, ... duplicate_shell=my_duplicate_shell, + ... add_beam=my_add_beam, ... ) >>> # Get output data @@ -88,6 +95,7 @@ def __init__( mesh=None, mesh_scoping=None, duplicate_shell=None, + add_beam=None, config=None, server=None, ): @@ -100,6 +108,8 @@ def __init__( self.inputs.mesh_scoping.connect(mesh_scoping) if duplicate_shell is not None: self.inputs.duplicate_shell.connect(duplicate_shell) + if add_beam is not None: + self.inputs.add_beam.connect(add_beam) @staticmethod def _spec(): @@ -133,6 +143,14 @@ def _spec(): duplicated, one per each orientation, or (boolean = 0) remain unchanged.""", ), + 3: PinSpecification( + name="add_beam", + type_names=["bool"], + optional=True, + document="""If input mesh contains beam elements, output + mesh beam elements (boolean = 1) are + added or (boolean = 0) are ignored.""", + ), }, map_output_pin_spec={ 0: PinSpecification( @@ -232,6 +250,8 @@ class InputsSkin(_Inputs): >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) >>> my_duplicate_shell = bool() >>> op.inputs.duplicate_shell.connect(my_duplicate_shell) + >>> my_add_beam = bool() + >>> op.inputs.add_beam.connect(my_add_beam) """ def __init__(self, op: Operator): @@ -242,6 +262,8 @@ def __init__(self, op: Operator): self._inputs.append(self._mesh_scoping) self._duplicate_shell = Input(skin._spec().input_pin(2), 2, op, -1) self._inputs.append(self._duplicate_shell) + self._add_beam = Input(skin._spec().input_pin(3), 3, op, -1) + self._inputs.append(self._add_beam) @property def mesh(self): @@ -308,6 +330,28 @@ def duplicate_shell(self): """ return self._duplicate_shell + @property + def add_beam(self): + """Allows to connect add_beam input to the operator. + + If input mesh contains beam elements, output + mesh beam elements (boolean = 1) are + added or (boolean = 0) are ignored. + + Parameters + ---------- + my_add_beam : bool + + Examples + -------- + >>> from ansys.dpf import core as dpf + >>> op = dpf.operators.mesh.skin() + >>> op.inputs.add_beam.connect(my_add_beam) + >>> # or + >>> op.inputs.add_beam(my_add_beam) + """ + return self._add_beam + class OutputsSkin(_Outputs): """Intermediate class used to get outputs from diff --git a/src/ansys/dpf/core/operators/metadata/__init__.py b/src/ansys/dpf/core/operators/metadata/__init__.py index e96bcc5fbda..9355e95dce3 100644 --- a/src/ansys/dpf/core/operators/metadata/__init__.py +++ b/src/ansys/dpf/core/operators/metadata/__init__.py @@ -1,16 +1,16 @@ -from .boundary_condition_provider import boundary_condition_provider -from .cyclic_mesh_expansion import cyclic_mesh_expansion -from .cyclic_support_provider import cyclic_support_provider -from .datasources_provider import datasources_provider -from .integrate_over_time_freq import integrate_over_time_freq -from .is_cyclic import is_cyclic -from .material_support_provider import material_support_provider -from .mesh_info_provider import mesh_info_provider -from .mesh_property_provider import mesh_property_provider -from .mesh_selection_manager_provider import mesh_selection_manager_provider -from .mesh_support_provider import mesh_support_provider -from .property_field_provider_by_name import property_field_provider_by_name -from .result_info_provider import result_info_provider -from .streams_provider import streams_provider -from .time_freq_provider import time_freq_provider -from .time_freq_support_get_attribute import time_freq_support_get_attribute +from .boundary_condition_provider import boundary_condition_provider +from .cyclic_mesh_expansion import cyclic_mesh_expansion +from .cyclic_support_provider import cyclic_support_provider +from .datasources_provider import datasources_provider +from .integrate_over_time_freq import integrate_over_time_freq +from .is_cyclic import is_cyclic +from .material_support_provider import material_support_provider +from .mesh_info_provider import mesh_info_provider +from .mesh_property_provider import mesh_property_provider +from .mesh_selection_manager_provider import mesh_selection_manager_provider +from .mesh_support_provider import mesh_support_provider +from .property_field_provider_by_name import property_field_provider_by_name +from .result_info_provider import result_info_provider +from .streams_provider import streams_provider +from .time_freq_provider import time_freq_provider +from .time_freq_support_get_attribute import time_freq_support_get_attribute diff --git a/src/ansys/dpf/core/operators/min_max/__init__.py b/src/ansys/dpf/core/operators/min_max/__init__.py index 9bbb261ae9e..624fe65931a 100644 --- a/src/ansys/dpf/core/operators/min_max/__init__.py +++ b/src/ansys/dpf/core/operators/min_max/__init__.py @@ -1,16 +1,16 @@ -from .max_by_component import max_by_component -from .max_over_phase import max_over_phase -from .max_over_time_by_entity import max_over_time_by_entity -from .min_by_component import min_by_component -from .min_max import min_max -from .min_max_by_entity import min_max_by_entity -from .min_max_by_time import min_max_by_time -from .min_max_fc import min_max_fc -from .min_max_fc_inc import min_max_fc_inc -from .min_max_inc import min_max_inc -from .min_max_over_label_fc import min_max_over_label_fc -from .min_max_over_time_by_entity import min_max_over_time_by_entity -from .min_over_time_by_entity import min_over_time_by_entity -from .phase_of_max import phase_of_max -from .time_of_max_by_entity import time_of_max_by_entity -from .time_of_min_by_entity import time_of_min_by_entity +from .max_by_component import max_by_component +from .max_over_phase import max_over_phase +from .max_over_time_by_entity import max_over_time_by_entity +from .min_by_component import min_by_component +from .min_max import min_max +from .min_max_by_entity import min_max_by_entity +from .min_max_by_time import min_max_by_time +from .min_max_fc import min_max_fc +from .min_max_fc_inc import min_max_fc_inc +from .min_max_inc import min_max_inc +from .min_max_over_label_fc import min_max_over_label_fc +from .min_max_over_time_by_entity import min_max_over_time_by_entity +from .min_over_time_by_entity import min_over_time_by_entity +from .phase_of_max import phase_of_max +from .time_of_max_by_entity import time_of_max_by_entity +from .time_of_min_by_entity import time_of_min_by_entity diff --git a/src/ansys/dpf/core/operators/result/__init__.py b/src/ansys/dpf/core/operators/result/__init__.py index 1225981ae38..5beffae008a 100644 --- a/src/ansys/dpf/core/operators/result/__init__.py +++ b/src/ansys/dpf/core/operators/result/__init__.py @@ -1,318 +1,319 @@ -from .acceleration import acceleration -from .acceleration_X import acceleration_X -from .acceleration_Y import acceleration_Y -from .acceleration_Z import acceleration_Z -from .accu_eqv_creep_strain import accu_eqv_creep_strain -from .accu_eqv_plastic_strain import accu_eqv_plastic_strain -from .add_rigid_body_motion import add_rigid_body_motion -from .add_rigid_body_motion_fc import add_rigid_body_motion_fc -from .artificial_hourglass_energy import artificial_hourglass_energy -from .beam_axial_force import beam_axial_force -from .beam_axial_plastic_strain import beam_axial_plastic_strain -from .beam_axial_stress import beam_axial_stress -from .beam_axial_total_strain import beam_axial_total_strain -from .beam_rs_shear_stress import beam_rs_shear_stress -from .beam_s_bending_moment import beam_s_bending_moment -from .beam_s_shear_force import beam_s_shear_force -from .beam_t_bending_moment import beam_t_bending_moment -from .beam_t_shear_force import beam_t_shear_force -from .beam_torsional_moment import beam_torsional_moment -from .beam_tr_shear_stress import beam_tr_shear_stress -from .cms_dst_table_provider import cms_dst_table_provider -from .cms_matrices_provider import cms_matrices_provider -from .cms_subfile_info_provider import cms_subfile_info_provider -from .co_energy import co_energy -from .compute_invariant_terms_motion import compute_invariant_terms_motion -from .compute_invariant_terms_rbd import compute_invariant_terms_rbd -from .compute_stress import compute_stress -from .compute_stress_1 import compute_stress_1 -from .compute_stress_2 import compute_stress_2 -from .compute_stress_3 import compute_stress_3 -from .compute_stress_X import compute_stress_X -from .compute_stress_XY import compute_stress_XY -from .compute_stress_XZ import compute_stress_XZ -from .compute_stress_Y import compute_stress_Y -from .compute_stress_YZ import compute_stress_YZ -from .compute_stress_Z import compute_stress_Z -from .compute_stress_von_mises import compute_stress_von_mises -from .compute_total_strain import compute_total_strain -from .compute_total_strain_1 import compute_total_strain_1 -from .compute_total_strain_2 import compute_total_strain_2 -from .compute_total_strain_3 import compute_total_strain_3 -from .compute_total_strain_X import compute_total_strain_X -from .compute_total_strain_XY import compute_total_strain_XY -from .compute_total_strain_XZ import compute_total_strain_XZ -from .compute_total_strain_Y import compute_total_strain_Y -from .compute_total_strain_YZ import compute_total_strain_YZ -from .compute_total_strain_Z import compute_total_strain_Z -from .contact_fluid_penetration_pressure import contact_fluid_penetration_pressure -from .contact_friction_stress import contact_friction_stress -from .contact_gap_distance import contact_gap_distance -from .contact_penetration import contact_penetration -from .contact_pressure import contact_pressure -from .contact_sliding_distance import contact_sliding_distance -from .contact_status import contact_status -from .contact_surface_heat_flux import contact_surface_heat_flux -from .contact_total_stress import contact_total_stress -from .coordinate_system import coordinate_system -from .coordinates import coordinates -from .creep_strain_energy_density import creep_strain_energy_density -from .current_density import current_density -from .custom import custom -from .cyclic_analytic_seqv_max import cyclic_analytic_seqv_max -from .cyclic_analytic_usum_max import cyclic_analytic_usum_max -from .cyclic_equivalent_mass import cyclic_equivalent_mass -from .cyclic_expanded_acceleration import cyclic_expanded_acceleration -from .cyclic_expanded_displacement import cyclic_expanded_displacement -from .cyclic_expanded_el_strain import cyclic_expanded_el_strain -from .cyclic_expanded_enf import cyclic_expanded_enf -from .cyclic_expanded_heat_flux import cyclic_expanded_heat_flux -from .cyclic_expanded_stress import cyclic_expanded_stress -from .cyclic_expanded_temperature import cyclic_expanded_temperature -from .cyclic_expanded_velocity import cyclic_expanded_velocity -from .cyclic_expansion import cyclic_expansion -from .cyclic_kinetic_energy import cyclic_kinetic_energy -from .cyclic_nmisc import cyclic_nmisc -from .cyclic_strain_energy import cyclic_strain_energy -from .cyclic_volume import cyclic_volume -from .density import density -from .displacement import displacement -from .displacement_X import displacement_X -from .displacement_Y import displacement_Y -from .displacement_Z import displacement_Z -from .div_lighthill_tensor import div_lighthill_tensor -from .dynamic_viscosity import dynamic_viscosity -from .elastic_strain import elastic_strain -from .elastic_strain_X import elastic_strain_X -from .elastic_strain_XY import elastic_strain_XY -from .elastic_strain_XZ import elastic_strain_XZ -from .elastic_strain_Y import elastic_strain_Y -from .elastic_strain_YZ import elastic_strain_YZ -from .elastic_strain_Z import elastic_strain_Z -from .elastic_strain_energy_density import elastic_strain_energy_density -from .elastic_strain_eqv import elastic_strain_eqv -from .elastic_strain_intensity import elastic_strain_intensity -from .elastic_strain_max_shear import elastic_strain_max_shear -from .elastic_strain_principal_1 import elastic_strain_principal_1 -from .elastic_strain_principal_2 import elastic_strain_principal_2 -from .elastic_strain_principal_3 import elastic_strain_principal_3 -from .elastic_strain_rotation_by_euler_nodes import elastic_strain_rotation_by_euler_nodes -from .electric_field import electric_field -from .electric_flux_density import electric_flux_density -from .electric_potential import electric_potential -from .element_centroids import element_centroids -from .element_nodal_forces import element_nodal_forces -from .element_orientations import element_orientations -from .element_orientations_X import element_orientations_X -from .element_orientations_Y import element_orientations_Y -from .element_orientations_Z import element_orientations_Z -from .elemental_heat_generation import elemental_heat_generation -from .elemental_mass import elemental_mass -from .elemental_volume import elemental_volume -from .enf_rotation_by_euler_nodes import enf_rotation_by_euler_nodes -from .enthalpy import enthalpy -from .entropy import entropy -from .epsilon import epsilon -from .equivalent_mass import equivalent_mass -from .equivalent_radiated_power import equivalent_radiated_power -from .eqv_stress_parameter import eqv_stress_parameter -from .erp_radiation_efficiency import erp_radiation_efficiency -from .euler_load_buckling import euler_load_buckling -from .euler_nodes import euler_nodes -from .gasket_deformation import gasket_deformation -from .gasket_deformation_X import gasket_deformation_X -from .gasket_deformation_XY import gasket_deformation_XY -from .gasket_deformation_XZ import gasket_deformation_XZ -from .gasket_inelastic_closure import gasket_inelastic_closure -from .gasket_inelastic_closure_X import gasket_inelastic_closure_X -from .gasket_inelastic_closure_XY import gasket_inelastic_closure_XY -from .gasket_inelastic_closure_XZ import gasket_inelastic_closure_XZ -from .gasket_stress import gasket_stress -from .gasket_stress_X import gasket_stress_X -from .gasket_stress_XY import gasket_stress_XY -from .gasket_stress_XZ import gasket_stress_XZ -from .gasket_thermal_closure import gasket_thermal_closure -from .gasket_thermal_closure_X import gasket_thermal_closure_X -from .gasket_thermal_closure_XY import gasket_thermal_closure_XY -from .gasket_thermal_closure_XZ import gasket_thermal_closure_XZ -from .global_added_mass import global_added_mass -from .global_added_mass_pct import global_added_mass_pct -from .global_center_mass import global_center_mass -from .global_energy_ratio import global_energy_ratio -from .global_energy_ratio_wo_eroded import global_energy_ratio_wo_eroded -from .global_eroded_hourglass_energy import global_eroded_hourglass_energy -from .global_eroded_internal_energy import global_eroded_internal_energy -from .global_eroded_kinetic_energy import global_eroded_kinetic_energy -from .global_external_work import global_external_work -from .global_hourglass_energy import global_hourglass_energy -from .global_internal_energy import global_internal_energy -from .global_joint_internal_energy import global_joint_internal_energy -from .global_kinetic_energy import global_kinetic_energy -from .global_rigid_body_stopper_energy import global_rigid_body_stopper_energy -from .global_sliding_interface_energy import global_sliding_interface_energy -from .global_spring_damper_energy import global_spring_damper_energy -from .global_system_damping_energy import global_system_damping_energy -from .global_time_step import global_time_step -from .global_to_nodal import global_to_nodal -from .global_total_energy import global_total_energy -from .global_total_mass import global_total_mass -from .global_velocity import global_velocity -from .heat_flux import heat_flux -from .heat_flux_X import heat_flux_X -from .heat_flux_Y import heat_flux_Y -from .heat_flux_Z import heat_flux_Z -from .hydrostatic_pressure import hydrostatic_pressure -from .incremental_energy import incremental_energy -from .initial_coordinates import initial_coordinates -from .interface_contact_area import interface_contact_area -from .interface_contact_force import interface_contact_force -from .interface_contact_mass import interface_contact_mass -from .interface_contact_moment import interface_contact_moment -from .interface_resultant_contact_force import interface_resultant_contact_force -from .joint_force_reaction import joint_force_reaction -from .joint_moment_reaction import joint_moment_reaction -from .joint_relative_acceleration import joint_relative_acceleration -from .joint_relative_angular_acceleration import joint_relative_angular_acceleration -from .joint_relative_angular_velocity import joint_relative_angular_velocity -from .joint_relative_displacement import joint_relative_displacement -from .joint_relative_rotation import joint_relative_rotation -from .joint_relative_velocity import joint_relative_velocity -from .kinetic_energy import kinetic_energy -from .mach_number import mach_number -from .mapdl_material_properties import mapdl_material_properties -from .mapdl_section import mapdl_section -from .mapdl_split_on_facet_indices import mapdl_split_on_facet_indices -from .mapdl_split_to_acmo_facet_indices import mapdl_split_to_acmo_facet_indices -from .mass_flow_rate import mass_flow_rate -from .mass_fraction import mass_fraction -from .material_property_of_element import material_property_of_element -from .mean_static_pressure import mean_static_pressure -from .mean_temperature import mean_temperature -from .mean_velocity import mean_velocity -from .members_in_bending_not_certified import members_in_bending_not_certified -from .members_in_compression_not_certified import members_in_compression_not_certified -from .members_in_linear_compression_bending_not_certified import members_in_linear_compression_bending_not_certified -from .migrate_to_h5dpf import migrate_to_h5dpf -from .modal_basis import modal_basis -from .nmisc import nmisc -from .nodal_force import nodal_force -from .nodal_moment import nodal_moment -from .nodal_to_global import nodal_to_global -from .normal_contact_force import normal_contact_force -from .normal_contact_moment import normal_contact_moment -from .num_surface_status_changes import num_surface_status_changes -from .omega import omega -from .part_added_mass import part_added_mass -from .part_eroded_internal_energy import part_eroded_internal_energy -from .part_eroded_kinetic_energy import part_eroded_kinetic_energy -from .part_hourglass_energy import part_hourglass_energy -from .part_internal_energy import part_internal_energy -from .part_kinetic_energy import part_kinetic_energy -from .part_momentum import part_momentum -from .part_rigid_body_velocity import part_rigid_body_velocity -from .plastic_state_variable import plastic_state_variable -from .plastic_strain import plastic_strain -from .plastic_strain_X import plastic_strain_X -from .plastic_strain_XY import plastic_strain_XY -from .plastic_strain_XZ import plastic_strain_XZ -from .plastic_strain_Y import plastic_strain_Y -from .plastic_strain_YZ import plastic_strain_YZ -from .plastic_strain_Z import plastic_strain_Z -from .plastic_strain_energy_density import plastic_strain_energy_density -from .plastic_strain_eqv import plastic_strain_eqv -from .plastic_strain_intensity import plastic_strain_intensity -from .plastic_strain_max_shear import plastic_strain_max_shear -from .plastic_strain_principal_1 import plastic_strain_principal_1 -from .plastic_strain_principal_2 import plastic_strain_principal_2 -from .plastic_strain_principal_3 import plastic_strain_principal_3 -from .plastic_strain_rotation_by_euler_nodes import plastic_strain_rotation_by_euler_nodes -from .poynting_vector import poynting_vector -from .poynting_vector_surface import poynting_vector_surface -from .pres_to_field import pres_to_field -from .pressure import pressure -from .prns_to_field import prns_to_field -from .raw_displacement import raw_displacement -from .raw_reaction_force import raw_reaction_force -from .reaction_force import reaction_force -from .reaction_force_X import reaction_force_X -from .reaction_force_Y import reaction_force_Y -from .reaction_force_Z import reaction_force_Z -from .read_cms_rbd_file import read_cms_rbd_file -from .recombine_harmonic_indeces_cyclic import recombine_harmonic_indeces_cyclic -from .remove_rigid_body_motion import remove_rigid_body_motion -from .remove_rigid_body_motion_fc import remove_rigid_body_motion_fc -from .rigid_transformation import rigid_transformation -from .rigid_transformation_provider import rigid_transformation_provider -from .rms_static_pressure import rms_static_pressure -from .rms_temperature import rms_temperature -from .rms_velocity import rms_velocity -from .rom_data_provider import rom_data_provider -from .run import run -from .smisc import smisc -from .specific_heat import specific_heat -from .spectrum_data import spectrum_data -from .static_pressure import static_pressure -from .stiffness_matrix_energy import stiffness_matrix_energy -from .strain_eqv_as_mechanical import strain_eqv_as_mechanical -from .strain_eqv_as_mechanical_workflow import strain_eqv_as_mechanical_workflow -from .stress import stress -from .stress_X import stress_X -from .stress_XY import stress_XY -from .stress_XZ import stress_XZ -from .stress_Y import stress_Y -from .stress_YZ import stress_YZ -from .stress_Z import stress_Z -from .stress_eqv_as_mechanical import stress_eqv_as_mechanical -from .stress_eqv_as_mechanical_workflow import stress_eqv_as_mechanical_workflow -from .stress_intensity import stress_intensity -from .stress_max_shear import stress_max_shear -from .stress_principal_1 import stress_principal_1 -from .stress_principal_2 import stress_principal_2 -from .stress_principal_3 import stress_principal_3 -from .stress_ratio import stress_ratio -from .stress_rotation_by_euler_nodes import stress_rotation_by_euler_nodes -from .stress_von_mises import stress_von_mises -from .structural_temperature import structural_temperature -from .superficial_velocity import superficial_velocity -from .surface_heat_rate import surface_heat_rate -from .swelling_strains import swelling_strains -from .tangential_contact_force import tangential_contact_force -from .tangential_contact_moment import tangential_contact_moment -from .temperature import temperature -from .temperature_grad import temperature_grad -from .thermal_conductivity import thermal_conductivity -from .thermal_dissipation_energy import thermal_dissipation_energy -from .thermal_strain import thermal_strain -from .thermal_strain_X import thermal_strain_X -from .thermal_strain_XY import thermal_strain_XY -from .thermal_strain_XZ import thermal_strain_XZ -from .thermal_strain_Y import thermal_strain_Y -from .thermal_strain_YZ import thermal_strain_YZ -from .thermal_strain_Z import thermal_strain_Z -from .thermal_strain_principal_1 import thermal_strain_principal_1 -from .thermal_strain_principal_2 import thermal_strain_principal_2 -from .thermal_strain_principal_3 import thermal_strain_principal_3 -from .thermal_strains_eqv import thermal_strains_eqv -from .thickness import thickness -from .torque import torque -from .total_contact_force import total_contact_force -from .total_contact_moment import total_contact_moment -from .total_mass import total_mass -from .total_pressure import total_pressure -from .total_strain import total_strain -from .total_temperature import total_temperature -from .transform_invariant_terms_rbd import transform_invariant_terms_rbd -from .transient_rayleigh_integration import transient_rayleigh_integration -from .turbulent_kinetic_energy import turbulent_kinetic_energy -from .turbulent_viscosity import turbulent_viscosity -from .velocity import velocity -from .velocity_X import velocity_X -from .velocity_Y import velocity_Y -from .velocity_Z import velocity_Z -from .volume_fraction import volume_fraction -from .wall_shear_stress import wall_shear_stress -from .workflow_energy_per_component import workflow_energy_per_component -from .workflow_energy_per_harmonic import workflow_energy_per_harmonic -from .write_cms_rbd_file import write_cms_rbd_file -from .write_motion_dfmf_file import write_motion_dfmf_file -from .y_plus import y_plus +from .acceleration import acceleration +from .acceleration_X import acceleration_X +from .acceleration_Y import acceleration_Y +from .acceleration_Z import acceleration_Z +from .accu_eqv_creep_strain import accu_eqv_creep_strain +from .accu_eqv_plastic_strain import accu_eqv_plastic_strain +from .add_rigid_body_motion import add_rigid_body_motion +from .add_rigid_body_motion_fc import add_rigid_body_motion_fc +from .artificial_hourglass_energy import artificial_hourglass_energy +from .beam_axial_force import beam_axial_force +from .beam_axial_plastic_strain import beam_axial_plastic_strain +from .beam_axial_stress import beam_axial_stress +from .beam_axial_total_strain import beam_axial_total_strain +from .beam_rs_shear_stress import beam_rs_shear_stress +from .beam_s_bending_moment import beam_s_bending_moment +from .beam_s_shear_force import beam_s_shear_force +from .beam_torsional_moment import beam_torsional_moment +from .beam_tr_shear_stress import beam_tr_shear_stress +from .beam_t_bending_moment import beam_t_bending_moment +from .beam_t_shear_force import beam_t_shear_force +from .cgns_result_provider import cgns_result_provider +from .cms_dst_table_provider import cms_dst_table_provider +from .cms_matrices_provider import cms_matrices_provider +from .cms_subfile_info_provider import cms_subfile_info_provider +from .compute_invariant_terms_motion import compute_invariant_terms_motion +from .compute_invariant_terms_rbd import compute_invariant_terms_rbd +from .compute_stress import compute_stress +from .compute_stress_1 import compute_stress_1 +from .compute_stress_2 import compute_stress_2 +from .compute_stress_3 import compute_stress_3 +from .compute_stress_von_mises import compute_stress_von_mises +from .compute_stress_X import compute_stress_X +from .compute_stress_XY import compute_stress_XY +from .compute_stress_XZ import compute_stress_XZ +from .compute_stress_Y import compute_stress_Y +from .compute_stress_YZ import compute_stress_YZ +from .compute_stress_Z import compute_stress_Z +from .compute_total_strain import compute_total_strain +from .compute_total_strain_1 import compute_total_strain_1 +from .compute_total_strain_2 import compute_total_strain_2 +from .compute_total_strain_3 import compute_total_strain_3 +from .compute_total_strain_X import compute_total_strain_X +from .compute_total_strain_XY import compute_total_strain_XY +from .compute_total_strain_XZ import compute_total_strain_XZ +from .compute_total_strain_Y import compute_total_strain_Y +from .compute_total_strain_YZ import compute_total_strain_YZ +from .compute_total_strain_Z import compute_total_strain_Z +from .contact_fluid_penetration_pressure import contact_fluid_penetration_pressure +from .contact_friction_stress import contact_friction_stress +from .contact_gap_distance import contact_gap_distance +from .contact_penetration import contact_penetration +from .contact_pressure import contact_pressure +from .contact_sliding_distance import contact_sliding_distance +from .contact_status import contact_status +from .contact_surface_heat_flux import contact_surface_heat_flux +from .contact_total_stress import contact_total_stress +from .coordinates import coordinates +from .coordinate_system import coordinate_system +from .co_energy import co_energy +from .creep_strain_energy_density import creep_strain_energy_density +from .current_density import current_density +from .custom import custom +from .cyclic_analytic_seqv_max import cyclic_analytic_seqv_max +from .cyclic_analytic_usum_max import cyclic_analytic_usum_max +from .cyclic_equivalent_mass import cyclic_equivalent_mass +from .cyclic_expanded_acceleration import cyclic_expanded_acceleration +from .cyclic_expanded_displacement import cyclic_expanded_displacement +from .cyclic_expanded_el_strain import cyclic_expanded_el_strain +from .cyclic_expanded_enf import cyclic_expanded_enf +from .cyclic_expanded_heat_flux import cyclic_expanded_heat_flux +from .cyclic_expanded_stress import cyclic_expanded_stress +from .cyclic_expanded_temperature import cyclic_expanded_temperature +from .cyclic_expanded_velocity import cyclic_expanded_velocity +from .cyclic_expansion import cyclic_expansion +from .cyclic_kinetic_energy import cyclic_kinetic_energy +from .cyclic_nmisc import cyclic_nmisc +from .cyclic_strain_energy import cyclic_strain_energy +from .cyclic_volume import cyclic_volume +from .density import density +from .displacement import displacement +from .displacement_X import displacement_X +from .displacement_Y import displacement_Y +from .displacement_Z import displacement_Z +from .div_lighthill_tensor import div_lighthill_tensor +from .dynamic_viscosity import dynamic_viscosity +from .elastic_strain import elastic_strain +from .elastic_strain_energy_density import elastic_strain_energy_density +from .elastic_strain_eqv import elastic_strain_eqv +from .elastic_strain_intensity import elastic_strain_intensity +from .elastic_strain_max_shear import elastic_strain_max_shear +from .elastic_strain_principal_1 import elastic_strain_principal_1 +from .elastic_strain_principal_2 import elastic_strain_principal_2 +from .elastic_strain_principal_3 import elastic_strain_principal_3 +from .elastic_strain_rotation_by_euler_nodes import elastic_strain_rotation_by_euler_nodes +from .elastic_strain_X import elastic_strain_X +from .elastic_strain_XY import elastic_strain_XY +from .elastic_strain_XZ import elastic_strain_XZ +from .elastic_strain_Y import elastic_strain_Y +from .elastic_strain_YZ import elastic_strain_YZ +from .elastic_strain_Z import elastic_strain_Z +from .electric_field import electric_field +from .electric_flux_density import electric_flux_density +from .electric_potential import electric_potential +from .elemental_heat_generation import elemental_heat_generation +from .elemental_mass import elemental_mass +from .elemental_volume import elemental_volume +from .element_centroids import element_centroids +from .element_nodal_forces import element_nodal_forces +from .element_orientations import element_orientations +from .element_orientations_X import element_orientations_X +from .element_orientations_Y import element_orientations_Y +from .element_orientations_Z import element_orientations_Z +from .enf_rotation_by_euler_nodes import enf_rotation_by_euler_nodes +from .enthalpy import enthalpy +from .entropy import entropy +from .epsilon import epsilon +from .equivalent_mass import equivalent_mass +from .equivalent_radiated_power import equivalent_radiated_power +from .eqv_stress_parameter import eqv_stress_parameter +from .erp_radiation_efficiency import erp_radiation_efficiency +from .euler_load_buckling import euler_load_buckling +from .euler_nodes import euler_nodes +from .gasket_deformation import gasket_deformation +from .gasket_deformation_X import gasket_deformation_X +from .gasket_deformation_XY import gasket_deformation_XY +from .gasket_deformation_XZ import gasket_deformation_XZ +from .gasket_inelastic_closure import gasket_inelastic_closure +from .gasket_inelastic_closure_X import gasket_inelastic_closure_X +from .gasket_inelastic_closure_XY import gasket_inelastic_closure_XY +from .gasket_inelastic_closure_XZ import gasket_inelastic_closure_XZ +from .gasket_stress import gasket_stress +from .gasket_stress_X import gasket_stress_X +from .gasket_stress_XY import gasket_stress_XY +from .gasket_stress_XZ import gasket_stress_XZ +from .gasket_thermal_closure import gasket_thermal_closure +from .gasket_thermal_closure_X import gasket_thermal_closure_X +from .gasket_thermal_closure_XY import gasket_thermal_closure_XY +from .gasket_thermal_closure_XZ import gasket_thermal_closure_XZ +from .global_added_mass import global_added_mass +from .global_added_mass_pct import global_added_mass_pct +from .global_center_mass import global_center_mass +from .global_energy_ratio import global_energy_ratio +from .global_energy_ratio_wo_eroded import global_energy_ratio_wo_eroded +from .global_eroded_hourglass_energy import global_eroded_hourglass_energy +from .global_eroded_internal_energy import global_eroded_internal_energy +from .global_eroded_kinetic_energy import global_eroded_kinetic_energy +from .global_external_work import global_external_work +from .global_hourglass_energy import global_hourglass_energy +from .global_internal_energy import global_internal_energy +from .global_joint_internal_energy import global_joint_internal_energy +from .global_kinetic_energy import global_kinetic_energy +from .global_rigid_body_stopper_energy import global_rigid_body_stopper_energy +from .global_sliding_interface_energy import global_sliding_interface_energy +from .global_spring_damper_energy import global_spring_damper_energy +from .global_system_damping_energy import global_system_damping_energy +from .global_time_step import global_time_step +from .global_total_energy import global_total_energy +from .global_total_mass import global_total_mass +from .global_to_nodal import global_to_nodal +from .global_velocity import global_velocity +from .heat_flux import heat_flux +from .heat_flux_X import heat_flux_X +from .heat_flux_Y import heat_flux_Y +from .heat_flux_Z import heat_flux_Z +from .hydrostatic_pressure import hydrostatic_pressure +from .incremental_energy import incremental_energy +from .initial_coordinates import initial_coordinates +from .interface_contact_area import interface_contact_area +from .interface_contact_force import interface_contact_force +from .interface_contact_mass import interface_contact_mass +from .interface_contact_moment import interface_contact_moment +from .interface_resultant_contact_force import interface_resultant_contact_force +from .joint_force_reaction import joint_force_reaction +from .joint_moment_reaction import joint_moment_reaction +from .joint_relative_acceleration import joint_relative_acceleration +from .joint_relative_angular_acceleration import joint_relative_angular_acceleration +from .joint_relative_angular_velocity import joint_relative_angular_velocity +from .joint_relative_displacement import joint_relative_displacement +from .joint_relative_rotation import joint_relative_rotation +from .joint_relative_velocity import joint_relative_velocity +from .kinetic_energy import kinetic_energy +from .mach_number import mach_number +from .mapdl_material_properties import mapdl_material_properties +from .mapdl_section import mapdl_section +from .mapdl_split_on_facet_indices import mapdl_split_on_facet_indices +from .mapdl_split_to_acmo_facet_indices import mapdl_split_to_acmo_facet_indices +from .mass_flow_rate import mass_flow_rate +from .mass_fraction import mass_fraction +from .material_property_of_element import material_property_of_element +from .mean_static_pressure import mean_static_pressure +from .mean_temperature import mean_temperature +from .mean_velocity import mean_velocity +from .members_in_bending_not_certified import members_in_bending_not_certified +from .members_in_compression_not_certified import members_in_compression_not_certified +from .members_in_linear_compression_bending_not_certified import members_in_linear_compression_bending_not_certified +from .migrate_to_h5dpf import migrate_to_h5dpf +from .modal_basis import modal_basis +from .nmisc import nmisc +from .nodal_force import nodal_force +from .nodal_moment import nodal_moment +from .nodal_to_global import nodal_to_global +from .normal_contact_force import normal_contact_force +from .normal_contact_moment import normal_contact_moment +from .num_surface_status_changes import num_surface_status_changes +from .omega import omega +from .part_added_mass import part_added_mass +from .part_eroded_internal_energy import part_eroded_internal_energy +from .part_eroded_kinetic_energy import part_eroded_kinetic_energy +from .part_hourglass_energy import part_hourglass_energy +from .part_internal_energy import part_internal_energy +from .part_kinetic_energy import part_kinetic_energy +from .part_momentum import part_momentum +from .part_rigid_body_velocity import part_rigid_body_velocity +from .plastic_state_variable import plastic_state_variable +from .plastic_strain import plastic_strain +from .plastic_strain_energy_density import plastic_strain_energy_density +from .plastic_strain_eqv import plastic_strain_eqv +from .plastic_strain_intensity import plastic_strain_intensity +from .plastic_strain_max_shear import plastic_strain_max_shear +from .plastic_strain_principal_1 import plastic_strain_principal_1 +from .plastic_strain_principal_2 import plastic_strain_principal_2 +from .plastic_strain_principal_3 import plastic_strain_principal_3 +from .plastic_strain_rotation_by_euler_nodes import plastic_strain_rotation_by_euler_nodes +from .plastic_strain_X import plastic_strain_X +from .plastic_strain_XY import plastic_strain_XY +from .plastic_strain_XZ import plastic_strain_XZ +from .plastic_strain_Y import plastic_strain_Y +from .plastic_strain_YZ import plastic_strain_YZ +from .plastic_strain_Z import plastic_strain_Z +from .poynting_vector import poynting_vector +from .poynting_vector_surface import poynting_vector_surface +from .pressure import pressure +from .pres_to_field import pres_to_field +from .prns_to_field import prns_to_field +from .raw_displacement import raw_displacement +from .raw_reaction_force import raw_reaction_force +from .reaction_force import reaction_force +from .reaction_force_X import reaction_force_X +from .reaction_force_Y import reaction_force_Y +from .reaction_force_Z import reaction_force_Z +from .read_cms_rbd_file import read_cms_rbd_file +from .recombine_harmonic_indeces_cyclic import recombine_harmonic_indeces_cyclic +from .remove_rigid_body_motion import remove_rigid_body_motion +from .remove_rigid_body_motion_fc import remove_rigid_body_motion_fc +from .rigid_transformation import rigid_transformation +from .rigid_transformation_provider import rigid_transformation_provider +from .rms_static_pressure import rms_static_pressure +from .rms_temperature import rms_temperature +from .rms_velocity import rms_velocity +from .rom_data_provider import rom_data_provider +from .run import run +from .smisc import smisc +from .specific_heat import specific_heat +from .spectrum_data import spectrum_data +from .static_pressure import static_pressure +from .stiffness_matrix_energy import stiffness_matrix_energy +from .strain_eqv_as_mechanical import strain_eqv_as_mechanical +from .strain_eqv_as_mechanical_workflow import strain_eqv_as_mechanical_workflow +from .stress import stress +from .stress_eqv_as_mechanical import stress_eqv_as_mechanical +from .stress_eqv_as_mechanical_workflow import stress_eqv_as_mechanical_workflow +from .stress_intensity import stress_intensity +from .stress_max_shear import stress_max_shear +from .stress_principal_1 import stress_principal_1 +from .stress_principal_2 import stress_principal_2 +from .stress_principal_3 import stress_principal_3 +from .stress_ratio import stress_ratio +from .stress_rotation_by_euler_nodes import stress_rotation_by_euler_nodes +from .stress_von_mises import stress_von_mises +from .stress_X import stress_X +from .stress_XY import stress_XY +from .stress_XZ import stress_XZ +from .stress_Y import stress_Y +from .stress_YZ import stress_YZ +from .stress_Z import stress_Z +from .structural_temperature import structural_temperature +from .superficial_velocity import superficial_velocity +from .surface_heat_rate import surface_heat_rate +from .swelling_strains import swelling_strains +from .tangential_contact_force import tangential_contact_force +from .tangential_contact_moment import tangential_contact_moment +from .temperature import temperature +from .temperature_grad import temperature_grad +from .thermal_conductivity import thermal_conductivity +from .thermal_dissipation_energy import thermal_dissipation_energy +from .thermal_strain import thermal_strain +from .thermal_strains_eqv import thermal_strains_eqv +from .thermal_strain_principal_1 import thermal_strain_principal_1 +from .thermal_strain_principal_2 import thermal_strain_principal_2 +from .thermal_strain_principal_3 import thermal_strain_principal_3 +from .thermal_strain_X import thermal_strain_X +from .thermal_strain_XY import thermal_strain_XY +from .thermal_strain_XZ import thermal_strain_XZ +from .thermal_strain_Y import thermal_strain_Y +from .thermal_strain_YZ import thermal_strain_YZ +from .thermal_strain_Z import thermal_strain_Z +from .thickness import thickness +from .torque import torque +from .total_contact_force import total_contact_force +from .total_contact_moment import total_contact_moment +from .total_mass import total_mass +from .total_pressure import total_pressure +from .total_strain import total_strain +from .total_temperature import total_temperature +from .transform_invariant_terms_rbd import transform_invariant_terms_rbd +from .transient_rayleigh_integration import transient_rayleigh_integration +from .turbulent_kinetic_energy import turbulent_kinetic_energy +from .turbulent_viscosity import turbulent_viscosity +from .velocity import velocity +from .velocity_X import velocity_X +from .velocity_Y import velocity_Y +from .velocity_Z import velocity_Z +from .volume_fraction import volume_fraction +from .wall_shear_stress import wall_shear_stress +from .workflow_energy_per_component import workflow_energy_per_component +from .workflow_energy_per_harmonic import workflow_energy_per_harmonic +from .write_cms_rbd_file import write_cms_rbd_file +from .write_motion_dfmf_file import write_motion_dfmf_file +from .y_plus import y_plus diff --git a/src/ansys/dpf/core/operators/scoping/__init__.py b/src/ansys/dpf/core/operators/scoping/__init__.py index 7eddddff1b8..802d8e1b654 100644 --- a/src/ansys/dpf/core/operators/scoping/__init__.py +++ b/src/ansys/dpf/core/operators/scoping/__init__.py @@ -1,18 +1,16 @@ -from .change_fc import change_fc -from .compute_element_centroids import compute_element_centroids -from .connectivity_ids import connectivity_ids -from .elemental_from_mesh import elemental_from_mesh -from .from_mesh import from_mesh -from .intersect import intersect -from .nodal_from_mesh import nodal_from_mesh -from .on_mesh_property import on_mesh_property -from .on_named_selection import on_named_selection -from .on_property import on_property -from .reduce_sampling import reduce_sampling -from .rescope import rescope -from .rescope_custom_type_field import rescope_custom_type_field -from .rescope_fc import rescope_fc -from .rescope_property_field import rescope_property_field -from .scoping_get_attribute import scoping_get_attribute -from .split_on_property_type import split_on_property_type -from .transpose import transpose +from .change_fc import change_fc +from .compute_element_centroids import compute_element_centroids +from .connectivity_ids import connectivity_ids +from .from_mesh import from_mesh +from .intersect import intersect +from .on_mesh_property import on_mesh_property +from .on_named_selection import on_named_selection +from .on_property import on_property +from .reduce_sampling import reduce_sampling +from .rescope import rescope +from .rescope_custom_type_field import rescope_custom_type_field +from .rescope_fc import rescope_fc +from .rescope_property_field import rescope_property_field +from .scoping_get_attribute import scoping_get_attribute +from .split_on_property_type import split_on_property_type +from .transpose import transpose diff --git a/src/ansys/dpf/core/operators/scoping/elemental_from_mesh.py b/src/ansys/dpf/core/operators/scoping/elemental_from_mesh.py deleted file mode 100644 index c6a6d5ffe4b..00000000000 --- a/src/ansys/dpf/core/operators/scoping/elemental_from_mesh.py +++ /dev/null @@ -1,183 +0,0 @@ -""" -elemental_from_mesh -=================== -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class elemental_from_mesh(Operator): - """Retrieves the elemental scoping of a given input mesh, which contains - the element IDs. - - Parameters - ---------- - mesh : MeshedRegion - - Returns - ------- - mesh_scoping : Scoping - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.scoping.elemental_from_mesh() - - >>> # Make input connections - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.scoping.elemental_from_mesh( - ... mesh=my_mesh, - ... ) - - >>> # Get output data - >>> result_mesh_scoping = op.outputs.mesh_scoping() - """ - - def __init__(self, mesh=None, config=None, server=None): - super().__init__(name="GetElementScopingFromMesh", config=config, server=server) - self._inputs = InputsElementalFromMesh(self) - self._outputs = OutputsElementalFromMesh(self) - if mesh is not None: - self.inputs.mesh.connect(mesh) - - @staticmethod - def _spec(): - description = """Retrieves the elemental scoping of a given input mesh, which contains - the element IDs.""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="mesh", - type_names=["abstract_meshed_region"], - optional=False, - document="""""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="mesh_scoping", - type_names=["scoping"], - optional=False, - document="""""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config(name="GetElementScopingFromMesh", server=server) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsElementalFromMesh - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsElementalFromMesh - """ - return super().outputs - - -class InputsElementalFromMesh(_Inputs): - """Intermediate class used to connect user inputs to - elemental_from_mesh operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.scoping.elemental_from_mesh() - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - """ - - def __init__(self, op: Operator): - super().__init__(elemental_from_mesh._spec().inputs, op) - self._mesh = Input(elemental_from_mesh._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._mesh) - - @property - def mesh(self): - """Allows to connect mesh input to the operator. - - Parameters - ---------- - my_mesh : MeshedRegion - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.scoping.elemental_from_mesh() - >>> op.inputs.mesh.connect(my_mesh) - >>> # or - >>> op.inputs.mesh(my_mesh) - """ - return self._mesh - - -class OutputsElementalFromMesh(_Outputs): - """Intermediate class used to get outputs from - elemental_from_mesh operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.scoping.elemental_from_mesh() - >>> # Connect inputs : op.inputs. ... - >>> result_mesh_scoping = op.outputs.mesh_scoping() - """ - - def __init__(self, op: Operator): - super().__init__(elemental_from_mesh._spec().outputs, op) - self._mesh_scoping = Output(elemental_from_mesh._spec().output_pin(0), 0, op) - self._outputs.append(self._mesh_scoping) - - @property - def mesh_scoping(self): - """Allows to get mesh_scoping output of the operator - - Returns - ---------- - my_mesh_scoping : Scoping - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.scoping.elemental_from_mesh() - >>> # Connect inputs : op.inputs. ... - >>> result_mesh_scoping = op.outputs.mesh_scoping() - """ # noqa: E501 - return self._mesh_scoping diff --git a/src/ansys/dpf/core/operators/scoping/nodal_from_mesh.py b/src/ansys/dpf/core/operators/scoping/nodal_from_mesh.py deleted file mode 100644 index e6c6ad53157..00000000000 --- a/src/ansys/dpf/core/operators/scoping/nodal_from_mesh.py +++ /dev/null @@ -1,183 +0,0 @@ -""" -nodal_from_mesh -=============== -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class nodal_from_mesh(Operator): - """Retrieves the nodal scoping of a given input mesh, which contains the - node IDs. - - Parameters - ---------- - mesh : MeshedRegion - - Returns - ------- - mesh_scoping : Scoping - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.scoping.nodal_from_mesh() - - >>> # Make input connections - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.scoping.nodal_from_mesh( - ... mesh=my_mesh, - ... ) - - >>> # Get output data - >>> result_mesh_scoping = op.outputs.mesh_scoping() - """ - - def __init__(self, mesh=None, config=None, server=None): - super().__init__(name="GetNodeScopingFromMesh", config=config, server=server) - self._inputs = InputsNodalFromMesh(self) - self._outputs = OutputsNodalFromMesh(self) - if mesh is not None: - self.inputs.mesh.connect(mesh) - - @staticmethod - def _spec(): - description = """Retrieves the nodal scoping of a given input mesh, which contains the - node IDs.""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="mesh", - type_names=["abstract_meshed_region"], - optional=False, - document="""""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="mesh_scoping", - type_names=["scoping"], - optional=False, - document="""""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config(name="GetNodeScopingFromMesh", server=server) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsNodalFromMesh - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsNodalFromMesh - """ - return super().outputs - - -class InputsNodalFromMesh(_Inputs): - """Intermediate class used to connect user inputs to - nodal_from_mesh operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.scoping.nodal_from_mesh() - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - """ - - def __init__(self, op: Operator): - super().__init__(nodal_from_mesh._spec().inputs, op) - self._mesh = Input(nodal_from_mesh._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._mesh) - - @property - def mesh(self): - """Allows to connect mesh input to the operator. - - Parameters - ---------- - my_mesh : MeshedRegion - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.scoping.nodal_from_mesh() - >>> op.inputs.mesh.connect(my_mesh) - >>> # or - >>> op.inputs.mesh(my_mesh) - """ - return self._mesh - - -class OutputsNodalFromMesh(_Outputs): - """Intermediate class used to get outputs from - nodal_from_mesh operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.scoping.nodal_from_mesh() - >>> # Connect inputs : op.inputs. ... - >>> result_mesh_scoping = op.outputs.mesh_scoping() - """ - - def __init__(self, op: Operator): - super().__init__(nodal_from_mesh._spec().outputs, op) - self._mesh_scoping = Output(nodal_from_mesh._spec().output_pin(0), 0, op) - self._outputs.append(self._mesh_scoping) - - @property - def mesh_scoping(self): - """Allows to get mesh_scoping output of the operator - - Returns - ---------- - my_mesh_scoping : Scoping - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.scoping.nodal_from_mesh() - >>> # Connect inputs : op.inputs. ... - >>> result_mesh_scoping = op.outputs.mesh_scoping() - """ # noqa: E501 - return self._mesh_scoping diff --git a/src/ansys/dpf/core/operators/serialization/__init__.py b/src/ansys/dpf/core/operators/serialization/__init__.py index a9da06e6bc6..a6b246ceffb 100644 --- a/src/ansys/dpf/core/operators/serialization/__init__.py +++ b/src/ansys/dpf/core/operators/serialization/__init__.py @@ -1,23 +1,20 @@ -from .csv_to_field import csv_to_field -from .data_tree_to_json import data_tree_to_json -from .data_tree_to_txt import data_tree_to_txt -from .deserializer import deserializer -from .export_symbolic_workflow import export_symbolic_workflow -from .field_to_csv import field_to_csv -from .hdf5dpf_custom_read import hdf5dpf_custom_read -from .hdf5dpf_generate_result_file import hdf5dpf_generate_result_file -from .import_symbolic_workflow import import_symbolic_workflow -from .json_to_data_tree import json_to_data_tree -from .mechanical_csv_to_field import mechanical_csv_to_field -from .migrate_file_to_vtk import migrate_file_to_vtk -from .migrate_to_vtu import migrate_to_vtu -from .serialize_to_hdf5 import serialize_to_hdf5 -from .serializer import serializer -from .serializer_to_string import serializer_to_string -from .string_deserializer import string_deserializer -from .txt_to_data_tree import txt_to_data_tree -from .vtk_export import vtk_export -from .vtk_to_fields import vtk_to_fields -from .vtu_export import vtu_export -from .workflow_export_json import workflow_export_json -from .workflow_import_json import workflow_import_json +from .csv_to_field import csv_to_field +from .data_tree_to_json import data_tree_to_json +from .data_tree_to_txt import data_tree_to_txt +from .deserializer import deserializer +from .export_symbolic_workflow import export_symbolic_workflow +from .field_to_csv import field_to_csv +from .hdf5dpf_custom_read import hdf5dpf_custom_read +from .hdf5dpf_generate_result_file import hdf5dpf_generate_result_file +from .import_symbolic_workflow import import_symbolic_workflow +from .json_to_data_tree import json_to_data_tree +from .migrate_file_to_vtk import migrate_file_to_vtk +from .migrate_to_vtu import migrate_to_vtu +from .serializer import serializer +from .serializer_to_string import serializer_to_string +from .serialize_to_hdf5 import serialize_to_hdf5 +from .string_deserializer import string_deserializer +from .txt_to_data_tree import txt_to_data_tree +from .vtk_export import vtk_export +from .vtk_to_fields import vtk_to_fields +from .vtu_export import vtu_export diff --git a/src/ansys/dpf/core/operators/serialization/mechanical_csv_to_field.py b/src/ansys/dpf/core/operators/serialization/mechanical_csv_to_field.py deleted file mode 100644 index 11c3ef8c19f..00000000000 --- a/src/ansys/dpf/core/operators/serialization/mechanical_csv_to_field.py +++ /dev/null @@ -1,295 +0,0 @@ -""" -mechanical_csv_to_field -======================= -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class mechanical_csv_to_field(Operator): - """Reads mechanical exported csv file - - Parameters - ---------- - unit : Class Dataprocessing::Unit::Cunit - mesh : MeshedRegion, optional - data_sources : DataSources - requested_location : str or FieldDefinition - - Returns - ------- - field : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.serialization.mechanical_csv_to_field() - - >>> # Make input connections - >>> my_unit = dpf.Class Dataprocessing::Unit::Cunit() - >>> op.inputs.unit.connect(my_unit) - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - >>> my_data_sources = dpf.DataSources() - >>> op.inputs.data_sources.connect(my_data_sources) - >>> my_requested_location = str() - >>> op.inputs.requested_location.connect(my_requested_location) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.serialization.mechanical_csv_to_field( - ... unit=my_unit, - ... mesh=my_mesh, - ... data_sources=my_data_sources, - ... requested_location=my_requested_location, - ... ) - - >>> # Get output data - >>> result_field = op.outputs.field() - """ - - def __init__( - self, - unit=None, - mesh=None, - data_sources=None, - requested_location=None, - config=None, - server=None, - ): - super().__init__(name="mechanical_csv_to_field", config=config, server=server) - self._inputs = InputsMechanicalCsvToField(self) - self._outputs = OutputsMechanicalCsvToField(self) - if unit is not None: - self.inputs.unit.connect(unit) - if mesh is not None: - self.inputs.mesh.connect(mesh) - if data_sources is not None: - self.inputs.data_sources.connect(data_sources) - if requested_location is not None: - self.inputs.requested_location.connect(requested_location) - - @staticmethod - def _spec(): - description = """Reads mechanical exported csv file""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="unit", - type_names=["class dataProcessing::unit::CUnit"], - optional=False, - document="""""", - ), - 1: PinSpecification( - name="mesh", - type_names=["abstract_meshed_region"], - optional=True, - document="""""", - ), - 4: PinSpecification( - name="data_sources", - type_names=["data_sources"], - optional=False, - document="""""", - ), - 9: PinSpecification( - name="requested_location", - type_names=["string", "field_definition"], - optional=False, - document="""""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="field", - type_names=["field"], - optional=False, - document="""""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config(name="mechanical_csv_to_field", server=server) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsMechanicalCsvToField - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsMechanicalCsvToField - """ - return super().outputs - - -class InputsMechanicalCsvToField(_Inputs): - """Intermediate class used to connect user inputs to - mechanical_csv_to_field operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.serialization.mechanical_csv_to_field() - >>> my_unit = dpf.Class Dataprocessing::Unit::Cunit() - >>> op.inputs.unit.connect(my_unit) - >>> my_mesh = dpf.MeshedRegion() - >>> op.inputs.mesh.connect(my_mesh) - >>> my_data_sources = dpf.DataSources() - >>> op.inputs.data_sources.connect(my_data_sources) - >>> my_requested_location = str() - >>> op.inputs.requested_location.connect(my_requested_location) - """ - - def __init__(self, op: Operator): - super().__init__(mechanical_csv_to_field._spec().inputs, op) - self._unit = Input(mechanical_csv_to_field._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._unit) - self._mesh = Input(mechanical_csv_to_field._spec().input_pin(1), 1, op, -1) - self._inputs.append(self._mesh) - self._data_sources = Input( - mechanical_csv_to_field._spec().input_pin(4), 4, op, -1 - ) - self._inputs.append(self._data_sources) - self._requested_location = Input( - mechanical_csv_to_field._spec().input_pin(9), 9, op, -1 - ) - self._inputs.append(self._requested_location) - - @property - def unit(self): - """Allows to connect unit input to the operator. - - Parameters - ---------- - my_unit : Class Dataprocessing::Unit::Cunit - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.serialization.mechanical_csv_to_field() - >>> op.inputs.unit.connect(my_unit) - >>> # or - >>> op.inputs.unit(my_unit) - """ - return self._unit - - @property - def mesh(self): - """Allows to connect mesh input to the operator. - - Parameters - ---------- - my_mesh : MeshedRegion - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.serialization.mechanical_csv_to_field() - >>> op.inputs.mesh.connect(my_mesh) - >>> # or - >>> op.inputs.mesh(my_mesh) - """ - return self._mesh - - @property - def data_sources(self): - """Allows to connect data_sources input to the operator. - - Parameters - ---------- - my_data_sources : DataSources - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.serialization.mechanical_csv_to_field() - >>> op.inputs.data_sources.connect(my_data_sources) - >>> # or - >>> op.inputs.data_sources(my_data_sources) - """ - return self._data_sources - - @property - def requested_location(self): - """Allows to connect requested_location input to the operator. - - Parameters - ---------- - my_requested_location : str or FieldDefinition - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.serialization.mechanical_csv_to_field() - >>> op.inputs.requested_location.connect(my_requested_location) - >>> # or - >>> op.inputs.requested_location(my_requested_location) - """ - return self._requested_location - - -class OutputsMechanicalCsvToField(_Outputs): - """Intermediate class used to get outputs from - mechanical_csv_to_field operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.serialization.mechanical_csv_to_field() - >>> # Connect inputs : op.inputs. ... - >>> result_field = op.outputs.field() - """ - - def __init__(self, op: Operator): - super().__init__(mechanical_csv_to_field._spec().outputs, op) - self._field = Output(mechanical_csv_to_field._spec().output_pin(0), 0, op) - self._outputs.append(self._field) - - @property - def field(self): - """Allows to get field output of the operator - - Returns - ---------- - my_field : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.serialization.mechanical_csv_to_field() - >>> # Connect inputs : op.inputs. ... - >>> result_field = op.outputs.field() - """ # noqa: E501 - return self._field diff --git a/src/ansys/dpf/core/operators/serialization/workflow_export_json.py b/src/ansys/dpf/core/operators/serialization/workflow_export_json.py deleted file mode 100644 index 0186d6c9055..00000000000 --- a/src/ansys/dpf/core/operators/serialization/workflow_export_json.py +++ /dev/null @@ -1,169 +0,0 @@ -""" -workflow_export_json -==================== -""" -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs, _modify_output_spec_with_one_type -from ansys.dpf.core.operators.specification import PinSpecification, Specification - -"""Operators from "serialization" category -""" - -class workflow_export_json(Operator): - """Export a workflow in json format. - - available inputs: - - workflow (Workflow) - - file_path (str) (optional) - - available outputs: - - json_workflow (DataSources ,str) - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.serialization.workflow_export_json() - - >>> # Make input connections - >>> my_workflow = dpf.Workflow() - >>> op.inputs.workflow.connect(my_workflow) - >>> my_file_path = str() - >>> op.inputs.file_path.connect(my_file_path) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.serialization.workflow_export_json(workflow=my_workflow,file_path=my_file_path) - - >>> # Get output data - >>> result_json_workflow = op.outputs.json_workflow()""" - def __init__(self, workflow=None, file_path=None, config=None, server=None): - super().__init__(name="serialization::workflow_export_json", config = config, server = server) - self._inputs = InputsWorkflowExportJson(self) - self._outputs = OutputsWorkflowExportJson(self) - if workflow !=None: - self.inputs.workflow.connect(workflow) - if file_path !=None: - self.inputs.file_path.connect(file_path) - - @staticmethod - def _spec(): - spec = Specification(description="""Export a workflow in json format.""", - map_input_pin_spec={ - 0 : PinSpecification(name = "workflow", type_names=["workflow"], optional=False, document="""Workflow to serialize."""), - 1 : PinSpecification(name = "file_path", type_names=["string"], optional=True, document="""File path to write results to. When given the operator will return a data source to the path, otherwise a json string will be output.""")}, - map_output_pin_spec={ - 0 : PinSpecification(name = "json_workflow", type_names=["data_sources","string"], optional=False, document="""Depending on the input of pin 1 the output will either be a data source to a json file or a json string.""")}) - return spec - - - @staticmethod - def default_config(): - return Operator.default_config(name = "serialization::workflow_export_json") - - @property - def inputs(self): - """Enables to connect inputs to the operator. - - Returns - -------- - inputs : InputsWorkflowExportJson - """ - return super().inputs - - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it. - - Returns - -------- - outputs : OutputsWorkflowExportJson - """ - return super().outputs - - -#internal name: serialization::workflow_export_json -#scripting name: workflow_export_json -class InputsWorkflowExportJson(_Inputs): - """Intermediate class used to connect user inputs to workflow_export_json operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> op = dpf.operators.serialization.workflow_export_json() - >>> my_workflow = dpf.Workflow() - >>> op.inputs.workflow.connect(my_workflow) - >>> my_file_path = str() - >>> op.inputs.file_path.connect(my_file_path) - """ - def __init__(self, op: Operator): - super().__init__(workflow_export_json._spec().inputs, op) - self._workflow = Input(workflow_export_json._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._workflow) - self._file_path = Input(workflow_export_json._spec().input_pin(1), 1, op, -1) - self._inputs.append(self._file_path) - - @property - def workflow(self): - """Allows to connect workflow input to the operator - - - pindoc: Workflow to serialize. - - Parameters - ---------- - my_workflow : Workflow, - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> op = dpf.operators.serialization.workflow_export_json() - >>> op.inputs.workflow.connect(my_workflow) - >>> #or - >>> op.inputs.workflow(my_workflow) - - """ - return self._workflow - - @property - def file_path(self): - """Allows to connect file_path input to the operator - - - pindoc: File path to write results to. When given the operator will return a data source to the path, otherwise a json string will be output. - - Parameters - ---------- - my_file_path : str, - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> op = dpf.operators.serialization.workflow_export_json() - >>> op.inputs.file_path.connect(my_file_path) - >>> #or - >>> op.inputs.file_path(my_file_path) - - """ - return self._file_path - -class OutputsWorkflowExportJson(_Outputs): - """Intermediate class used to get outputs from workflow_export_json operator - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> op = dpf.operators.serialization.workflow_export_json() - >>> # Connect inputs : op.inputs. ... - >>> result_json_workflow = op.outputs.json_workflow() - """ - def __init__(self, op: Operator): - super().__init__(workflow_export_json._spec().outputs, op) - self.json_workflow_as_data_sources = Output( _modify_output_spec_with_one_type(workflow_export_json._spec().output_pin(0), "data_sources"), 0, op) - self._outputs.append(self.json_workflow_as_data_sources) - self.json_workflow_as_string = Output( _modify_output_spec_with_one_type(workflow_export_json._spec().output_pin(0), "string"), 0, op) - self._outputs.append(self.json_workflow_as_string) - diff --git a/src/ansys/dpf/core/operators/serialization/workflow_import_json.py b/src/ansys/dpf/core/operators/serialization/workflow_import_json.py deleted file mode 100644 index 1a9ae7bcd93..00000000000 --- a/src/ansys/dpf/core/operators/serialization/workflow_import_json.py +++ /dev/null @@ -1,156 +0,0 @@ -""" -workflow_import_json -==================== -""" -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs, _modify_output_spec_with_one_type -from ansys.dpf.core.operators.specification import PinSpecification, Specification - -"""Operators from "serialization" category -""" - -class workflow_import_json(Operator): - """Import a workflow in json format. - - available inputs: - - json_workflow (str, DataSources) - - available outputs: - - workflow (Workflow) - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.serialization.workflow_import_json() - - >>> # Make input connections - >>> my_json_workflow = str() - >>> op.inputs.json_workflow.connect(my_json_workflow) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.serialization.workflow_import_json(json_workflow=my_json_workflow) - - >>> # Get output data - >>> result_workflow = op.outputs.workflow()""" - def __init__(self, json_workflow=None, config=None, server=None): - super().__init__(name="serialization::workflow_import_json", config = config, server = server) - self._inputs = InputsWorkflowImportJson(self) - self._outputs = OutputsWorkflowImportJson(self) - if json_workflow !=None: - self.inputs.json_workflow.connect(json_workflow) - - @staticmethod - def _spec(): - spec = Specification(description="""Import a workflow in json format.""", - map_input_pin_spec={ - 0 : PinSpecification(name = "json_workflow", type_names=["string","data_sources"], optional=False, document="""Input json data as either a data source or a string""")}, - map_output_pin_spec={ - 0 : PinSpecification(name = "workflow", type_names=["workflow"], optional=False, document="""Instantiate workflow.""")}) - return spec - - - @staticmethod - def default_config(): - return Operator.default_config(name = "serialization::workflow_import_json") - - @property - def inputs(self): - """Enables to connect inputs to the operator. - - Returns - -------- - inputs : InputsWorkflowImportJson - """ - return super().inputs - - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it. - - Returns - -------- - outputs : OutputsWorkflowImportJson - """ - return super().outputs - - -#internal name: serialization::workflow_import_json -#scripting name: workflow_import_json -class InputsWorkflowImportJson(_Inputs): - """Intermediate class used to connect user inputs to workflow_import_json operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> op = dpf.operators.serialization.workflow_import_json() - >>> my_json_workflow = str() - >>> op.inputs.json_workflow.connect(my_json_workflow) - """ - def __init__(self, op: Operator): - super().__init__(workflow_import_json._spec().inputs, op) - self._json_workflow = Input(workflow_import_json._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._json_workflow) - - @property - def json_workflow(self): - """Allows to connect json_workflow input to the operator - - - pindoc: Input json data as either a data source or a string - - Parameters - ---------- - my_json_workflow : str, DataSources, - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> op = dpf.operators.serialization.workflow_import_json() - >>> op.inputs.json_workflow.connect(my_json_workflow) - >>> #or - >>> op.inputs.json_workflow(my_json_workflow) - - """ - return self._json_workflow - -class OutputsWorkflowImportJson(_Outputs): - """Intermediate class used to get outputs from workflow_import_json operator - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> op = dpf.operators.serialization.workflow_import_json() - >>> # Connect inputs : op.inputs. ... - >>> result_workflow = op.outputs.workflow() - """ - def __init__(self, op: Operator): - super().__init__(workflow_import_json._spec().outputs, op) - self._workflow = Output(workflow_import_json._spec().output_pin(0), 0, op) - self._outputs.append(self._workflow) - - @property - def workflow(self): - """Allows to get workflow output of the operator - - - - pindoc: Instantiate workflow. - - Returns - ---------- - my_workflow : Workflow, - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> op = dpf.operators.serialization.workflow_import_json() - >>> # Connect inputs : op.inputs. ... - >>> result_workflow = op.outputs.workflow() - """ - return self._workflow - diff --git a/src/ansys/dpf/core/operators/server/__init__.py b/src/ansys/dpf/core/operators/server/__init__.py new file mode 100644 index 00000000000..ebb34945582 --- /dev/null +++ b/src/ansys/dpf/core/operators/server/__init__.py @@ -0,0 +1,2 @@ +from .grpc_shutdown_server import grpc_shutdown_server +from .grpc_start_server import grpc_start_server diff --git a/src/ansys/dpf/core/operators/utility/__init__.py b/src/ansys/dpf/core/operators/utility/__init__.py index 97992d49701..f69d5800d45 100644 --- a/src/ansys/dpf/core/operators/utility/__init__.py +++ b/src/ansys/dpf/core/operators/utility/__init__.py @@ -1,79 +1,76 @@ -from .Workflow_to_PyDPF_Generator import Workflow_to_PyDPF_Generator -from .assemble_scalars_to_matrices import assemble_scalars_to_matrices -from .assemble_scalars_to_matrices_fc import assemble_scalars_to_matrices_fc -from .assemble_scalars_to_vectors import assemble_scalars_to_vectors -from .assemble_scalars_to_vectors_fc import assemble_scalars_to_vectors_fc -from .bind_support import bind_support -from .bind_support_fc import bind_support_fc -from .change_location import change_location -from .change_shell_layers import change_shell_layers -from .compute_time_scoping import compute_time_scoping -from .default_value import default_value -from .delegate_to_operator import delegate_to_operator -from .ds_get_attribute import ds_get_attribute -from .extract_field import extract_field -from .extract_scoping import extract_scoping -from .extract_sub_fc import extract_sub_fc -from .extract_sub_mc import extract_sub_mc -from .extract_sub_sc import extract_sub_sc -from .extract_time_freq import extract_time_freq -from .fc_get_attribute import fc_get_attribute -from .field import field -from .field_get_attribute import field_get_attribute -from .field_to_fc import field_to_fc -from .fields_container import fields_container -from .fields_container_matrices_label import fields_container_matrices_label -from .for_each import for_each -from .forward import forward -from .forward_field import forward_field -from .forward_fields_container import forward_fields_container -from .forward_meshes_container import forward_meshes_container -from .hdf5dpf_workglow_provider import hdf5dpf_workglow_provider -from .html_doc import html_doc -from .incremental_concatenate_as_fc import incremental_concatenate_as_fc -from .ints_to_scoping import ints_to_scoping -from .make_for_each_range import make_for_each_range -from .make_label_space import make_label_space -from .make_overall import make_overall -from .make_producer_consumer_for_each_iterator import make_producer_consumer_for_each_iterator -from .merge_any import merge_any -from .merge_collections import merge_collections -from .merge_data_tree import merge_data_tree -from .merge_fields import merge_fields -from .merge_fields_by_label import merge_fields_by_label -from .merge_fields_containers import merge_fields_containers -from .merge_generic_data_container import merge_generic_data_container -from .merge_materials import merge_materials -from .merge_meshes import merge_meshes -from .merge_meshes_containers import merge_meshes_containers -from .merge_property_fields import merge_property_fields -from .merge_result_infos import merge_result_infos -from .merge_scopings import merge_scopings -from .merge_scopings_containers import merge_scopings_containers -from .merge_string_fields import merge_string_fields -from .merge_supports import merge_supports -from .merge_time_freq_supports import merge_time_freq_supports -from .merge_to_field_matrix import merge_to_field_matrix -from .merge_weighted_fields import merge_weighted_fields -from .merge_weighted_fields_containers import merge_weighted_fields_containers -from .mesh import mesh -from .mesh_to_mc import mesh_to_mc -from .meshes_container import meshes_container -from .overlap_fields import overlap_fields -from .producer_consumer_for_each import producer_consumer_for_each -from .property_field import property_field -from .python_generator import python_generator -from .python_script_exec import python_script_exec -from .remote_operator_instantiate import remote_operator_instantiate -from .remote_workflow_instantiate import remote_workflow_instantiate -from .remove_unnecessary_labels import remove_unnecessary_labels -from .scalars_to_field import scalars_to_field -from .server_path import server_path -from .set_attribute import set_attribute -from .set_property import set_property -from .split_in_for_each_range import split_in_for_each_range -from .strain_from_voigt import strain_from_voigt -from .strain_from_voigt_fc import strain_from_voigt_fc -from .txt_file_to_dpf import txt_file_to_dpf -from .unitary_field import unitary_field -from .weighted_merge_fields_by_label import weighted_merge_fields_by_label +from .assemble_scalars_to_matrices import assemble_scalars_to_matrices +from .assemble_scalars_to_matrices_fc import assemble_scalars_to_matrices_fc +from .assemble_scalars_to_vectors import assemble_scalars_to_vectors +from .assemble_scalars_to_vectors_fc import assemble_scalars_to_vectors_fc +from .bind_support import bind_support +from .change_location import change_location +from .change_shell_layers import change_shell_layers +from .compute_time_scoping import compute_time_scoping +from .default_value import default_value +from .delegate_to_operator import delegate_to_operator +from .ds_get_attribute import ds_get_attribute +from .extract_field import extract_field +from .extract_scoping import extract_scoping +from .extract_sub_fc import extract_sub_fc +from .extract_sub_mc import extract_sub_mc +from .extract_sub_sc import extract_sub_sc +from .extract_time_freq import extract_time_freq +from .fc_get_attribute import fc_get_attribute +from .field import field +from .fields_container import fields_container +from .fields_container_matrices_label import fields_container_matrices_label +from .field_get_attribute import field_get_attribute +from .field_to_fc import field_to_fc +from .forward import forward +from .forward_field import forward_field +from .forward_fields_container import forward_fields_container +from .forward_meshes_container import forward_meshes_container +from .for_each import for_each +from .hdf5dpf_workglow_provider import hdf5dpf_workglow_provider +from .html_doc import html_doc +from .incremental_concatenate_as_fc import incremental_concatenate_as_fc +from .ints_to_scoping import ints_to_scoping +from .make_for_each_range import make_for_each_range +from .make_label_space import make_label_space +from .make_overall import make_overall +from .make_producer_consumer_for_each_iterator import make_producer_consumer_for_each_iterator +from .merge_any import merge_any +from .merge_collections import merge_collections +from .merge_data_tree import merge_data_tree +from .merge_fields import merge_fields +from .merge_fields_by_label import merge_fields_by_label +from .merge_fields_containers import merge_fields_containers +from .merge_generic_data_container import merge_generic_data_container +from .merge_materials import merge_materials +from .merge_meshes import merge_meshes +from .merge_meshes_containers import merge_meshes_containers +from .merge_property_fields import merge_property_fields +from .merge_result_infos import merge_result_infos +from .merge_scopings import merge_scopings +from .merge_scopings_containers import merge_scopings_containers +from .merge_string_fields import merge_string_fields +from .merge_supports import merge_supports +from .merge_time_freq_supports import merge_time_freq_supports +from .merge_to_field_matrix import merge_to_field_matrix +from .merge_weighted_fields import merge_weighted_fields +from .merge_weighted_fields_containers import merge_weighted_fields_containers +from .mesh import mesh +from .meshes_container import meshes_container +from .mesh_to_mc import mesh_to_mc +from .overlap_fields import overlap_fields +from .producer_consumer_for_each import producer_consumer_for_each +from .property_field import property_field +from .python_generator import python_generator +from .remote_operator_instantiate import remote_operator_instantiate +from .remote_workflow_instantiate import remote_workflow_instantiate +from .remove_unnecessary_labels import remove_unnecessary_labels +from .scalars_to_field import scalars_to_field +from .server_path import server_path +from .set_attribute import set_attribute +from .set_property import set_property +from .split_in_for_each_range import split_in_for_each_range +from .strain_from_voigt import strain_from_voigt +from .strain_from_voigt_fc import strain_from_voigt_fc +from .txt_file_to_dpf import txt_file_to_dpf +from .weighted_merge_fields_by_label import weighted_merge_fields_by_label +from .Workflow_to_PyDPF_Generator import Workflow_to_PyDPF_Generator diff --git a/src/ansys/dpf/core/operators/utility/bind_support_fc.py b/src/ansys/dpf/core/operators/utility/bind_support_fc.py deleted file mode 100644 index 0e6947a1c1c..00000000000 --- a/src/ansys/dpf/core/operators/utility/bind_support_fc.py +++ /dev/null @@ -1,222 +0,0 @@ -""" -bind_support_fc -=============== -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class bind_support_fc(Operator): - """Ties a support to a fields container. - - Parameters - ---------- - fields_container : FieldsContainer - support : MeshedRegion or AbstractFieldSupport or TimeFreqSupport - Meshed region or a support of the field. - - Returns - ------- - fields_container : FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.utility.bind_support_fc() - - >>> # Make input connections - >>> my_fields_container = dpf.FieldsContainer() - >>> op.inputs.fields_container.connect(my_fields_container) - >>> my_support = dpf.MeshedRegion() - >>> op.inputs.support.connect(my_support) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.utility.bind_support_fc( - ... fields_container=my_fields_container, - ... support=my_support, - ... ) - - >>> # Get output data - >>> result_fields_container = op.outputs.fields_container() - """ - - def __init__(self, fields_container=None, support=None, config=None, server=None): - super().__init__(name="BindSupportFC", config=config, server=server) - self._inputs = InputsBindSupportFc(self) - self._outputs = OutputsBindSupportFc(self) - if fields_container is not None: - self.inputs.fields_container.connect(fields_container) - if support is not None: - self.inputs.support.connect(support) - - @staticmethod - def _spec(): - description = """Ties a support to a fields container.""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="fields_container", - type_names=["fields_container"], - optional=False, - document="""""", - ), - 1: PinSpecification( - name="support", - type_names=[ - "abstract_meshed_region", - "abstract_field_support", - "time_freq_support", - ], - optional=False, - document="""Meshed region or a support of the field.""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="fields_container", - type_names=["fields_container"], - optional=False, - document="""""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config(name="BindSupportFC", server=server) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsBindSupportFc - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsBindSupportFc - """ - return super().outputs - - -class InputsBindSupportFc(_Inputs): - """Intermediate class used to connect user inputs to - bind_support_fc operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.bind_support_fc() - >>> my_fields_container = dpf.FieldsContainer() - >>> op.inputs.fields_container.connect(my_fields_container) - >>> my_support = dpf.MeshedRegion() - >>> op.inputs.support.connect(my_support) - """ - - def __init__(self, op: Operator): - super().__init__(bind_support_fc._spec().inputs, op) - self._fields_container = Input(bind_support_fc._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._fields_container) - self._support = Input(bind_support_fc._spec().input_pin(1), 1, op, -1) - self._inputs.append(self._support) - - @property - def fields_container(self): - """Allows to connect fields_container input to the operator. - - Parameters - ---------- - my_fields_container : FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.bind_support_fc() - >>> op.inputs.fields_container.connect(my_fields_container) - >>> # or - >>> op.inputs.fields_container(my_fields_container) - """ - return self._fields_container - - @property - def support(self): - """Allows to connect support input to the operator. - - Meshed region or a support of the field. - - Parameters - ---------- - my_support : MeshedRegion or AbstractFieldSupport or TimeFreqSupport - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.bind_support_fc() - >>> op.inputs.support.connect(my_support) - >>> # or - >>> op.inputs.support(my_support) - """ - return self._support - - -class OutputsBindSupportFc(_Outputs): - """Intermediate class used to get outputs from - bind_support_fc operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.bind_support_fc() - >>> # Connect inputs : op.inputs. ... - >>> result_fields_container = op.outputs.fields_container() - """ - - def __init__(self, op: Operator): - super().__init__(bind_support_fc._spec().outputs, op) - self._fields_container = Output(bind_support_fc._spec().output_pin(0), 0, op) - self._outputs.append(self._fields_container) - - @property - def fields_container(self): - """Allows to get fields_container output of the operator - - Returns - ---------- - my_fields_container : FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.bind_support_fc() - >>> # Connect inputs : op.inputs. ... - >>> result_fields_container = op.outputs.fields_container() - """ # noqa: E501 - return self._fields_container diff --git a/src/ansys/dpf/core/operators/utility/make_time_chunk_for_each.py b/src/ansys/dpf/core/operators/utility/make_time_chunk_for_each.py deleted file mode 100644 index 7094db11247..00000000000 --- a/src/ansys/dpf/core/operators/utility/make_time_chunk_for_each.py +++ /dev/null @@ -1,686 +0,0 @@ -""" -make_time_chunk_for_each -======================== -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class make_time_chunk_for_each(Operator): - """Splits a list of time/freq values into chunks depending on evaluated - result properties,mesh size and max number of bytes accepted and - calls 'make_for_each_range' to generate a range that can be - consumed by the for_each operator - - Parameters - ---------- - target_time_freq_values : float - List of time/freq values to potentially split - in chunks. - operator_to_iterate : Operator - Operator that must be reconnected with the - range values. - pin_index : int - abstract_meshed_region : MeshedRegion - The number of nodes (for "nodal" results) or - number of elements (for "elemental" - results) is used to compute the - chunk. - chunk_config : DataTree - A data tree with an int attribute - "max_num_bytes", an int attribute - "dimensionality" (average result size - by entity), a string attribute - "location" ("nodal" or"elemental") is - expected. - producer_op11 : Operator - producer_op12 : Operator - output_pin_of_producer_op11 : int - output_pin_of_producer_op12 : int - input_pin_of_consumer_op11 : int - input_pin_of_consumer_op12 : int - consumer_op11 : Operator - consumer_op12 : Operator - - Returns - ------- - chunks : - To connect to "producer_consumer_for_each" - operator on pin 0 - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.utility.make_time_chunk_for_each() - - >>> # Make input connections - >>> my_target_time_freq_values = float() - >>> op.inputs.target_time_freq_values.connect(my_target_time_freq_values) - >>> my_operator_to_iterate = dpf.Operator() - >>> op.inputs.operator_to_iterate.connect(my_operator_to_iterate) - >>> my_pin_index = int() - >>> op.inputs.pin_index.connect(my_pin_index) - >>> my_abstract_meshed_region = dpf.MeshedRegion() - >>> op.inputs.abstract_meshed_region.connect(my_abstract_meshed_region) - >>> my_chunk_config = dpf.DataTree() - >>> op.inputs.chunk_config.connect(my_chunk_config) - >>> my_producer_op11 = dpf.Operator() - >>> op.inputs.producer_op11.connect(my_producer_op11) - >>> my_producer_op12 = dpf.Operator() - >>> op.inputs.producer_op12.connect(my_producer_op12) - >>> my_output_pin_of_producer_op11 = int() - >>> op.inputs.output_pin_of_producer_op11.connect(my_output_pin_of_producer_op11) - >>> my_output_pin_of_producer_op12 = int() - >>> op.inputs.output_pin_of_producer_op12.connect(my_output_pin_of_producer_op12) - >>> my_input_pin_of_consumer_op11 = int() - >>> op.inputs.input_pin_of_consumer_op11.connect(my_input_pin_of_consumer_op11) - >>> my_input_pin_of_consumer_op12 = int() - >>> op.inputs.input_pin_of_consumer_op12.connect(my_input_pin_of_consumer_op12) - >>> my_consumer_op11 = dpf.Operator() - >>> op.inputs.consumer_op11.connect(my_consumer_op11) - >>> my_consumer_op12 = dpf.Operator() - >>> op.inputs.consumer_op12.connect(my_consumer_op12) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.utility.make_time_chunk_for_each( - ... target_time_freq_values=my_target_time_freq_values, - ... operator_to_iterate=my_operator_to_iterate, - ... pin_index=my_pin_index, - ... abstract_meshed_region=my_abstract_meshed_region, - ... chunk_config=my_chunk_config, - ... producer_op11=my_producer_op11, - ... producer_op12=my_producer_op12, - ... output_pin_of_producer_op11=my_output_pin_of_producer_op11, - ... output_pin_of_producer_op12=my_output_pin_of_producer_op12, - ... input_pin_of_consumer_op11=my_input_pin_of_consumer_op11, - ... input_pin_of_consumer_op12=my_input_pin_of_consumer_op12, - ... consumer_op11=my_consumer_op11, - ... consumer_op12=my_consumer_op12, - ... ) - - >>> # Get output data - >>> result_chunks = op.outputs.chunks() - """ - - def __init__( - self, - target_time_freq_values=None, - operator_to_iterate=None, - pin_index=None, - abstract_meshed_region=None, - chunk_config=None, - producer_op11=None, - producer_op12=None, - output_pin_of_producer_op11=None, - output_pin_of_producer_op12=None, - input_pin_of_consumer_op11=None, - input_pin_of_consumer_op12=None, - consumer_op11=None, - consumer_op12=None, - config=None, - server=None, - ): - super().__init__( - name="mechanical::make_time_chunk_for_each", config=config, server=server - ) - self._inputs = InputsMakeTimeChunkForEach(self) - self._outputs = OutputsMakeTimeChunkForEach(self) - if target_time_freq_values is not None: - self.inputs.target_time_freq_values.connect(target_time_freq_values) - if operator_to_iterate is not None: - self.inputs.operator_to_iterate.connect(operator_to_iterate) - if pin_index is not None: - self.inputs.pin_index.connect(pin_index) - if abstract_meshed_region is not None: - self.inputs.abstract_meshed_region.connect(abstract_meshed_region) - if chunk_config is not None: - self.inputs.chunk_config.connect(chunk_config) - if producer_op11 is not None: - self.inputs.producer_op11.connect(producer_op11) - if producer_op12 is not None: - self.inputs.producer_op12.connect(producer_op12) - if output_pin_of_producer_op11 is not None: - self.inputs.output_pin_of_producer_op11.connect(output_pin_of_producer_op11) - if output_pin_of_producer_op12 is not None: - self.inputs.output_pin_of_producer_op12.connect(output_pin_of_producer_op12) - if input_pin_of_consumer_op11 is not None: - self.inputs.input_pin_of_consumer_op11.connect(input_pin_of_consumer_op11) - if input_pin_of_consumer_op12 is not None: - self.inputs.input_pin_of_consumer_op12.connect(input_pin_of_consumer_op12) - if consumer_op11 is not None: - self.inputs.consumer_op11.connect(consumer_op11) - if consumer_op12 is not None: - self.inputs.consumer_op12.connect(consumer_op12) - - @staticmethod - def _spec(): - description = """Splits a list of time/freq values into chunks depending on evaluated - result properties,mesh size and max number of bytes - accepted and calls "make_for_each_range" to generate a - range that can be consumed by the for_each operator""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="target_time_freq_values", - type_names=["vector", "double"], - optional=False, - document="""List of time/freq values to potentially split - in chunks.""", - ), - 1: PinSpecification( - name="operator_to_iterate", - type_names=["operator"], - optional=False, - document="""Operator that must be reconnected with the - range values.""", - ), - 2: PinSpecification( - name="pin_index", - type_names=["int32"], - optional=False, - document="""""", - ), - 7: PinSpecification( - name="abstract_meshed_region", - type_names=["abstract_meshed_region"], - optional=False, - document="""The number of nodes (for "nodal" results) or - number of elements (for "elemental" - results) is used to compute the - chunk.""", - ), - 200: PinSpecification( - name="chunk_config", - type_names=["abstract_data_tree"], - optional=False, - document="""A data tree with an int attribute - "max_num_bytes", an int attribute - "dimensionality" (average result size - by entity), a string attribute - "location" ("nodal" or"elemental") is - expected.""", - ), - 1000: PinSpecification( - name="producer_op1", - type_names=["operator"], - optional=False, - document="""""", - ), - 1001: PinSpecification( - name="producer_op1", - type_names=["operator"], - optional=False, - document="""""", - ), - 1001: PinSpecification( - name="output_pin_of_producer_op1", - type_names=["int32"], - optional=False, - document="""""", - ), - 1002: PinSpecification( - name="output_pin_of_producer_op1", - type_names=["int32"], - optional=False, - document="""""", - ), - 1002: PinSpecification( - name="input_pin_of_consumer_op1", - type_names=["int32"], - optional=False, - document="""""", - ), - 1003: PinSpecification( - name="input_pin_of_consumer_op1", - type_names=["int32"], - optional=False, - document="""""", - ), - 1003: PinSpecification( - name="consumer_op1", - type_names=["operator"], - optional=False, - document="""""", - ), - 1004: PinSpecification( - name="consumer_op1", - type_names=["operator"], - optional=False, - document="""""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="chunks", - optional=False, - document="""To connect to "producer_consumer_for_each" - operator on pin 0""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config( - name="mechanical::make_time_chunk_for_each", server=server - ) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsMakeTimeChunkForEach - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsMakeTimeChunkForEach - """ - return super().outputs - - -class InputsMakeTimeChunkForEach(_Inputs): - """Intermediate class used to connect user inputs to - make_time_chunk_for_each operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> my_target_time_freq_values = float() - >>> op.inputs.target_time_freq_values.connect(my_target_time_freq_values) - >>> my_operator_to_iterate = dpf.Operator() - >>> op.inputs.operator_to_iterate.connect(my_operator_to_iterate) - >>> my_pin_index = int() - >>> op.inputs.pin_index.connect(my_pin_index) - >>> my_abstract_meshed_region = dpf.MeshedRegion() - >>> op.inputs.abstract_meshed_region.connect(my_abstract_meshed_region) - >>> my_chunk_config = dpf.DataTree() - >>> op.inputs.chunk_config.connect(my_chunk_config) - >>> my_producer_op11 = dpf.Operator() - >>> op.inputs.producer_op11.connect(my_producer_op11) - >>> my_producer_op12 = dpf.Operator() - >>> op.inputs.producer_op12.connect(my_producer_op12) - >>> my_output_pin_of_producer_op11 = int() - >>> op.inputs.output_pin_of_producer_op11.connect(my_output_pin_of_producer_op11) - >>> my_output_pin_of_producer_op12 = int() - >>> op.inputs.output_pin_of_producer_op12.connect(my_output_pin_of_producer_op12) - >>> my_input_pin_of_consumer_op11 = int() - >>> op.inputs.input_pin_of_consumer_op11.connect(my_input_pin_of_consumer_op11) - >>> my_input_pin_of_consumer_op12 = int() - >>> op.inputs.input_pin_of_consumer_op12.connect(my_input_pin_of_consumer_op12) - >>> my_consumer_op11 = dpf.Operator() - >>> op.inputs.consumer_op11.connect(my_consumer_op11) - >>> my_consumer_op12 = dpf.Operator() - >>> op.inputs.consumer_op12.connect(my_consumer_op12) - """ - - def __init__(self, op: Operator): - super().__init__(make_time_chunk_for_each._spec().inputs, op) - self._target_time_freq_values = Input( - make_time_chunk_for_each._spec().input_pin(0), 0, op, -1 - ) - self._inputs.append(self._target_time_freq_values) - self._operator_to_iterate = Input( - make_time_chunk_for_each._spec().input_pin(1), 1, op, -1 - ) - self._inputs.append(self._operator_to_iterate) - self._pin_index = Input( - make_time_chunk_for_each._spec().input_pin(2), 2, op, -1 - ) - self._inputs.append(self._pin_index) - self._abstract_meshed_region = Input( - make_time_chunk_for_each._spec().input_pin(7), 7, op, -1 - ) - self._inputs.append(self._abstract_meshed_region) - self._chunk_config = Input( - make_time_chunk_for_each._spec().input_pin(200), 200, op, -1 - ) - self._inputs.append(self._chunk_config) - self._producer_op11 = Input( - make_time_chunk_for_each._spec().input_pin(1000), 1000, op, 0 - ) - self._inputs.append(self._producer_op11) - self._producer_op12 = Input( - make_time_chunk_for_each._spec().input_pin(1001), 1001, op, 1 - ) - self._inputs.append(self._producer_op12) - self._output_pin_of_producer_op11 = Input( - make_time_chunk_for_each._spec().input_pin(1001), 1001, op, 0 - ) - self._inputs.append(self._output_pin_of_producer_op11) - self._output_pin_of_producer_op12 = Input( - make_time_chunk_for_each._spec().input_pin(1002), 1002, op, 1 - ) - self._inputs.append(self._output_pin_of_producer_op12) - self._input_pin_of_consumer_op11 = Input( - make_time_chunk_for_each._spec().input_pin(1002), 1002, op, 0 - ) - self._inputs.append(self._input_pin_of_consumer_op11) - self._input_pin_of_consumer_op12 = Input( - make_time_chunk_for_each._spec().input_pin(1003), 1003, op, 1 - ) - self._inputs.append(self._input_pin_of_consumer_op12) - self._consumer_op11 = Input( - make_time_chunk_for_each._spec().input_pin(1003), 1003, op, 0 - ) - self._inputs.append(self._consumer_op11) - self._consumer_op12 = Input( - make_time_chunk_for_each._spec().input_pin(1004), 1004, op, 1 - ) - self._inputs.append(self._consumer_op12) - - @property - def target_time_freq_values(self): - """Allows to connect target_time_freq_values input to the operator. - - List of time/freq values to potentially split - in chunks. - - Parameters - ---------- - my_target_time_freq_values : float - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.target_time_freq_values.connect(my_target_time_freq_values) - >>> # or - >>> op.inputs.target_time_freq_values(my_target_time_freq_values) - """ - return self._target_time_freq_values - - @property - def operator_to_iterate(self): - """Allows to connect operator_to_iterate input to the operator. - - Operator that must be reconnected with the - range values. - - Parameters - ---------- - my_operator_to_iterate : Operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.operator_to_iterate.connect(my_operator_to_iterate) - >>> # or - >>> op.inputs.operator_to_iterate(my_operator_to_iterate) - """ - return self._operator_to_iterate - - @property - def pin_index(self): - """Allows to connect pin_index input to the operator. - - Parameters - ---------- - my_pin_index : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.pin_index.connect(my_pin_index) - >>> # or - >>> op.inputs.pin_index(my_pin_index) - """ - return self._pin_index - - @property - def abstract_meshed_region(self): - """Allows to connect abstract_meshed_region input to the operator. - - The number of nodes (for "nodal" results) or - number of elements (for "elemental" - results) is used to compute the - chunk. - - Parameters - ---------- - my_abstract_meshed_region : MeshedRegion - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.abstract_meshed_region.connect(my_abstract_meshed_region) - >>> # or - >>> op.inputs.abstract_meshed_region(my_abstract_meshed_region) - """ - return self._abstract_meshed_region - - @property - def chunk_config(self): - """Allows to connect chunk_config input to the operator. - - A data tree with an int attribute - "max_num_bytes", an int attribute - "dimensionality" (average result size - by entity), a string attribute - "location" ("nodal" or"elemental") is - expected. - - Parameters - ---------- - my_chunk_config : DataTree - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.chunk_config.connect(my_chunk_config) - >>> # or - >>> op.inputs.chunk_config(my_chunk_config) - """ - return self._chunk_config - - @property - def producer_op11(self): - """Allows to connect producer_op11 input to the operator. - - Parameters - ---------- - my_producer_op11 : Operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.producer_op11.connect(my_producer_op11) - >>> # or - >>> op.inputs.producer_op11(my_producer_op11) - """ - return self._producer_op11 - - @property - def producer_op12(self): - """Allows to connect producer_op12 input to the operator. - - Parameters - ---------- - my_producer_op12 : Operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.producer_op12.connect(my_producer_op12) - >>> # or - >>> op.inputs.producer_op12(my_producer_op12) - """ - return self._producer_op12 - - @property - def output_pin_of_producer_op11(self): - """Allows to connect output_pin_of_producer_op11 input to the operator. - - Parameters - ---------- - my_output_pin_of_producer_op11 : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.output_pin_of_producer_op11.connect(my_output_pin_of_producer_op11) - >>> # or - >>> op.inputs.output_pin_of_producer_op11(my_output_pin_of_producer_op11) - """ - return self._output_pin_of_producer_op11 - - @property - def output_pin_of_producer_op12(self): - """Allows to connect output_pin_of_producer_op12 input to the operator. - - Parameters - ---------- - my_output_pin_of_producer_op12 : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.output_pin_of_producer_op12.connect(my_output_pin_of_producer_op12) - >>> # or - >>> op.inputs.output_pin_of_producer_op12(my_output_pin_of_producer_op12) - """ - return self._output_pin_of_producer_op12 - - @property - def input_pin_of_consumer_op11(self): - """Allows to connect input_pin_of_consumer_op11 input to the operator. - - Parameters - ---------- - my_input_pin_of_consumer_op11 : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.input_pin_of_consumer_op11.connect(my_input_pin_of_consumer_op11) - >>> # or - >>> op.inputs.input_pin_of_consumer_op11(my_input_pin_of_consumer_op11) - """ - return self._input_pin_of_consumer_op11 - - @property - def input_pin_of_consumer_op12(self): - """Allows to connect input_pin_of_consumer_op12 input to the operator. - - Parameters - ---------- - my_input_pin_of_consumer_op12 : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.input_pin_of_consumer_op12.connect(my_input_pin_of_consumer_op12) - >>> # or - >>> op.inputs.input_pin_of_consumer_op12(my_input_pin_of_consumer_op12) - """ - return self._input_pin_of_consumer_op12 - - @property - def consumer_op11(self): - """Allows to connect consumer_op11 input to the operator. - - Parameters - ---------- - my_consumer_op11 : Operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.consumer_op11.connect(my_consumer_op11) - >>> # or - >>> op.inputs.consumer_op11(my_consumer_op11) - """ - return self._consumer_op11 - - @property - def consumer_op12(self): - """Allows to connect consumer_op12 input to the operator. - - Parameters - ---------- - my_consumer_op12 : Operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> op.inputs.consumer_op12.connect(my_consumer_op12) - >>> # or - >>> op.inputs.consumer_op12(my_consumer_op12) - """ - return self._consumer_op12 - - -class OutputsMakeTimeChunkForEach(_Outputs): - """Intermediate class used to get outputs from - make_time_chunk_for_each operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> # Connect inputs : op.inputs. ... - >>> result_chunks = op.outputs.chunks() - """ - - def __init__(self, op: Operator): - super().__init__(make_time_chunk_for_each._spec().outputs, op) - self._chunks = Output(make_time_chunk_for_each._spec().output_pin(0), 0, op) - self._outputs.append(self._chunks) - - @property - def chunks(self): - """Allows to get chunks output of the operator - - Returns - ---------- - my_chunks : - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_chunk_for_each() - >>> # Connect inputs : op.inputs. ... - >>> result_chunks = op.outputs.chunks() - """ # noqa: E501 - return self._chunks diff --git a/src/ansys/dpf/core/operators/utility/make_time_freq_support_chunk_for_each.py b/src/ansys/dpf/core/operators/utility/make_time_freq_support_chunk_for_each.py deleted file mode 100644 index 3876fbddcbb..00000000000 --- a/src/ansys/dpf/core/operators/utility/make_time_freq_support_chunk_for_each.py +++ /dev/null @@ -1,696 +0,0 @@ -""" -make_time_freq_support_chunk_for_each -===================================== -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class make_time_freq_support_chunk_for_each(Operator): - """Splits a time freq support into chunks depending on evaluated result - properties,mesh or field size and max number of bytes accepted and - calls 'make_for_each_range' to generate a range that can be - consumed by the for_each operator - - Parameters - ---------- - target_time_freq_support : TimeFreqSupport - List of time freq support to potentially - split in chunks. - operator_to_iterate : Operator - Operator that must be reconnected with the - range values. - pin_index : int - abstract_meshed_region : MeshedRegion or Field - When a mesh is provided, the number of nodes - (for "nodal" results) or number of - elements (for "elemental" results) is - used to compute the chunk. when a - field is provided, its scoping size - is used to compute the chunk. - chunk_config : DataTree - A data tree with an int attribute - "max_num_bytes", an int attribute - "dimensionality" (average result size - by entity), a string attribute - "location" ("nodal" or"elemental") is - expected. - producer_op11 : Operator - producer_op12 : Operator - output_pin_of_producer_op11 : int - output_pin_of_producer_op12 : int - input_pin_of_consumer_op11 : int - input_pin_of_consumer_op12 : int - consumer_op11 : Operator - consumer_op12 : Operator - - Returns - ------- - chunks : - To connect to "producer_consumer_for_each" - operator on pin 0 - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - - >>> # Make input connections - >>> my_target_time_freq_support = dpf.TimeFreqSupport() - >>> op.inputs.target_time_freq_support.connect(my_target_time_freq_support) - >>> my_operator_to_iterate = dpf.Operator() - >>> op.inputs.operator_to_iterate.connect(my_operator_to_iterate) - >>> my_pin_index = int() - >>> op.inputs.pin_index.connect(my_pin_index) - >>> my_abstract_meshed_region = dpf.MeshedRegion() - >>> op.inputs.abstract_meshed_region.connect(my_abstract_meshed_region) - >>> my_chunk_config = dpf.DataTree() - >>> op.inputs.chunk_config.connect(my_chunk_config) - >>> my_producer_op11 = dpf.Operator() - >>> op.inputs.producer_op11.connect(my_producer_op11) - >>> my_producer_op12 = dpf.Operator() - >>> op.inputs.producer_op12.connect(my_producer_op12) - >>> my_output_pin_of_producer_op11 = int() - >>> op.inputs.output_pin_of_producer_op11.connect(my_output_pin_of_producer_op11) - >>> my_output_pin_of_producer_op12 = int() - >>> op.inputs.output_pin_of_producer_op12.connect(my_output_pin_of_producer_op12) - >>> my_input_pin_of_consumer_op11 = int() - >>> op.inputs.input_pin_of_consumer_op11.connect(my_input_pin_of_consumer_op11) - >>> my_input_pin_of_consumer_op12 = int() - >>> op.inputs.input_pin_of_consumer_op12.connect(my_input_pin_of_consumer_op12) - >>> my_consumer_op11 = dpf.Operator() - >>> op.inputs.consumer_op11.connect(my_consumer_op11) - >>> my_consumer_op12 = dpf.Operator() - >>> op.inputs.consumer_op12.connect(my_consumer_op12) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each( - ... target_time_freq_support=my_target_time_freq_support, - ... operator_to_iterate=my_operator_to_iterate, - ... pin_index=my_pin_index, - ... abstract_meshed_region=my_abstract_meshed_region, - ... chunk_config=my_chunk_config, - ... producer_op11=my_producer_op11, - ... producer_op12=my_producer_op12, - ... output_pin_of_producer_op11=my_output_pin_of_producer_op11, - ... output_pin_of_producer_op12=my_output_pin_of_producer_op12, - ... input_pin_of_consumer_op11=my_input_pin_of_consumer_op11, - ... input_pin_of_consumer_op12=my_input_pin_of_consumer_op12, - ... consumer_op11=my_consumer_op11, - ... consumer_op12=my_consumer_op12, - ... ) - - >>> # Get output data - >>> result_chunks = op.outputs.chunks() - """ - - def __init__( - self, - target_time_freq_support=None, - operator_to_iterate=None, - pin_index=None, - abstract_meshed_region=None, - chunk_config=None, - producer_op11=None, - producer_op12=None, - output_pin_of_producer_op11=None, - output_pin_of_producer_op12=None, - input_pin_of_consumer_op11=None, - input_pin_of_consumer_op12=None, - consumer_op11=None, - consumer_op12=None, - config=None, - server=None, - ): - super().__init__( - name="mechanical::make_time_freq_support_chunk_for_each", - config=config, - server=server, - ) - self._inputs = InputsMakeTimeFreqSupportChunkForEach(self) - self._outputs = OutputsMakeTimeFreqSupportChunkForEach(self) - if target_time_freq_support is not None: - self.inputs.target_time_freq_support.connect(target_time_freq_support) - if operator_to_iterate is not None: - self.inputs.operator_to_iterate.connect(operator_to_iterate) - if pin_index is not None: - self.inputs.pin_index.connect(pin_index) - if abstract_meshed_region is not None: - self.inputs.abstract_meshed_region.connect(abstract_meshed_region) - if chunk_config is not None: - self.inputs.chunk_config.connect(chunk_config) - if producer_op11 is not None: - self.inputs.producer_op11.connect(producer_op11) - if producer_op12 is not None: - self.inputs.producer_op12.connect(producer_op12) - if output_pin_of_producer_op11 is not None: - self.inputs.output_pin_of_producer_op11.connect(output_pin_of_producer_op11) - if output_pin_of_producer_op12 is not None: - self.inputs.output_pin_of_producer_op12.connect(output_pin_of_producer_op12) - if input_pin_of_consumer_op11 is not None: - self.inputs.input_pin_of_consumer_op11.connect(input_pin_of_consumer_op11) - if input_pin_of_consumer_op12 is not None: - self.inputs.input_pin_of_consumer_op12.connect(input_pin_of_consumer_op12) - if consumer_op11 is not None: - self.inputs.consumer_op11.connect(consumer_op11) - if consumer_op12 is not None: - self.inputs.consumer_op12.connect(consumer_op12) - - @staticmethod - def _spec(): - description = """Splits a time freq support into chunks depending on evaluated result - properties,mesh or field size and max number of bytes - accepted and calls "make_for_each_range" to generate a - range that can be consumed by the for_each operator""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="target_time_freq_support", - type_names=["time_freq_support"], - optional=False, - document="""List of time freq support to potentially - split in chunks.""", - ), - 1: PinSpecification( - name="operator_to_iterate", - type_names=["operator"], - optional=False, - document="""Operator that must be reconnected with the - range values.""", - ), - 2: PinSpecification( - name="pin_index", - type_names=["int32"], - optional=False, - document="""""", - ), - 7: PinSpecification( - name="abstract_meshed_region", - type_names=["abstract_meshed_region", "field"], - optional=False, - document="""When a mesh is provided, the number of nodes - (for "nodal" results) or number of - elements (for "elemental" results) is - used to compute the chunk. when a - field is provided, its scoping size - is used to compute the chunk.""", - ), - 200: PinSpecification( - name="chunk_config", - type_names=["abstract_data_tree"], - optional=False, - document="""A data tree with an int attribute - "max_num_bytes", an int attribute - "dimensionality" (average result size - by entity), a string attribute - "location" ("nodal" or"elemental") is - expected.""", - ), - 1000: PinSpecification( - name="producer_op1", - type_names=["operator"], - optional=False, - document="""""", - ), - 1001: PinSpecification( - name="producer_op1", - type_names=["operator"], - optional=False, - document="""""", - ), - 1001: PinSpecification( - name="output_pin_of_producer_op1", - type_names=["int32"], - optional=False, - document="""""", - ), - 1002: PinSpecification( - name="output_pin_of_producer_op1", - type_names=["int32"], - optional=False, - document="""""", - ), - 1002: PinSpecification( - name="input_pin_of_consumer_op1", - type_names=["int32"], - optional=False, - document="""""", - ), - 1003: PinSpecification( - name="input_pin_of_consumer_op1", - type_names=["int32"], - optional=False, - document="""""", - ), - 1003: PinSpecification( - name="consumer_op1", - type_names=["operator"], - optional=False, - document="""""", - ), - 1004: PinSpecification( - name="consumer_op1", - type_names=["operator"], - optional=False, - document="""""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="chunks", - optional=False, - document="""To connect to "producer_consumer_for_each" - operator on pin 0""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config( - name="mechanical::make_time_freq_support_chunk_for_each", server=server - ) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsMakeTimeFreqSupportChunkForEach - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsMakeTimeFreqSupportChunkForEach - """ - return super().outputs - - -class InputsMakeTimeFreqSupportChunkForEach(_Inputs): - """Intermediate class used to connect user inputs to - make_time_freq_support_chunk_for_each operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> my_target_time_freq_support = dpf.TimeFreqSupport() - >>> op.inputs.target_time_freq_support.connect(my_target_time_freq_support) - >>> my_operator_to_iterate = dpf.Operator() - >>> op.inputs.operator_to_iterate.connect(my_operator_to_iterate) - >>> my_pin_index = int() - >>> op.inputs.pin_index.connect(my_pin_index) - >>> my_abstract_meshed_region = dpf.MeshedRegion() - >>> op.inputs.abstract_meshed_region.connect(my_abstract_meshed_region) - >>> my_chunk_config = dpf.DataTree() - >>> op.inputs.chunk_config.connect(my_chunk_config) - >>> my_producer_op11 = dpf.Operator() - >>> op.inputs.producer_op11.connect(my_producer_op11) - >>> my_producer_op12 = dpf.Operator() - >>> op.inputs.producer_op12.connect(my_producer_op12) - >>> my_output_pin_of_producer_op11 = int() - >>> op.inputs.output_pin_of_producer_op11.connect(my_output_pin_of_producer_op11) - >>> my_output_pin_of_producer_op12 = int() - >>> op.inputs.output_pin_of_producer_op12.connect(my_output_pin_of_producer_op12) - >>> my_input_pin_of_consumer_op11 = int() - >>> op.inputs.input_pin_of_consumer_op11.connect(my_input_pin_of_consumer_op11) - >>> my_input_pin_of_consumer_op12 = int() - >>> op.inputs.input_pin_of_consumer_op12.connect(my_input_pin_of_consumer_op12) - >>> my_consumer_op11 = dpf.Operator() - >>> op.inputs.consumer_op11.connect(my_consumer_op11) - >>> my_consumer_op12 = dpf.Operator() - >>> op.inputs.consumer_op12.connect(my_consumer_op12) - """ - - def __init__(self, op: Operator): - super().__init__(make_time_freq_support_chunk_for_each._spec().inputs, op) - self._target_time_freq_support = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(0), 0, op, -1 - ) - self._inputs.append(self._target_time_freq_support) - self._operator_to_iterate = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(1), 1, op, -1 - ) - self._inputs.append(self._operator_to_iterate) - self._pin_index = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(2), 2, op, -1 - ) - self._inputs.append(self._pin_index) - self._abstract_meshed_region = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(7), 7, op, -1 - ) - self._inputs.append(self._abstract_meshed_region) - self._chunk_config = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(200), 200, op, -1 - ) - self._inputs.append(self._chunk_config) - self._producer_op11 = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(1000), 1000, op, 0 - ) - self._inputs.append(self._producer_op11) - self._producer_op12 = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(1001), 1001, op, 1 - ) - self._inputs.append(self._producer_op12) - self._output_pin_of_producer_op11 = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(1001), 1001, op, 0 - ) - self._inputs.append(self._output_pin_of_producer_op11) - self._output_pin_of_producer_op12 = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(1002), 1002, op, 1 - ) - self._inputs.append(self._output_pin_of_producer_op12) - self._input_pin_of_consumer_op11 = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(1002), 1002, op, 0 - ) - self._inputs.append(self._input_pin_of_consumer_op11) - self._input_pin_of_consumer_op12 = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(1003), 1003, op, 1 - ) - self._inputs.append(self._input_pin_of_consumer_op12) - self._consumer_op11 = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(1003), 1003, op, 0 - ) - self._inputs.append(self._consumer_op11) - self._consumer_op12 = Input( - make_time_freq_support_chunk_for_each._spec().input_pin(1004), 1004, op, 1 - ) - self._inputs.append(self._consumer_op12) - - @property - def target_time_freq_support(self): - """Allows to connect target_time_freq_support input to the operator. - - List of time freq support to potentially - split in chunks. - - Parameters - ---------- - my_target_time_freq_support : TimeFreqSupport - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.target_time_freq_support.connect(my_target_time_freq_support) - >>> # or - >>> op.inputs.target_time_freq_support(my_target_time_freq_support) - """ - return self._target_time_freq_support - - @property - def operator_to_iterate(self): - """Allows to connect operator_to_iterate input to the operator. - - Operator that must be reconnected with the - range values. - - Parameters - ---------- - my_operator_to_iterate : Operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.operator_to_iterate.connect(my_operator_to_iterate) - >>> # or - >>> op.inputs.operator_to_iterate(my_operator_to_iterate) - """ - return self._operator_to_iterate - - @property - def pin_index(self): - """Allows to connect pin_index input to the operator. - - Parameters - ---------- - my_pin_index : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.pin_index.connect(my_pin_index) - >>> # or - >>> op.inputs.pin_index(my_pin_index) - """ - return self._pin_index - - @property - def abstract_meshed_region(self): - """Allows to connect abstract_meshed_region input to the operator. - - When a mesh is provided, the number of nodes - (for "nodal" results) or number of - elements (for "elemental" results) is - used to compute the chunk. when a - field is provided, its scoping size - is used to compute the chunk. - - Parameters - ---------- - my_abstract_meshed_region : MeshedRegion or Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.abstract_meshed_region.connect(my_abstract_meshed_region) - >>> # or - >>> op.inputs.abstract_meshed_region(my_abstract_meshed_region) - """ - return self._abstract_meshed_region - - @property - def chunk_config(self): - """Allows to connect chunk_config input to the operator. - - A data tree with an int attribute - "max_num_bytes", an int attribute - "dimensionality" (average result size - by entity), a string attribute - "location" ("nodal" or"elemental") is - expected. - - Parameters - ---------- - my_chunk_config : DataTree - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.chunk_config.connect(my_chunk_config) - >>> # or - >>> op.inputs.chunk_config(my_chunk_config) - """ - return self._chunk_config - - @property - def producer_op11(self): - """Allows to connect producer_op11 input to the operator. - - Parameters - ---------- - my_producer_op11 : Operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.producer_op11.connect(my_producer_op11) - >>> # or - >>> op.inputs.producer_op11(my_producer_op11) - """ - return self._producer_op11 - - @property - def producer_op12(self): - """Allows to connect producer_op12 input to the operator. - - Parameters - ---------- - my_producer_op12 : Operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.producer_op12.connect(my_producer_op12) - >>> # or - >>> op.inputs.producer_op12(my_producer_op12) - """ - return self._producer_op12 - - @property - def output_pin_of_producer_op11(self): - """Allows to connect output_pin_of_producer_op11 input to the operator. - - Parameters - ---------- - my_output_pin_of_producer_op11 : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.output_pin_of_producer_op11.connect(my_output_pin_of_producer_op11) - >>> # or - >>> op.inputs.output_pin_of_producer_op11(my_output_pin_of_producer_op11) - """ - return self._output_pin_of_producer_op11 - - @property - def output_pin_of_producer_op12(self): - """Allows to connect output_pin_of_producer_op12 input to the operator. - - Parameters - ---------- - my_output_pin_of_producer_op12 : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.output_pin_of_producer_op12.connect(my_output_pin_of_producer_op12) - >>> # or - >>> op.inputs.output_pin_of_producer_op12(my_output_pin_of_producer_op12) - """ - return self._output_pin_of_producer_op12 - - @property - def input_pin_of_consumer_op11(self): - """Allows to connect input_pin_of_consumer_op11 input to the operator. - - Parameters - ---------- - my_input_pin_of_consumer_op11 : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.input_pin_of_consumer_op11.connect(my_input_pin_of_consumer_op11) - >>> # or - >>> op.inputs.input_pin_of_consumer_op11(my_input_pin_of_consumer_op11) - """ - return self._input_pin_of_consumer_op11 - - @property - def input_pin_of_consumer_op12(self): - """Allows to connect input_pin_of_consumer_op12 input to the operator. - - Parameters - ---------- - my_input_pin_of_consumer_op12 : int - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.input_pin_of_consumer_op12.connect(my_input_pin_of_consumer_op12) - >>> # or - >>> op.inputs.input_pin_of_consumer_op12(my_input_pin_of_consumer_op12) - """ - return self._input_pin_of_consumer_op12 - - @property - def consumer_op11(self): - """Allows to connect consumer_op11 input to the operator. - - Parameters - ---------- - my_consumer_op11 : Operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.consumer_op11.connect(my_consumer_op11) - >>> # or - >>> op.inputs.consumer_op11(my_consumer_op11) - """ - return self._consumer_op11 - - @property - def consumer_op12(self): - """Allows to connect consumer_op12 input to the operator. - - Parameters - ---------- - my_consumer_op12 : Operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> op.inputs.consumer_op12.connect(my_consumer_op12) - >>> # or - >>> op.inputs.consumer_op12(my_consumer_op12) - """ - return self._consumer_op12 - - -class OutputsMakeTimeFreqSupportChunkForEach(_Outputs): - """Intermediate class used to get outputs from - make_time_freq_support_chunk_for_each operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> # Connect inputs : op.inputs. ... - >>> result_chunks = op.outputs.chunks() - """ - - def __init__(self, op: Operator): - super().__init__(make_time_freq_support_chunk_for_each._spec().outputs, op) - self._chunks = Output( - make_time_freq_support_chunk_for_each._spec().output_pin(0), 0, op - ) - self._outputs.append(self._chunks) - - @property - def chunks(self): - """Allows to get chunks output of the operator - - Returns - ---------- - my_chunks : - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.make_time_freq_support_chunk_for_each() - >>> # Connect inputs : op.inputs. ... - >>> result_chunks = op.outputs.chunks() - """ # noqa: E501 - return self._chunks diff --git a/src/ansys/dpf/core/operators/utility/python_script_exec.py b/src/ansys/dpf/core/operators/utility/python_script_exec.py deleted file mode 100644 index 4b7d5c0271e..00000000000 --- a/src/ansys/dpf/core/operators/utility/python_script_exec.py +++ /dev/null @@ -1,133 +0,0 @@ -""" -python_script_exec -================== -""" -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs, _modify_output_spec_with_one_type -from ansys.dpf.core.operators.specification import PinSpecification, Specification - -"""Operators from "utility" category -""" - -class python_script_exec(Operator): - """Execute python input script. - - available inputs: - - python_script (str) - - available outputs: - - output () - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.utility.python_script_exec() - - >>> # Make input connections - >>> my_python_script = str() - >>> op.inputs.python_script.connect(my_python_script) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.utility.python_script_exec(python_script=my_python_script) - - >>> # Get output data - >>> result_output = op.outputs.output()""" - def __init__(self, python_script=None, config=None, server=None): - super().__init__(name="utility::python_script_exec", config = config, server = server) - self._inputs = InputsPythonScriptExec(self) - self._outputs = OutputsPythonScriptExec(self) - if python_script !=None: - self.inputs.python_script.connect(python_script) - - @staticmethod - def _spec(): - spec = Specification(description="""Execute python input script.""", - map_input_pin_spec={ - 0 : PinSpecification(name = "python_script", type_names=["string"], optional=False, document="""Input python script""")}, - map_output_pin_spec={ - 0 : PinSpecification(name = "output", type_names=[], optional=False, document="""The output can be of any supported type""")}) - return spec - - - @staticmethod - def default_config(): - return Operator.default_config(name = "utility::python_script_exec") - - @property - def inputs(self): - """Enables to connect inputs to the operator. - - Returns - -------- - inputs : InputsPythonScriptExec - """ - return super().inputs - - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it. - - Returns - -------- - outputs : OutputsPythonScriptExec - """ - return super().outputs - - -#internal name: utility::python_script_exec -#scripting name: python_script_exec -class InputsPythonScriptExec(_Inputs): - """Intermediate class used to connect user inputs to python_script_exec operator - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> op = dpf.operators.utility.python_script_exec() - >>> my_python_script = str() - >>> op.inputs.python_script.connect(my_python_script) - """ - def __init__(self, op: Operator): - super().__init__(python_script_exec._spec().inputs, op) - self._python_script = Input(python_script_exec._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._python_script) - - @property - def python_script(self): - """Allows to connect python_script input to the operator - - - pindoc: Input python script - - Parameters - ---------- - my_python_script : str, - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> op = dpf.operators.utility.python_script_exec() - >>> op.inputs.python_script.connect(my_python_script) - >>> #or - >>> op.inputs.python_script(my_python_script) - - """ - return self._python_script - -class OutputsPythonScriptExec(_Outputs): - """Intermediate class used to get outputs from python_script_exec operator - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> op = dpf.operators.utility.python_script_exec() - >>> # Connect inputs : op.inputs. ... - """ - def __init__(self, op: Operator): - super().__init__(python_script_exec._spec().outputs, op) - pass - diff --git a/src/ansys/dpf/core/operators/utility/unitary_field.py b/src/ansys/dpf/core/operators/utility/unitary_field.py deleted file mode 100644 index 9e40e480d0b..00000000000 --- a/src/ansys/dpf/core/operators/utility/unitary_field.py +++ /dev/null @@ -1,189 +0,0 @@ -""" -unitary_field -============= -Autogenerated DPF operator classes. -""" - -from warnings import warn -from ansys.dpf.core.dpf_operator import Operator -from ansys.dpf.core.inputs import Input, _Inputs -from ansys.dpf.core.outputs import Output, _Outputs -from ansys.dpf.core.operators.specification import PinSpecification, Specification - - -class unitary_field(Operator): - """Takes a field and returns another field of scalars in the same - location and scoping as the input field. - - Parameters - ---------- - field : Field or FieldsContainer - Field or fields container with only one field - is expected - - Returns - ------- - field : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - - >>> # Instantiate operator - >>> op = dpf.operators.utility.unitary_field() - - >>> # Make input connections - >>> my_field = dpf.Field() - >>> op.inputs.field.connect(my_field) - - >>> # Instantiate operator and connect inputs in one line - >>> op = dpf.operators.utility.unitary_field( - ... field=my_field, - ... ) - - >>> # Get output data - >>> result_field = op.outputs.field() - """ - - def __init__(self, field=None, config=None, server=None): - super().__init__(name="make_unit", config=config, server=server) - self._inputs = InputsUnitaryField(self) - self._outputs = OutputsUnitaryField(self) - if field is not None: - self.inputs.field.connect(field) - - @staticmethod - def _spec(): - description = """Takes a field and returns another field of scalars in the same - location and scoping as the input field.""" - spec = Specification( - description=description, - map_input_pin_spec={ - 0: PinSpecification( - name="field", - type_names=["field", "fields_container"], - optional=False, - document="""Field or fields container with only one field - is expected""", - ), - }, - map_output_pin_spec={ - 0: PinSpecification( - name="field", - type_names=["field"], - optional=False, - document="""""", - ), - }, - ) - return spec - - @staticmethod - def default_config(server=None): - """Returns the default config of the operator. - - This config can then be changed to the user needs and be used to - instantiate the operator. The Configuration allows to customize - how the operation will be processed by the operator. - - Parameters - ---------- - server : server.DPFServer, optional - Server with channel connected to the remote or local instance. When - ``None``, attempts to use the global server. - """ - return Operator.default_config(name="make_unit", server=server) - - @property - def inputs(self): - """Enables to connect inputs to the operator - - Returns - -------- - inputs : InputsUnitaryField - """ - return super().inputs - - @property - def outputs(self): - """Enables to get outputs of the operator by evaluating it - - Returns - -------- - outputs : OutputsUnitaryField - """ - return super().outputs - - -class InputsUnitaryField(_Inputs): - """Intermediate class used to connect user inputs to - unitary_field operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.unitary_field() - >>> my_field = dpf.Field() - >>> op.inputs.field.connect(my_field) - """ - - def __init__(self, op: Operator): - super().__init__(unitary_field._spec().inputs, op) - self._field = Input(unitary_field._spec().input_pin(0), 0, op, -1) - self._inputs.append(self._field) - - @property - def field(self): - """Allows to connect field input to the operator. - - Field or fields container with only one field - is expected - - Parameters - ---------- - my_field : Field or FieldsContainer - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.unitary_field() - >>> op.inputs.field.connect(my_field) - >>> # or - >>> op.inputs.field(my_field) - """ - return self._field - - -class OutputsUnitaryField(_Outputs): - """Intermediate class used to get outputs from - unitary_field operator. - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.unitary_field() - >>> # Connect inputs : op.inputs. ... - >>> result_field = op.outputs.field() - """ - - def __init__(self, op: Operator): - super().__init__(unitary_field._spec().outputs, op) - self._field = Output(unitary_field._spec().output_pin(0), 0, op) - self._outputs.append(self._field) - - @property - def field(self): - """Allows to get field output of the operator - - Returns - ---------- - my_field : Field - - Examples - -------- - >>> from ansys.dpf import core as dpf - >>> op = dpf.operators.utility.unitary_field() - >>> # Connect inputs : op.inputs. ... - >>> result_field = op.outputs.field() - """ # noqa: E501 - return self._field diff --git a/src/ansys/dpf/gatebin/Ans.Dpf.GrpcClient.dll b/src/ansys/dpf/gatebin/Ans.Dpf.GrpcClient.dll index 806b479d27b84e5f43edfc3d8333acd3587ba7db..a6bd910d55eb417127f6a6e9ff2cee7a8a97631e 100644 GIT binary patch delta 988820 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

ir}hJ{j7*uu+N`UP7|GwC5qhc$w7dsCHq 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 z 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

gpg5w`q1V03t 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