stress
#
- class ansys.dpf.core.operators.result.stress.stress(time_scoping=None, mesh_scoping=None, fields_container=None, streams_container=None, data_sources=None, bool_rotate_to_global=None, mesh=None, requested_location=None, read_cyclic=None, expanded_meshed_region=None, sectors_to_expand=None, phi=None, read_beams=None, split_shells=None, shell_layer=None, config=None, server=None)#
Bases:
ansys.dpf.core.dpf_operator.Operator
Read/compute element nodal component stresses by calling the readers defined by the datasources. Regarding the requested location and the input mesh scoping, the result location can be Nodal/ElementalNodal/Elemental.
- 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.
mesh_scoping (ScopingsContainer or Scoping, optional) – nodes or elements scoping required in output. The output fields will be scoped on these node or element IDs. To figure out the ordering of the fields data, look at their scoping IDs as they might not be ordered as the input scoping was. The scoping’s location indicates whether nodes or elements are asked for. Using scopings container allows you to split the result fields container into domains
fields_container (FieldsContainer, optional) – Fields container already allocated modified inplace
streams_container (StreamsContainer, optional) – result file container allowed to be kept open to cache data
data_sources (DataSources) – result file path container, used if no streams are set
bool_rotate_to_global (bool, optional) – if true the field is rotated to global coordinate system (default true). Please check your results carefully if ‘false’ is used for Elemental or ElementalNodal results averaged to the Nodes when adjacent elements do not share the same coordinate system, as results may be incorrect.
mesh (MeshedRegion or MeshesContainer, optional) – mesh. If cylic expansion is to be done, mesh of the base sector
requested_location (str, optional) – requested location Nodal, Elemental or ElementalNodal
read_cyclic (int, optional) – if 0 cyclic symmetry is ignored, if 1 cyclic sector is read, if 2 cyclic expansion is done, if 3 cyclic expansion is done and stages are merged (default is 1)
expanded_meshed_region (MeshedRegion or MeshesContainer, optional) – mesh expanded, use if cyclic expansion is to be done.
sectors_to_expand (Scoping or ScopingsContainer, optional) – sectors to expand (start at 0), for multistage: use scopings container with ‘stage’ label, use if cyclic expansion is to be done.
phi (float, optional) – angle phi in degrees (default value 0.0), use if cyclic expansion is to be done.
read_beams (bool, optional) – elemental nodal beam results are read if this pin is set to true (default is false)
split_shells (bool, optional) – This pin forces elemental nodal shell and solid results to be split if this pin is set to true. If set to false (default), a specific shell layer is still needed to merge the fields. Merge is possible only if a shell layer is provided.
shell_layer (int, optional) – If the requested_location pin is not connected, and if split_shells pin is set to true, we choose one of the shell layer for shell element. If split_shells pin is set to false (default value) and a specific shell layer is provided, results will be merged on this specific shell layer.
- Returns:
fields_container
- Return type:
Examples
>>> from ansys.dpf import core as dpf
>>> # Instantiate operator >>> op = dpf.operators.result.stress()
>>> # Make input connections >>> my_time_scoping = dpf.Scoping() >>> op.inputs.time_scoping.connect(my_time_scoping) >>> my_mesh_scoping = dpf.ScopingsContainer() >>> op.inputs.mesh_scoping.connect(my_mesh_scoping) >>> my_fields_container = dpf.FieldsContainer() >>> op.inputs.fields_container.connect(my_fields_container) >>> 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_bool_rotate_to_global = bool() >>> op.inputs.bool_rotate_to_global.connect(my_bool_rotate_to_global) >>> my_mesh = dpf.MeshedRegion() >>> op.inputs.mesh.connect(my_mesh) >>> my_requested_location = str() >>> op.inputs.requested_location.connect(my_requested_location) >>> my_read_cyclic = int() >>> op.inputs.read_cyclic.connect(my_read_cyclic) >>> my_expanded_meshed_region = dpf.MeshedRegion() >>> op.inputs.expanded_meshed_region.connect(my_expanded_meshed_region) >>> my_sectors_to_expand = dpf.Scoping() >>> op.inputs.sectors_to_expand.connect(my_sectors_to_expand) >>> my_phi = float() >>> op.inputs.phi.connect(my_phi) >>> my_read_beams = bool() >>> op.inputs.read_beams.connect(my_read_beams) >>> my_split_shells = bool() >>> op.inputs.split_shells.connect(my_split_shells) >>> my_shell_layer = int() >>> op.inputs.shell_layer.connect(my_shell_layer)
>>> # Instantiate operator and connect inputs in one line >>> op = dpf.operators.result.stress( ... time_scoping=my_time_scoping, ... mesh_scoping=my_mesh_scoping, ... fields_container=my_fields_container, ... streams_container=my_streams_container, ... data_sources=my_data_sources, ... bool_rotate_to_global=my_bool_rotate_to_global, ... mesh=my_mesh, ... requested_location=my_requested_location, ... read_cyclic=my_read_cyclic, ... expanded_meshed_region=my_expanded_meshed_region, ... sectors_to_expand=my_sectors_to_expand, ... phi=my_phi, ... read_beams=my_read_beams, ... split_shells=my_split_shells, ... shell_layer=my_shell_layer, ... )
>>> # Get output data >>> result_fields_container = op.outputs.fields_container()
Overview#
Connect an input on the operator using a pin number. |
|
Connect an operator as an input on a pin. |
|
Retrieve the output of the operator on the pin number. |
|
Evaluate this operator. |
|
Evaluate this operator. |
Enables to connect inputs to the operator |
|
Enables to get outputs of the operator by evaluating it |
|
Enable or disable progress bar display when requesting the operator’s output. |
|
Copy of the operator’s current configuration. |
|
Retrieve the unique identifier of the operator. |
|
Returns the Specification (or documentation) of this Operator. |
Returns the default config of the operator. |
|
Documents an Operator with its description (what the Operator does),its inputs and outputs and some properties. |
Delete this instance. |
|
Describe the entity. |
|
Add two fields or two fields containers. |
|
Subtract two fields or two fields containers. |
|
Raise each element of a field or a fields container to power 2. |
|
Multiply two fields or two fields containers. |
|
Perform division with another operator or a scalar. |
Import detail#
from ansys.dpf.core.operators.result.stress import stress
Property detail#
- property stress.inputs: InputsStress#
Enables to connect inputs to the operator
- Returns:
An instance of InputsStress.
- Return type:
inputs
- property stress.outputs: OutputsStress#
Enables to get outputs of the operator by evaluating it
- Returns:
An instance of OutputsStress.
- Return type:
outputs
- property stress.progress_bar: 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
- property stress.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
- property stress.id: 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.
- Return type:
int
Notes
Property available with server’s version starting at 10.0.
- property stress.specification#
Returns the Specification (or documentation) of this Operator.
- Return type:
Attribute detail#
- stress.name = None#
Method detail#
- static stress.default_config(server: ansys.dpf.core.server_types.AnyServerType = None) ansys.dpf.core.config.Config #
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 with channel connected to the remote or local instance. When
None
, attempts to use the global server.- Returns:
A new Config instance equivalent to the default config for this operator.
- Return type:
config
- stress.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 ]]...
- stress.connect_operator_as_input(pin, op)#
Connect an operator as an input on a pin.
- Parameters:
pin (int) – Number of the output pin. The default is
0
.op (
ansys.dpf.core.dpf_operator.Operator
) – Requested type of the output. The default isNone
.
- stress.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
- stress.__del__()#
Delete this instance.
- stress.__str__()#
Describe the entity.
- Returns:
Description of the entity.
- Return type:
str
- stress.run()#
Evaluate this operator.
- stress.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()
- stress.__add__(fields_b)#
Add two fields or two fields containers.
- Returns:
add
- Return type:
operators.math.add_fc
- stress.__sub__(fields_b)#
Subtract two fields or two fields containers.
- Returns:
minus
- Return type:
operators.math.minus_fc
- stress.__pow__(value)#
Raise each element of a field or a fields container to power 2.
- stress.__mul__(value)#
Multiply two fields or two fields containers.
- Returns:
mul
- Return type:
operators.math.generalized_inner_product_fc
- static stress.operator_specification(op_name, server=None)#
Documents an Operator with its description (what the Operator does),its inputs and outputs and some properties.
- stress.__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).