diff --git a/doc/source/_static/dpf_operators.html b/doc/source/_static/dpf_operators.html index 9b8fb9afa30..05bb6f293fd 100644 --- a/doc/source/_static/dpf_operators.html +++ b/doc/source/_static/dpf_operators.html @@ -6182,11 +6182,24 @@
region id (integer) or vector of region ids (vector) or region scoping (scoping) of the model (region corresponds to zone for Fluid results or part for LSDyna results). |
(for Fluid results only) LabelSpace with combination of zone, phases or species ids |
Reads element types data from the result files contained in the streams or data sources.
-Element Type ids to recover used by the solver. If not set, all available element types to be recovered. +
Version 0.1.0 Supported file typesInputs
Outputs
ConfigurationsScriptingChangelogutility: delegate to operatorDelegate the run to an Operator instantiated by the name in input (forwards all the input of this Operator to the sub Operator). + |
Get the output as a GenericDataContainer (pin value 1, default) or as a PropertyField (pin value 2). + |
Delegate the run to an Operator instantiated by the name in input (forwards all the input of this Operator to the sub Operator).
inputs |
Read/compute nodal accelerations Y component of the vector (2nd component) by calling the readers defined by the datasources.
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. To get all data for all time/freq sets, connect an int with value -1. @@ -10911,26 +10924,7 @@Configurating operators |
If connected, this pin allows you to extract the result only on the selected shell layer(s). The available values are: 0: Top, 1: Bottom, 2: TopBottom, 3: Mid, 4: TopBottomMid. |
Compute mid nodes (when available) by averaging the neighbour corner nodes. Default: True |
If this pin is set to true, the output fields container splits the ENF by degree of freedom ("dof" label, 0 for translation, 1 for rotation, 2 for temperature) and derivative order ("derivative_order" label, 0 for stiffness terms, 1 for damping terms and 2 for inertial terms). Default is false. - |
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. -Get the ZZ normal component (22 component).
-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. To get all data for all time/freq sets, connect an int with value -1.. Will only be used if no displacement input is given (will be applied on displacement operator). - |
The element scoping on which the result is computed. - |
Optional if a mesh or a data_sources have been connected. Required if no displacement input have been connected. - |
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. - |
Whether to extrapolate the data from the integration points to the nodes. - |
Whether to use nonlinear geometry or nonlinear material (1 = large strain, 2 = hyperelasticity). - |
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. - |
Average the Elemental Nodal result to the requested location. - |
Field/or fields container containing only the displacement field (nodal). If none specified, read displacements from result file using the data_sources. - |
The computed result fields container (elemental nodal). - |
Read/compute element structural nodal temperatures by calling the readers defined by the datasources.
+Read/compute element structural nodal temperatures by calling the readers defined by the datasources.
If connected, this pin allows you to extract the result only on the selected shell layer(s). The available values are: 0: Top, 1: Bottom, 2: TopBottom, 3: Mid, 4: TopBottomMid. |
Compute mid nodes (when available) by averaging the neighbour corner nodes. Default: True |
Reads the result information, such as available results or unit systems from the results files contained in the streams or data sources.
-streams (result file container) (optional) +Version 0.0.0 Supported file typesInputs
OutputsConfigurationsScriptingChangelogfilter: band pass (timescoping)The band pass filter returns all the values above (but not equal to) the minimum threshold value and below (but not equal to) the maximum threshold value in input. Version 0.0.0 Inputs
Outputs
ConfigurationsScriptingChangelogresult: compute total strain XYComputes the strain from a displacement field. + |
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. +Get the ZZ normal component (22 component).
+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. To get all data for all time/freq sets, connect an int with value -1.. Will only be used if no displacement input is given (will be applied on displacement operator). + |
The element scoping on which the result is computed. + |
Optional if a mesh or a data_sources have been connected. Required if no displacement input have been connected. + |
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. + |
Whether to extrapolate the data from the integration points to the nodes. + |
Whether to use nonlinear geometry or nonlinear material (1 = large strain, 2 = hyperelasticity). + |
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. + |
Average the Elemental Nodal result to the requested location. + |
Field/or fields container containing only the displacement field (nodal). If none specified, read displacements from result file using the data_sources. + |
The computed result fields container (elemental nodal). + |
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.
diff --git a/src/ansys/dpf/core/operators/metadata/element_types_provider.py b/src/ansys/dpf/core/operators/metadata/element_types_provider.py
index 9c85d5abf75..d9d8de9977f 100644
--- a/src/ansys/dpf/core/operators/metadata/element_types_provider.py
+++ b/src/ansys/dpf/core/operators/metadata/element_types_provider.py
@@ -10,6 +10,7 @@
from ansys.dpf.core.dpf_operator import Operator
from ansys.dpf.core.inputs import Input, _Inputs
from ansys.dpf.core.outputs import Output, _Outputs
+from ansys.dpf.core.outputs import _modify_output_spec_with_one_type
from ansys.dpf.core.operators.specification import PinSpecification, Specification
from ansys.dpf.core.config import Config
from ansys.dpf.core.server_types import AnyServerType
@@ -17,22 +18,34 @@
class element_types_provider(Operator):
r"""Reads element types data from the result files contained in the streams
- or data sources.
+ or data sources. - If the output is a GenericDataContainer, its
+ class_name is ElementTypesProperties and it contains the following
+ property fields: - element_routine_number: Element routine number. E.g
+ 186 for SOLID186. - keyopts: Element type option keys. - kdofs: DOF/node
+ for this element type. This is a bit mapping. - nodelm: Number of nodes
+ for this element type. - nodfor: Number of nodes per element having
+ nodal forces. - nodstr: Number of nodes per element having nodal
+ stresses. - new_gen_element: Element of new generation. - If the output
+ is a PropertyField, it contains the 200 possible ElementTypesProperties
+ for each solver element type id. These properties are in the order
+ documented in ansys/customize/include/echprm.inc and have the meaning
+ documented in ansys/customize/include/elccmt.inc.
Parameters
----------
solver_element_types_ids: int, optional
- Element Type ids to recover used by the solver. If not set, all available element types to be recovered.
+ Element Type ids to recover used by the solver. If not set, all available element types are recovered.
streams: 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.
+ output_type: int, optional
+ Get the output as a GenericDataContainer (pin value 1, default) or as a PropertyField (pin value 2).
Returns
-------
- element_types_data: GenericDataContainer
- The generic_data_container has a class_name: ElementTypesProperties. It contains the following property fields: element_routine_number: Element routine number. E.g 186 for SOLID186, keyopts: Element type option keys, kdofs: DOF/node for this element type.This is a bit mapping, nodelm: Number of nodes for this element type, nodfor: Number of nodes per element having nodal forces, nodstr: Number of nodes per element having nodal stresses, new_gen_element: Element of new generation.
+ element_types_data: GenericDataContainer or PropertyField
Examples
--------
@@ -48,12 +61,15 @@ class element_types_provider(Operator):
>>> op.inputs.streams.connect(my_streams)
>>> my_data_sources = dpf.DataSources()
>>> op.inputs.data_sources.connect(my_data_sources)
+ >>> my_output_type = int()
+ >>> op.inputs.output_type.connect(my_output_type)
>>> # Instantiate operator and connect inputs in one line
>>> op = dpf.operators.metadata.element_types_provider(
... solver_element_types_ids=my_solver_element_types_ids,
... streams=my_streams,
... data_sources=my_data_sources,
+ ... output_type=my_output_type,
... )
>>> # Get output data
@@ -65,6 +81,7 @@ def __init__(
solver_element_types_ids=None,
streams=None,
data_sources=None,
+ output_type=None,
config=None,
server=None,
):
@@ -77,11 +94,24 @@ def __init__(
self.inputs.streams.connect(streams)
if data_sources is not None:
self.inputs.data_sources.connect(data_sources)
+ if output_type is not None:
+ self.inputs.output_type.connect(output_type)
@staticmethod
def _spec() -> Specification:
description = r"""Reads element types data from the result files contained in the streams
-or data sources.
+or data sources. - If the output is a GenericDataContainer, its
+class_name is ElementTypesProperties and it contains the following
+property fields: - element_routine_number: Element routine number. E.g
+186 for SOLID186. - keyopts: Element type option keys. - kdofs: DOF/node
+for this element type. This is a bit mapping. - nodelm: Number of nodes
+for this element type. - nodfor: Number of nodes per element having
+nodal forces. - nodstr: Number of nodes per element having nodal
+stresses. - new_gen_element: Element of new generation. - If the output
+is a PropertyField, it contains the 200 possible ElementTypesProperties
+for each solver element type id. These properties are in the order
+documented in ansys/customize/include/echprm.inc and have the meaning
+documented in ansys/customize/include/elccmt.inc.
"""
spec = Specification(
description=description,
@@ -90,7 +120,7 @@ def _spec() -> Specification:
name="solver_element_types_ids",
type_names=["int32", "vector