ansys.dpf.core.Operator ======================= .. py:class:: ansys.dpf.core.Operator(name=None, config=None, server=None, operator=None) Represents an operator, which is an elementary operation. The operator is the only object used to create and transform data. When the operator is evaluated, it processes the input information to compute its output with respect to its description. :param name: Name of the operator. For example, ``"U"``. You can use the ``"html_doc"`` operator to retrieve a list of existing operators. :type name: str :param config: The Configuration allows to customize how the operation will be processed by the operator. The default is ``None``. :type config: Config, optional :param server: Server with the channel connected to the remote or local instance. The default is ``None``, in which case an attempt is made to use the global server. :type server: server.DPFServer, optional .. rubric:: Examples Create an operator from the library of operators. >>> from ansys.dpf import core as dpf >>> disp_oper = dpf.operators.result.displacement() Create an operator from a model. >>> from ansys.dpf.core import Model >>> from ansys.dpf.core import examples >>> model = Model(examples.find_static_rst()) >>> disp_oper = model.results.displacement() .. py:attribute:: name :value: None .. py:attribute:: _internal_obj :value: None .. py:attribute:: _description :value: None .. py:attribute:: _inputs :value: None .. py:attribute:: _id :value: None .. py:attribute:: _server .. py:attribute:: _api_instance :value: None .. py:attribute:: _spec .. py:attribute:: _progress_bar :value: False .. py:property:: _api :type: ansys.dpf.gate.operator_abstract_api.OperatorAbstractAPI .. py:method:: _add_sub_res_operators(sub_results) Dynamically add operators for instantiating subresults. Subresults for new operators are connected to the parent operator's inputs when created but are then completely independent of them. .. rubric:: Examples >>> from ansys.dpf.core import Model >>> from ansys.dpf.core import examples >>> model = Model(examples.find_static_rst()) >>> disp_oper = model.results.displacement() >>> disp_oper = model.results.displacement() >>> disp_x = model.results.displacement().X() >>> disp_y = model.results.displacement().Y() >>> disp_z = model.results.displacement().Z() .. py:property:: _outputs .. py:property:: progress_bar :type: bool Enable or disable progress bar display when requesting the operator's output. With this property, the user can choose to print a progress bar when the operator's output is requested, default is False .. py:method:: connect(pin, inpt, pin_out=0) Connect an input on the operator using a pin number. :param pin: Number of the input pin. :type pin: int :param inpt: :type inpt: str, int, double, bool, list[int], list[float], Field, FieldsContainer, Scoping, :param ScopingsContainer: Operator, os.PathLike Object to connect to. :param MeshedRegion: Operator, os.PathLike Object to connect to. :param MeshesContainer: Operator, os.PathLike Object to connect to. :param DataSources: Operator, os.PathLike Object to connect to. :param CyclicSupport: Operator, os.PathLike Object to connect to. :param dict: Operator, os.PathLike Object to connect to. :param Outputs: Operator, os.PathLike Object to connect to. :param pin_out: If the input is an operator, the output pin of the input operator. The default is ``0``. :type pin_out: int, optional .. rubric:: 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 ]]... .. py:method:: connect_operator_as_input(pin, op) Connect an operator as an input on a pin. :param pin: Number of the output pin. The default is ``0``. :type pin: int :param op: Requested type of the output. The default is ``None``. :type op: :class:`ansys.dpf.core.dpf_operator.Operator` .. py:method:: _getoutput_string(self, pin) :staticmethod: .. py:method:: _connect_string(self, pin, str) :staticmethod: .. py:method:: _getoutput_string_as_bytes(self, pin) :staticmethod: .. py:method:: _getoutput_bytes(self, pin) :staticmethod: .. py:method:: _connect_string_as_bytes(self, pin, str) :staticmethod: .. py:property:: _type_to_output_method .. py:property:: _type_to_input_method .. py:method:: 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`` :param pin: Number of the output pin. The default is ``0``. :type pin: int, optional :param output_type: Requested type of the output. The default is ``None``. :type output_type: :class:`ansys.dpf.core.common.types`, type, optional :returns: Output of the operator. :rtype: type .. py: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. :rtype: :class:`ansys.dpf.core.config.Config` .. rubric:: 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 .. py:property:: id :type: int Retrieve the unique identifier of the operator. This property returns the unique ID associated with the operator. This property is lazily initialized. :returns: The unique identifier of the operator. :rtype: int .. rubric:: Notes Property available with server's version starting at 10.0. .. py:property:: inputs :type: ansys.dpf.core.inputs.Inputs Inputs connected to the operator. :returns: Inputs connected to the operator. :rtype: :class:`ansys.dpf.core.inputs` .. rubric:: Examples Use the displacement operator. >>> 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) .. py:property:: outputs :type: ansys.dpf.core.outputs.Outputs Outputs from the operator's evaluation. :returns: Outputs from the operator's evaluation. :rtype: :class:`ansys.dpf.core.outputs` .. rubric:: Examples Use the displacement operator. >>> 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) >>> disp_fc = disp_op.outputs.fields_container() .. py:method:: default_config(name, server=None) :staticmethod: Retrieve the default configuration for an operator. You can change the copy of the default configuration to meet your needs before instantiating the operator. The Configuration allows to customize how the operation will be processed by the operator. :param name: Name of the operator. For example ``"U"``. You can use the ``"html_doc"`` operator to retrieve a list of existing operators. :type name: str :param server: Server with the channel connected to the remote or local instance. The default is ``None``, in which case an attempt is made to use the global server. :type server: server.DPFServer, optional :returns: Default configuration for the operator. :rtype: class"`ansys.dpf.core.config.Config` .. py:method:: __del__() Delete this instance. .. py:method:: __str__() Describe the entity. :returns: Description of the entity. :rtype: str .. py:method:: run() Evaluate this operator. .. py:method:: eval(pin=None) Evaluate this operator. :param pin: Number of the output pin. The default is ``None``. :type pin: int :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. :rtype: FieldsContainer, Field, MeshedRegion, Scoping .. rubric:: 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() .. py:method:: _find_outputs_corresponding_pins(type_names, inpt, pin, corresponding_pins) .. py:method:: __add__(fields_b) Add two fields or two fields containers. :returns: **add** :rtype: operators.math.add_fc .. py:method:: __sub__(fields_b) Subtract two fields or two fields containers. :returns: **minus** :rtype: operators.math.minus_fc .. py:method:: __pow__(value) Raise each element of a field or a fields container to power 2. .. py:method:: __mul__(value) Multiply two fields or two fields containers. :returns: **mul** :rtype: operators.math.generalized_inner_product_fc .. py:method:: operator_specification(op_name, server=None) :staticmethod: Documents an Operator with its description (what the Operator does),its inputs and outputs and some properties. .. py:property:: specification Returns the Specification (or documentation) of this Operator. :rtype: Specification .. py:property:: changelog :type: ansys.dpf.core.changelog.Changelog Return the changelog of this operator. Requires DPF 11.0 (2026 R1) or above. :returns: Changelog of the operator. :rtype: changelog .. py:property:: version :type: packaging.version.Version Return the current version of the operator. Requires DPF 11.0 (2026 R1) or above. .. py:method:: __truediv__(inpt) Perform division with another operator or a scalar. This method allows the use of the division operator (`/`) between an `Operator` instance and either another `Operator` or a scalar value (float).