compute_residual_and_error#
Autogenerated DPF operator classes.
- class ansys.dpf.core.operators.math.compute_residual_and_error.compute_residual_and_error(field_or_fields_container1=None, normalization_type=None, norm_calculation_type=None, field_reference=None, field_or_fields_container2=None, config=None, server=None)#
Computes the Lp-norm of a field or a field container. When a second entry is provided, the residual (the difference between the first and second entry) is calculated along with the error as the Lp-norm of the difference. When a second input is not provided, the calculation is only completed for the first entry. The type of calculation performed is based on the specifications provided for pin 1, pin 2 defines the type of error norm (L1 vs L2), and pin 3 which entity to use as a reference
- Parameters:
field_or_fields_container1 (Field or FieldsContainer) – Field or fields container - compulsory
normalization_type (int, optional) – Type of normalization applied to the residuals and norm calculation (optional, defaut: absolute): 0 for absolute, 1 for relative to the first entry at a given time step, 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
norm_calculation_type (int, optional) – Type for norm calculation (optional, default: l2) - it is normalized depending on pin2 selection 1 for l1, ie sum(abs(xi)), 2 for l2, ie sqrt(sum((xi^2))
field_reference (int, optional) – Field reference for the normalization step, default: 0 for entry 1, 1 for residuals - optional
field_or_fields_container2 (Field or FieldsContainer, optional) – Field or fields container of same dimensionality as entry 1 - optional
- Returns:
residuals (Field or FieldsContainer) – 0: normalized residuals (aka field 1 - field 2) as a field or field container, normalized depending on the normalization type
error (Field or FieldsContainer) – 1: error as a field or a field container depending on the entry’s type.
residuals_normalization_factor (Field or FieldsContainer) – 2: factor used for residual normalization
error_normalization_factor (Field or FieldsContainer) – 3: factor used for error norm normalization
Examples
>>> from ansys.dpf import core as dpf
>>> # Instantiate operator >>> op = dpf.operators.math.compute_residual_and_error()
>>> # Make input connections >>> my_field_or_fields_container1 = dpf.Field() >>> op.inputs.field_or_fields_container1.connect(my_field_or_fields_container1) >>> my_normalization_type = int() >>> op.inputs.normalization_type.connect(my_normalization_type) >>> my_norm_calculation_type = int() >>> op.inputs.norm_calculation_type.connect(my_norm_calculation_type) >>> my_field_reference = int() >>> op.inputs.field_reference.connect(my_field_reference) >>> my_field_or_fields_container2 = dpf.Field() >>> op.inputs.field_or_fields_container2.connect(my_field_or_fields_container2)
>>> # Instantiate operator and connect inputs in one line >>> op = dpf.operators.math.compute_residual_and_error( ... field_or_fields_container1=my_field_or_fields_container1, ... normalization_type=my_normalization_type, ... norm_calculation_type=my_norm_calculation_type, ... field_reference=my_field_reference, ... field_or_fields_container2=my_field_or_fields_container2, ... )
>>> # Get output data >>> result_residuals = op.outputs.residuals() >>> result_error = op.outputs.error() >>> result_residuals_normalization_factor = op.outputs.residuals_normalization_factor() >>> result_error_normalization_factor = op.outputs.error_normalization_factor()
- static 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.
- property inputs#
Enables to connect inputs to the operator
- Returns:
inputs
- Return type:
- property outputs#
Enables to get outputs of the operator by evaluating it
- Returns:
outputs
- Return type:
- property config#
Copy of the operator’s current configuration.
You can modify the copy of the configuration and then use
operator.config = new_config
or instantiate an operator with the new configuration as a parameter.For information on an operator’s options, see the documentation for that operator.
- Returns:
Copy of the operator’s current configuration.
- Return type:
Examples
Modify the copy of an operator’s configuration and set it as current config of the operator.
>>> from ansys.dpf import core as dpf >>> op = dpf.operators.math.add() >>> config_add = op.config >>> config_add.set_work_by_index_option(True) >>> op.config = config_add
- connect(pin, inpt, pin_out=0)#
Connect an input on the operator using a pin number.
- Parameters:
pin (int) – Number of the input pin.
inpt (str, int, double, bool, list[int], list[float], Field, FieldsContainer, Scoping,) –
ScopingsContainer – Operator, os.PathLike Object to connect to.
MeshedRegion – Operator, os.PathLike Object to connect to.
MeshesContainer – Operator, os.PathLike Object to connect to.
DataSources – Operator, os.PathLike Object to connect to.
CyclicSupport – Operator, os.PathLike Object to connect to.
dict – Operator, os.PathLike Object to connect to.
Outputs – Operator, os.PathLike Object to connect to.
pin_out (int, optional) – If the input is an operator, the output pin of the input operator. The default is
0
.
Examples
Compute the minimum of displacement by chaining the
"U"
and"min_max_fc"
operators.>>> from ansys.dpf import core as dpf >>> from ansys.dpf.core import examples >>> data_src = dpf.DataSources(examples.find_multishells_rst()) >>> disp_op = dpf.operators.result.displacement() >>> disp_op.inputs.data_sources(data_src) >>> max_fc_op = dpf.operators.min_max.min_max_fc() >>> max_fc_op.inputs.connect(disp_op.outputs) >>> max_field = max_fc_op.outputs.field_max() >>> max_field.data DPFArray([[0.59428386, 0.00201751, 0.0006032 ]]...
- connect_operator_as_input(pin, op)#
Connects an operator as an input on a pin. :type pin: :param pin: Number of the output pin. The default is
0
. :type pin: int :type op: :param op: Requested type of the output. The default isNone
. :type op:ansys.dpf.core.dpf_operator.Operator
- eval(pin=None)#
Evaluate this operator.
- Parameters:
pin (int) – Number of the output pin. The default is
None
.- Returns:
output – Returns the first output of the operator by default and the output of a given pin when specified. Or, it only evaluates the operator without output.
- Return type:
Examples
Use the
eval
method.>>> from ansys.dpf import core as dpf >>> import ansys.dpf.core.operators.math as math >>> from ansys.dpf.core import examples >>> data_src = dpf.DataSources(examples.find_multishells_rst()) >>> disp_op = dpf.operators.result.displacement() >>> disp_op.inputs.data_sources(data_src) >>> normfc = math.norm_fc(disp_op).eval()
- get_output(pin=0, output_type=None)#
Retrieve the output of the operator on the pin number.
To activate the progress bar for server version higher or equal to 3.0, use
my_op.progress_bar=True
- Parameters:
pin (int, optional) – Number of the output pin. The default is
0
.output_type (
ansys.dpf.core.common.types
, type, optional) – Requested type of the output. The default isNone
.
- Returns:
Output of the operator.
- Return type:
type
- static operator_specification(op_name, server=None)#
Documents an Operator with its description (what the Operator does), its inputs and outputs and some properties
- property progress_bar: bool#
With this property, the user can choose to print a progress bar when the operator’s output is requested, default is False
- run()#
Evaluate this operator.
- property specification#
Returns the Specification (or documentation) of this Operator
- Return type:
- class ansys.dpf.core.operators.math.compute_residual_and_error.InputsComputeResidualAndError(op: ansys.dpf.core.dpf_operator.Operator)#
Intermediate class used to connect user inputs to compute_residual_and_error operator.
Examples
>>> from ansys.dpf import core as dpf >>> op = dpf.operators.math.compute_residual_and_error() >>> my_field_or_fields_container1 = dpf.Field() >>> op.inputs.field_or_fields_container1.connect(my_field_or_fields_container1) >>> my_normalization_type = int() >>> op.inputs.normalization_type.connect(my_normalization_type) >>> my_norm_calculation_type = int() >>> op.inputs.norm_calculation_type.connect(my_norm_calculation_type) >>> my_field_reference = int() >>> op.inputs.field_reference.connect(my_field_reference) >>> my_field_or_fields_container2 = dpf.Field() >>> op.inputs.field_or_fields_container2.connect(my_field_or_fields_container2)
- property field_or_fields_container1#
Allows to connect field_or_fields_container1 input to the operator.
Field or fields container - compulsory
- Parameters:
my_field_or_fields_container1 (Field or FieldsContainer) –
Examples
>>> from ansys.dpf import core as dpf >>> op = dpf.operators.math.compute_residual_and_error() >>> op.inputs.field_or_fields_container1.connect(my_field_or_fields_container1) >>> # or >>> op.inputs.field_or_fields_container1(my_field_or_fields_container1)
- property normalization_type#
Allows to connect normalization_type input to the operator.
Type of normalization applied to the residuals and norm calculation (optional, defaut: absolute): 0 for absolute, 1 for relative to the first entry at a given time step, 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
- Parameters:
my_normalization_type (int) –
Examples
>>> from ansys.dpf import core as dpf >>> op = dpf.operators.math.compute_residual_and_error() >>> op.inputs.normalization_type.connect(my_normalization_type) >>> # or >>> op.inputs.normalization_type(my_normalization_type)
- property norm_calculation_type#
Allows to connect norm_calculation_type input to the operator.
Type for norm calculation (optional, default: l2) - it is normalized depending on pin2 selection 1 for l1, ie sum(abs(xi)), 2 for l2, ie sqrt(sum((xi^2))
- Parameters:
my_norm_calculation_type (int) –
Examples
>>> from ansys.dpf import core as dpf >>> op = dpf.operators.math.compute_residual_and_error() >>> op.inputs.norm_calculation_type.connect(my_norm_calculation_type) >>> # or >>> op.inputs.norm_calculation_type(my_norm_calculation_type)
- property field_reference#
Allows to connect field_reference input to the operator.
Field reference for the normalization step, default: 0 for entry 1, 1 for residuals - optional
- Parameters:
my_field_reference (int) –
Examples
>>> from ansys.dpf import core as dpf >>> op = dpf.operators.math.compute_residual_and_error() >>> op.inputs.field_reference.connect(my_field_reference) >>> # or >>> op.inputs.field_reference(my_field_reference)
- property field_or_fields_container2#
Allows to connect field_or_fields_container2 input to the operator.
Field or fields container of same dimensionality as entry 1 - optional
- Parameters:
my_field_or_fields_container2 (Field or FieldsContainer) –
Examples
>>> from ansys.dpf import core as dpf >>> op = dpf.operators.math.compute_residual_and_error() >>> op.inputs.field_or_fields_container2.connect(my_field_or_fields_container2) >>> # or >>> op.inputs.field_or_fields_container2(my_field_or_fields_container2)
- connect(inpt)#
Connect any input (an entity or an operator output) to any input pin of this operator. Searches for the input type corresponding to the output.
- Parameters:
inpt (str, int, double, bool, list[int], list[float], Field, FieldsContainer, Scoping,) –
ScopingsContainer (E501) – Input of the operator.
MeshedRegion (E501) – Input of the operator.
MeshesContainer (E501) – Input of the operator.
DataSources (E501) – Input of the operator.
CyclicSupport (E501) – Input of the operator.
Outputs (E501) – Input of the operator.
noqa (os.PathLike #) – Input of the operator.
- class ansys.dpf.core.operators.math.compute_residual_and_error.OutputsComputeResidualAndError(op: ansys.dpf.core.dpf_operator.Operator)#
Intermediate class used to get outputs from compute_residual_and_error operator.
Examples
>>> from ansys.dpf import core as dpf >>> op = dpf.operators.math.compute_residual_and_error() >>> # Connect inputs : op.inputs. ... >>> result_residuals = op.outputs.residuals() >>> result_error = op.outputs.error() >>> result_residuals_normalization_factor = op.outputs.residuals_normalization_factor() >>> result_error_normalization_factor = op.outputs.error_normalization_factor()