Fields container with data to be compressed
diff --git a/src/ansys/dpf/core/operators/compression/quantization.py b/src/ansys/dpf/core/operators/compression/quantization.py
index 8a696aa4529..e20f3fbc529 100644
--- a/src/ansys/dpf/core/operators/compression/quantization.py
+++ b/src/ansys/dpf/core/operators/compression/quantization.py
@@ -16,16 +16,21 @@
class quantization(Operator):
- r"""Applies scaling to precision to all the values from field input, then
- rounding to the unit.
+ r"""Scales a field to a given precision threshold, then rounds all the
+ values to the unit.
Parameters
----------
input_field: Field
- Input field
- threshold: float
- Threshold (precision) desired.
+ Field to quantize.
+ threshold: float or Field
+ Precision threshold desired.
+ Case double : the threshold is applied on all the input field.
+ Case field with one value : the threshold is applied on all the input field.
+ Case field with "numComp" values : each threhsold is applied to the corresponding component of the input field.
+ Case field with the same number of values than the input field : quantization is performed component-wise.
+
Returns
-------
@@ -66,8 +71,8 @@ def __init__(self, input_field=None, threshold=None, config=None, server=None):
@staticmethod
def _spec() -> Specification:
- description = r"""Applies scaling to precision to all the values from field input, then
-rounding to the unit.
+ description = r"""Scales a field to a given precision threshold, then rounds all the
+values to the unit.
"""
spec = Specification(
description=description,
@@ -76,13 +81,18 @@ def _spec() -> Specification:
name="input_field",
type_names=["field"],
optional=False,
- document=r"""Input field""",
+ document=r"""Field to quantize.""",
),
1: PinSpecification(
name="threshold",
- type_names=["double"],
+ type_names=["double", "field"],
optional=False,
- document=r"""Threshold (precision) desired.""",
+ document=r"""Precision threshold desired.
+Case double : the threshold is applied on all the input field.
+Case field with one value : the threshold is applied on all the input field.
+Case field with "numComp" values : each threhsold is applied to the corresponding component of the input field.
+Case field with the same number of values than the input field : quantization is performed component-wise.
+""",
),
},
map_output_pin_spec={
@@ -165,7 +175,7 @@ def __init__(self, op: Operator):
def input_field(self) -> Input:
r"""Allows to connect input_field input to the operator.
- Input field
+ Field to quantize.
Returns
-------
@@ -186,7 +196,12 @@ def input_field(self) -> Input:
def threshold(self) -> Input:
r"""Allows to connect threshold input to the operator.
- Threshold (precision) desired.
+ Precision threshold desired.
+ Case double : the threshold is applied on all the input field.
+ Case field with one value : the threshold is applied on all the input field.
+ Case field with "numComp" values : each threhsold is applied to the corresponding component of the input field.
+ Case field with the same number of values than the input field : quantization is performed component-wise.
+
Returns
-------
diff --git a/src/ansys/dpf/core/operators/compression/quantization_fc.py b/src/ansys/dpf/core/operators/compression/quantization_fc.py
index 8416485d398..db399c19df2 100644
--- a/src/ansys/dpf/core/operators/compression/quantization_fc.py
+++ b/src/ansys/dpf/core/operators/compression/quantization_fc.py
@@ -16,21 +16,25 @@
class quantization_fc(Operator):
- r"""Applies scaling to precision to all the values from fields container
- input, then rounding to the unit.
+ r"""Scales all the fields of a fields container to a given precision
+ threshold, then rounds all the values to the unit.
Parameters
----------
input_fc: FieldsContainer
- Input fields container
+ Fields container to be quantized.
threshold: float or Field or FieldsContainer
- Threshold (precision) desired.
+ Precision threshold desired.
+ Case double : the threshold is applied on all the fields of the input fields container.
+ Case field with one, numComp or input size values : the threshold is used for each field of the input fields container.
+ Case fields container : the corresponding threshold field is found by matching label.
+
Returns
-------
output_fc: FieldsContainer
- Scaled and rounded fields container
+ Quantized fields container.
Examples
--------
@@ -66,8 +70,8 @@ def __init__(self, input_fc=None, threshold=None, config=None, server=None):
@staticmethod
def _spec() -> Specification:
- description = r"""Applies scaling to precision to all the values from fields container
-input, then rounding to the unit.
+ description = r"""Scales all the fields of a fields container to a given precision
+threshold, then rounds all the values to the unit.
"""
spec = Specification(
description=description,
@@ -76,13 +80,17 @@ def _spec() -> Specification:
name="input_fc",
type_names=["fields_container"],
optional=False,
- document=r"""Input fields container""",
+ document=r"""Fields container to be quantized.""",
),
1: PinSpecification(
name="threshold",
type_names=["double", "field", "fields_container"],
optional=False,
- document=r"""Threshold (precision) desired.""",
+ document=r"""Precision threshold desired.
+Case double : the threshold is applied on all the fields of the input fields container.
+Case field with one, numComp or input size values : the threshold is used for each field of the input fields container.
+Case fields container : the corresponding threshold field is found by matching label.
+""",
),
},
map_output_pin_spec={
@@ -90,7 +98,7 @@ def _spec() -> Specification:
name="output_fc",
type_names=["fields_container"],
optional=False,
- document=r"""Scaled and rounded fields container""",
+ document=r"""Quantized fields container.""",
),
},
)
@@ -165,7 +173,7 @@ def __init__(self, op: Operator):
def input_fc(self) -> Input:
r"""Allows to connect input_fc input to the operator.
- Input fields container
+ Fields container to be quantized.
Returns
-------
@@ -186,7 +194,11 @@ def input_fc(self) -> Input:
def threshold(self) -> Input:
r"""Allows to connect threshold input to the operator.
- Threshold (precision) desired.
+ Precision threshold desired.
+ Case double : the threshold is applied on all the fields of the input fields container.
+ Case field with one, numComp or input size values : the threshold is used for each field of the input fields container.
+ Case fields container : the corresponding threshold field is found by matching label.
+
Returns
-------
@@ -225,7 +237,7 @@ def __init__(self, op: Operator):
def output_fc(self) -> Output:
r"""Allows to get output_fc output of the operator
- Scaled and rounded fields container
+ Quantized fields container.
Returns
-------
diff --git a/src/ansys/dpf/core/operators/result/compute_invariant_terms_motion.py b/src/ansys/dpf/core/operators/result/compute_invariant_terms_motion.py
index d699c4d0418..38a8e5b9c47 100644
--- a/src/ansys/dpf/core/operators/result/compute_invariant_terms_motion.py
+++ b/src/ansys/dpf/core/operators/result/compute_invariant_terms_motion.py
@@ -33,6 +33,8 @@ class compute_invariant_terms_motion(Operator):
field_coordinates: Field
coordinates of all nodes
nod:
+ phi_ortho: FieldsContainer, optional
+ Orthonormalizated modes transformation
Returns
-------
@@ -78,6 +80,8 @@ class compute_invariant_terms_motion(Operator):
>>> op.inputs.field_coordinates.connect(my_field_coordinates)
>>> my_nod = dpf.()
>>> op.inputs.nod.connect(my_nod)
+ >>> my_phi_ortho = dpf.FieldsContainer()
+ >>> op.inputs.phi_ortho.connect(my_phi_ortho)
>>> # Instantiate operator and connect inputs in one line
>>> op = dpf.operators.result.compute_invariant_terms_motion(
@@ -87,6 +91,7 @@ class compute_invariant_terms_motion(Operator):
... model_data=my_model_data,
... field_coordinates=my_field_coordinates,
... nod=my_nod,
+ ... phi_ortho=my_phi_ortho,
... )
>>> # Get output data
@@ -117,6 +122,7 @@ def __init__(
model_data=None,
field_coordinates=None,
nod=None,
+ phi_ortho=None,
config=None,
server=None,
):
@@ -137,6 +143,8 @@ def __init__(
self.inputs.field_coordinates.connect(field_coordinates)
if nod is not None:
self.inputs.nod.connect(nod)
+ if phi_ortho is not None:
+ self.inputs.phi_ortho.connect(phi_ortho)
@staticmethod
def _spec() -> Specification:
@@ -182,6 +190,12 @@ def _spec() -> Specification:
optional=False,
document=r"""""",
),
+ 6: PinSpecification(
+ name="phi_ortho",
+ type_names=["fields_container"],
+ optional=True,
+ document=r"""Orthonormalizated modes transformation""",
+ ),
},
map_output_pin_spec={
0: PinSpecification(
@@ -356,6 +370,8 @@ class InputsComputeInvariantTermsMotion(_Inputs):
>>> op.inputs.field_coordinates.connect(my_field_coordinates)
>>> my_nod = dpf.()
>>> op.inputs.nod.connect(my_nod)
+ >>> my_phi_ortho = dpf.FieldsContainer()
+ >>> op.inputs.phi_ortho.connect(my_phi_ortho)
"""
def __init__(self, op: Operator):
@@ -384,6 +400,10 @@ def __init__(self, op: Operator):
compute_invariant_terms_motion._spec().input_pin(5), 5, op, -1
)
self._inputs.append(self._nod)
+ self._phi_ortho = Input(
+ compute_invariant_terms_motion._spec().input_pin(6), 6, op, -1
+ )
+ self._inputs.append(self._phi_ortho)
@property
def rom_matrices(self) -> Input:
@@ -509,6 +529,27 @@ def nod(self) -> Input:
"""
return self._nod
+ @property
+ def phi_ortho(self) -> Input:
+ r"""Allows to connect phi_ortho input to the operator.
+
+ Orthonormalizated modes transformation
+
+ Returns
+ -------
+ input:
+ An Input instance for this pin.
+
+ Examples
+ --------
+ >>> from ansys.dpf import core as dpf
+ >>> op = dpf.operators.result.compute_invariant_terms_motion()
+ >>> op.inputs.phi_ortho.connect(my_phi_ortho)
+ >>> # or
+ >>> op.inputs.phi_ortho(my_phi_ortho)
+ """
+ return self._phi_ortho
+
class OutputsComputeInvariantTermsMotion(_Outputs):
"""Intermediate class used to get outputs from
diff --git a/src/ansys/dpf/core/operators/result/rom_data_provider.py b/src/ansys/dpf/core/operators/result/rom_data_provider.py
index ffcb5a0a5c9..feaec2dea90 100644
--- a/src/ansys/dpf/core/operators/result/rom_data_provider.py
+++ b/src/ansys/dpf/core/operators/result/rom_data_provider.py
@@ -59,6 +59,8 @@ class rom_data_provider(Operator):
ids of master nodes
meshed_region: MeshedRegion
expanded meshed region.
+ phi_ortho: FieldsContainer, optional
+ Orthonormalized mode shape transformation
Examples
--------
@@ -108,6 +110,7 @@ class rom_data_provider(Operator):
>>> result_field_coordinates_and_euler_angles = op.outputs.field_coordinates_and_euler_angles()
>>> result_nod = op.outputs.nod()
>>> result_meshed_region = op.outputs.meshed_region()
+ >>> result_phi_ortho = op.outputs.phi_ortho()
"""
def __init__(
@@ -261,6 +264,12 @@ def _spec() -> Specification:
optional=False,
document=r"""expanded meshed region.""",
),
+ 10: PinSpecification(
+ name="phi_ortho",
+ type_names=["fields_container"],
+ optional=True,
+ document=r"""Orthonormalized mode shape transformation""",
+ ),
},
)
return spec
@@ -550,6 +559,7 @@ class OutputsRomDataProvider(_Outputs):
>>> result_field_coordinates_and_euler_angles = op.outputs.field_coordinates_and_euler_angles()
>>> result_nod = op.outputs.nod()
>>> result_meshed_region = op.outputs.meshed_region()
+ >>> result_phi_ortho = op.outputs.phi_ortho()
"""
def __init__(self, op: Operator):
@@ -576,6 +586,8 @@ def __init__(self, op: Operator):
self._outputs.append(self._nod)
self._meshed_region = Output(rom_data_provider._spec().output_pin(9), 9, op)
self._outputs.append(self._meshed_region)
+ self._phi_ortho = Output(rom_data_provider._spec().output_pin(10), 10, op)
+ self._outputs.append(self._phi_ortho)
@property
def rom_matrices(self) -> Output:
@@ -774,3 +786,23 @@ def meshed_region(self) -> Output:
>>> result_meshed_region = op.outputs.meshed_region()
"""
return self._meshed_region
+
+ @property
+ def phi_ortho(self) -> Output:
+ r"""Allows to get phi_ortho output of the operator
+
+ Orthonormalized mode shape transformation
+
+ Returns
+ -------
+ output:
+ An Output instance for this pin.
+
+ Examples
+ --------
+ >>> from ansys.dpf import core as dpf
+ >>> op = dpf.operators.result.rom_data_provider()
+ >>> # Get the output from op.outputs. ...
+ >>> result_phi_ortho = op.outputs.phi_ortho()
+ """
+ return self._phi_ortho
diff --git a/src/ansys/dpf/gatebin/Ans.Dpf.GrpcClient.dll b/src/ansys/dpf/gatebin/Ans.Dpf.GrpcClient.dll
index 93aba1ba60aed7cf744535946c2ca04b48e665dc..75d3fd0e20e02b0761124ee92a099a2d613b0846 100644
GIT binary patch
delta 326286
zcma&P2UHYE_y0`|!9l4(MHDe1AYwp4R4|KzV$K0{I+%0LIV&RSny#+dHM_dz)>+q_
zb
%)R~9KWEou
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