compute_total_strain#

Autogenerated DPF operator classes.

class ansys.dpf.core.operators.result.compute_total_strain.compute_total_strain(time_scoping=None, scoping=None, streams_container=None, data_sources=None, extrapolate=None, nonlinear=None, abstract_meshed_region=None, requested_location=None, displacement=None, config=None, server=None)#

Computes the strain from a displacement field. Only SOLID185 (B-Bar, Simplified Enhanced Strain, Enhanced Strain formulations), SOLID186 (Full Integration) & SOLID187 elements are supported. Layered elements are not supported. Thermal strains are not supported. Only one value of material properties are allowed per element for isotropic and orthotropic elasticity. Material nonlinearity is not supported Only linear analysis are supported without On Demand Expansion. All coordinates are global coordinates. Euler Angles need to be included in the database.

Parameters:
  • time_scoping (Scoping or int or float or Field, optional) – Time/freq values (use doubles or field), time/freq set ids (use ints or scoping) or time/freq step ids (use scoping with timefreq_steps location) required in output. to specify time/freq values at specific load steps, put a field (and not a list) in input with a scoping located on “timefreq_steps”. linear time freq intrapolation is performed if the values are not in the result files and the data at the max time or freq is taken when time/freqs are higher than available time/freqs in result files.. will only be used if no displacement input is given (will be applied on displacement operator).

  • scoping (Scoping, optional) – The element scoping on which the result is computed.

  • streams_container (StreamsContainer, optional) – Optional if a mesh or a data_sources have been connected. required if no displacement input have been connected.

  • data_sources (DataSources) – Optional if a mesh or a streams_container have been connected, or if the displacement’s field has a mesh support. required if no displacement input have been connected.

  • extrapolate (int, optional) – Whether to extrapolate the data from the integration points to the nodes.

  • nonlinear (int, optional) – Whether to use nonlinear geometry or nonlinear material (1 = large strain, 2 = hyperelasticity).

  • abstract_meshed_region (MeshedRegion, optional) – The underlying mesh. optional if a data_sources or a streams_container have been connected, or if the displacement’s field has a mesh support.

  • requested_location (str, optional) – Average the elemental nodal result to the requested location.

  • displacement (FieldsContainer or Field, optional) – Field/or fields container containing only the displacement field (nodal). if none specified, read displacements from result file using the data_sources.

Examples

>>> from ansys.dpf import core as dpf
>>> # Instantiate operator
>>> op = dpf.operators.result.compute_total_strain()
>>> # Make input connections
>>> my_time_scoping = dpf.Scoping()
>>> op.inputs.time_scoping.connect(my_time_scoping)
>>> my_scoping = dpf.Scoping()
>>> op.inputs.scoping.connect(my_scoping)
>>> my_streams_container = dpf.StreamsContainer()
>>> op.inputs.streams_container.connect(my_streams_container)
>>> my_data_sources = dpf.DataSources()
>>> op.inputs.data_sources.connect(my_data_sources)
>>> my_extrapolate = int()
>>> op.inputs.extrapolate.connect(my_extrapolate)
>>> my_nonlinear = int()
>>> op.inputs.nonlinear.connect(my_nonlinear)
>>> my_abstract_meshed_region = dpf.MeshedRegion()
>>> op.inputs.abstract_meshed_region.connect(my_abstract_meshed_region)
>>> my_requested_location = str()
>>> op.inputs.requested_location.connect(my_requested_location)
>>> my_displacement = dpf.FieldsContainer()
>>> op.inputs.displacement.connect(my_displacement)
>>> # Instantiate operator and connect inputs in one line
>>> op = dpf.operators.result.compute_total_strain(
...     time_scoping=my_time_scoping,
...     scoping=my_scoping,
...     streams_container=my_streams_container,
...     data_sources=my_data_sources,
...     extrapolate=my_extrapolate,
...     nonlinear=my_nonlinear,
...     abstract_meshed_region=my_abstract_meshed_region,
...     requested_location=my_requested_location,
...     displacement=my_displacement,
... )
>>> # Get output data
>>> result_fields_container = op.outputs.fields_container()
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:

InputsComputeTotalStrain

property outputs#

Enables to get outputs of the operator by evaluating it

Returns:

outputs

Return type:

OutputsComputeTotalStrain

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:

ansys.dpf.core.config.Config

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 is None. :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:

FieldsContainer, Field, MeshedRegion, Scoping

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 is None.

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:

Specification

class ansys.dpf.core.operators.result.compute_total_strain.InputsComputeTotalStrain(op: ansys.dpf.core.dpf_operator.Operator)#

Intermediate class used to connect user inputs to compute_total_strain operator.

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> my_time_scoping = dpf.Scoping()
>>> op.inputs.time_scoping.connect(my_time_scoping)
>>> my_scoping = dpf.Scoping()
>>> op.inputs.scoping.connect(my_scoping)
>>> my_streams_container = dpf.StreamsContainer()
>>> op.inputs.streams_container.connect(my_streams_container)
>>> my_data_sources = dpf.DataSources()
>>> op.inputs.data_sources.connect(my_data_sources)
>>> my_extrapolate = int()
>>> op.inputs.extrapolate.connect(my_extrapolate)
>>> my_nonlinear = int()
>>> op.inputs.nonlinear.connect(my_nonlinear)
>>> my_abstract_meshed_region = dpf.MeshedRegion()
>>> op.inputs.abstract_meshed_region.connect(my_abstract_meshed_region)
>>> my_requested_location = str()
>>> op.inputs.requested_location.connect(my_requested_location)
>>> my_displacement = dpf.FieldsContainer()
>>> op.inputs.displacement.connect(my_displacement)
property time_scoping#

Allows to connect time_scoping input to the operator.

Time/freq values (use doubles or field), time/freq set ids (use ints or scoping) or time/freq step ids (use scoping with timefreq_steps location) required in output. to specify time/freq values at specific load steps, put a field (and not a list) in input with a scoping located on “timefreq_steps”. linear time freq intrapolation is performed if the values are not in the result files and the data at the max time or freq is taken when time/freqs are higher than available time/freqs in result files.. will only be used if no displacement input is given (will be applied on displacement operator).

Parameters:

my_time_scoping (Scoping or int or float or Field) –

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> op.inputs.time_scoping.connect(my_time_scoping)
>>> # or
>>> op.inputs.time_scoping(my_time_scoping)
property scoping#

Allows to connect scoping input to the operator.

The element scoping on which the result is computed.

Parameters:

my_scoping (Scoping) –

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> op.inputs.scoping.connect(my_scoping)
>>> # or
>>> op.inputs.scoping(my_scoping)
property streams_container#

Allows to connect streams_container input to the operator.

Optional if a mesh or a data_sources have been connected. required if no displacement input have been connected.

Parameters:

my_streams_container (StreamsContainer) –

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> op.inputs.streams_container.connect(my_streams_container)
>>> # or
>>> op.inputs.streams_container(my_streams_container)
property data_sources#

Allows to connect data_sources input to the operator.

Optional if a mesh or a streams_container have been connected, or if the displacement’s field has a mesh support. required if no displacement input have been connected.

Parameters:

my_data_sources (DataSources) –

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> op.inputs.data_sources.connect(my_data_sources)
>>> # or
>>> op.inputs.data_sources(my_data_sources)
property extrapolate#

Allows to connect extrapolate input to the operator.

Whether to extrapolate the data from the integration points to the nodes.

Parameters:

my_extrapolate (int) –

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> op.inputs.extrapolate.connect(my_extrapolate)
>>> # or
>>> op.inputs.extrapolate(my_extrapolate)
property nonlinear#

Allows to connect nonlinear input to the operator.

Whether to use nonlinear geometry or nonlinear material (1 = large strain, 2 = hyperelasticity).

Parameters:

my_nonlinear (int) –

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> op.inputs.nonlinear.connect(my_nonlinear)
>>> # or
>>> op.inputs.nonlinear(my_nonlinear)
property abstract_meshed_region#

Allows to connect abstract_meshed_region input to the operator.

The underlying mesh. optional if a data_sources or a streams_container have been connected, or if the displacement’s field has a mesh support.

Parameters:

my_abstract_meshed_region (MeshedRegion) –

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> op.inputs.abstract_meshed_region.connect(my_abstract_meshed_region)
>>> # or
>>> op.inputs.abstract_meshed_region(my_abstract_meshed_region)
property requested_location#

Allows to connect requested_location input to the operator.

Average the elemental nodal result to the requested location.

Parameters:

my_requested_location (str) –

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> op.inputs.requested_location.connect(my_requested_location)
>>> # or
>>> op.inputs.requested_location(my_requested_location)
property displacement#

Allows to connect displacement input to the operator.

Field/or fields container containing only the displacement field (nodal). if none specified, read displacements from result file using the data_sources.

Parameters:

my_displacement (FieldsContainer or Field) –

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> op.inputs.displacement.connect(my_displacement)
>>> # or
>>> op.inputs.displacement(my_displacement)
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.result.compute_total_strain.OutputsComputeTotalStrain(op: ansys.dpf.core.dpf_operator.Operator)#

Intermediate class used to get outputs from compute_total_strain operator.

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> # Connect inputs : op.inputs. ...
>>> result_fields_container = op.outputs.fields_container()
property fields_container#

Allows to get fields_container output of the operator

Returns:

my_fields_container

Return type:

FieldsContainer

Examples

>>> from ansys.dpf import core as dpf
>>> op = dpf.operators.result.compute_total_strain()
>>> # Connect inputs : op.inputs. ...
>>> result_fields_container = op.outputs.fields_container()