This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
/
FieldValue.py
277 lines (244 loc) · 15.5 KB
/
FieldValue.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
from abaqusConstants import *
from .OdbInstance import OdbInstance
from .OdbPart import OdbPart
from .SectionPoint import SectionPoint
class FieldValue:
"""The FieldValue object represents the field data at a point. The FieldValue object has no
constructor; it is created by the Odb object when data are added to the FieldOutput
object using the addData method. For faster, bulk-data access, see Using bulk data
access to an output database.
Attributes
----------
position: SymbolicConstant
A SymbolicConstant specifying the position of the output in the element. Possible values
are:
- NODAL, specifying the values calculated at the nodes.
- INTEGRATION_POINT, specifying the values calculated at the integration points.
- ELEMENT_NODAL, specifying the values obtained by extrapolating results calculated at
the integration points.
- ELEMENT_FACE, specifying the results obtained for surface variables such as cavity
radiation that are defined for the surface facets of an element.
- CENTROID, specifying the value at the centroid obtained by extrapolating results
calculated at the integration points.
precision: SymbolicConstant
A SymbolicConstant specifying the precision of the output in the element. Possible
values are:
- SINGLE_PRECISION, specifying that the output values are in single precision.
- DOUBLE_PRECISION, specifying that the output values are in double precision.
elementLabel: int
An Int specifying the element label of the element containing the location.
**elementLabel** is available only if **position=INTEGRATION_POINT**, CENTROID,
ELEMENT_NODAL, or ELEMENT_FACE.
nodeLabel: int
An Int specifying the node label of the node containing the location. **nodelabel** is
available only if **position=ELEMENT_NODAL** or NODAL.
integrationPoint: int
An Int specifying the integration point in the element. **integrationPoint** is available
only if **position=INTEGRATION_POINT**.
face: SymbolicConstant
A SymbolicConstant specifying the face of the element. **face** is available only if
**position=ELEMENT_FACE**.
type: SymbolicConstant
A SymbolicConstant specifying the output type. Possible values are SCALAR, VECTOR,
TENSOR_3D_FULL, TENSOR_3D_PLANAR, TENSOR_3D_SURFACE, TENSOR_2D_PLANAR, and
TENSOR_2D_SURFACE.
magnitude: float
A Float specifying the length or magnitude of the vector. **magnitude** is valid only when
**type=VECTOR**.
mises: float
A Float specifying the calculated von Mises stress. The value is valid only when the
**validInvariants** member includes MISES; otherwise, the value is indeterminate.
Conjugate data will be ignored in invariant calculation.
tresca: float
A Float specifying the calculated Tresca stress. The value is valid only when the
**validInvariants** member includes TRESCA; otherwise, the value is indeterminate.
Conjugate data will be ignored in invariant calculation.
press: float
A Float specifying the calculated pressure stress. The value is valid only when the
**validInvariants** member includes PRESS; otherwise, the value is indeterminate.
Conjugate data will be ignored in invariant calculation.
inv3: float
A Float specifying the calculated third stress invariant. The value is valid only when
the **validInvariants** member includes INV3; otherwise, the value is indeterminate.
Conjugate data will be ignored in invariant calculation.
maxPrincipal: float
A Float specifying the calculated maximum principal stress. The value is valid only when
the **validInvariants** member includes MAX_PRINCIPAL; otherwise, the value is
indeterminate. Conjugate data will be ignored in invariant calculation.
midPrincipal: float
A Float specifying the calculated intermediate principal stress. The value is valid only
when the **validInvariants** member includes MID_PRINCIPAL; otherwise, the value is
indeterminate. Conjugate data will be ignored in invariant calculation.
minPrincipal: float
A Float specifying the minimum principal stress. The value is valid only when the
**validInvariants** member includes MIN_PRINCIPAL; otherwise, the value is indeterminate.
Conjugate data will be ignored in invariant calculation.
maxInPlanePrincipal: float
A Float specifying the maximum principal in-plane stress. The value is valid only when
the **validInvariants** member includes MAX_INPLANE_PRINCIPAL; otherwise, the value is
indeterminate. Conjugate data will be ignored in invariant calculation.
minInPlanePrincipal: float
A Float specifying the calculated minimum principal in-plane stress. The value is valid
only when the **validInvariants** member includes MIN_INPLANE_PRINCIPAL; otherwise, the
value is indeterminate. Conjugate data will be ignored in invariant calculation.
outOfPlanePrincipal: float
A Float specifying the calculated principal out-of-plane stress. The value is valid only
when the **validInvariants** member includes OUTOFPLANE_PRINCIPAL; otherwise, the value is
indeterminate. Conjugate data will be ignored in invariant calculation.
instance: OdbInstance
An :py:class:`~abaqus.Odb.OdbInstance.OdbInstance` object specifying the part to which the labels belong.
sectionPoint: SectionPoint
A :py:class:`~abaqus.Odb.SectionPoint.SectionPoint` object.
localCoordSystem: tuple
A tuple of tuples of Floats specifying the 3 × 3 matrix of Floats specifying the
direction cosines of the local coordinate system (the rotation from global to local).
Each sequence represents a row in the direction cosine matrix. **localCoordSystem** is
available for TENSOR data written in a local coordinate system. It is also available for
VECTOR data for connector element outputs. For connector element outputs the rotation is
from local to global. If the underlying data are in double precision, an exception will
be thrown.
localCoordSystemDouble: tuple
A tuple of tuples of Floats specifying the 3 × 3 matrix of Doubles specifying the
direction cosines of the local coordinate system (the rotation from global to local).
Each sequence represents a row in the direction cosine matrix. **localCoordSystemDouble**
is available for TENSOR data written in a local coordinate system. It is also available
for VECTOR data for connector element outputs. For connector element outputs the
rotation is from local to global. If the underlying data are in single precision, an
exception will be thrown.
data: tuple
A tuple of Floats specifying data in the form described by **type**. If **type=TENSOR** or
VECTOR, **data** is a sequence containing the components. If the underlying data are in
double precision an exception will be thrown.
dataDouble: tuple
A tuple of Floats specifying data in the form described by **type**. If **type=TENSOR** or
VECTOR, **data** is a sequence containing the components. If the underlying data are in
single precision, an exception will be thrown.
conjugateData: tuple
A tuple of Floats specifying data in the form described by **type**. If **type=TENSOR** or
VECTOR, **conjugateData** is a sequence containing the components. If the underlying data
are in double precision, an exception will be thrown.
conjugateDataDouble: tuple
A tuple of Floats specifying data in the form described by **type**. If **type=TENSOR** or
VECTOR, **conjugateData** is a sequence containing the components. If the underlying data
are in single precision, an exception will be thrown.
Notes
-----
This object can be accessed by:
.. code-block:: python
import odbAccess
session.odbs[name].steps[name].frames[i].fieldOutputs[name].values[i]
"""
# A SymbolicConstant specifying the position of the output in the element. Possible values
# are:
# - NODAL, specifying the values calculated at the nodes.
# - INTEGRATION_POINT, specifying the values calculated at the integration points.
# - ELEMENT_NODAL, specifying the values obtained by extrapolating results calculated at
# the integration points.
# - ELEMENT_FACE, specifying the results obtained for surface variables such as cavity
# radiation that are defined for the surface facets of an element.
# - CENTROID, specifying the value at the centroid obtained by extrapolating results
# calculated at the integration points.
position: SymbolicConstant = None
# A SymbolicConstant specifying the precision of the output in the element. Possible
# values are:
# - SINGLE_PRECISION, specifying that the output values are in single precision.
# - DOUBLE_PRECISION, specifying that the output values are in double precision.
precision: SymbolicConstant = None
# An Int specifying the element label of the element containing the location.
# *elementLabel* is available only if *position*=INTEGRATION_POINT, CENTROID,
# ELEMENT_NODAL, or ELEMENT_FACE.
elementLabel: int = None
# An Int specifying the node label of the node containing the location. *nodelabel* is
# available only if *position*=ELEMENT_NODAL or NODAL.
nodeLabel: int = None
# An Int specifying the integration point in the element. *integrationPoint* is available
# only if *position*=INTEGRATION_POINT.
integrationPoint: int = None
# A SymbolicConstant specifying the face of the element. *face* is available only if
# *position*=ELEMENT_FACE.
face: SymbolicConstant = None
# A SymbolicConstant specifying the output type. Possible values are SCALAR, VECTOR,
# TENSOR_3D_FULL, TENSOR_3D_PLANAR, TENSOR_3D_SURFACE, TENSOR_2D_PLANAR, and
# TENSOR_2D_SURFACE.
type: SymbolicConstant = None
# A Float specifying the length or magnitude of the vector. *magnitude* is valid only when
# *type*=VECTOR.
magnitude: float = None
# A Float specifying the calculated von Mises stress. The value is valid only when the
# *validInvariants* member includes MISES; otherwise, the value is indeterminate.
# Conjugate data will be ignored in invariant calculation.
mises: float = None
# A Float specifying the calculated Tresca stress. The value is valid only when the
# *validInvariants* member includes TRESCA; otherwise, the value is indeterminate.
# Conjugate data will be ignored in invariant calculation.
tresca: float = None
# A Float specifying the calculated pressure stress. The value is valid only when the
# *validInvariants* member includes PRESS; otherwise, the value is indeterminate.
# Conjugate data will be ignored in invariant calculation.
press: float = None
# A Float specifying the calculated third stress invariant. The value is valid only when
# the *validInvariants* member includes INV3; otherwise, the value is indeterminate.
# Conjugate data will be ignored in invariant calculation.
inv3: float = None
# A Float specifying the calculated maximum principal stress. The value is valid only when
# the *validInvariants* member includes MAX_PRINCIPAL; otherwise, the value is
# indeterminate. Conjugate data will be ignored in invariant calculation.
maxPrincipal: float = None
# A Float specifying the calculated intermediate principal stress. The value is valid only
# when the *validInvariants* member includes MID_PRINCIPAL; otherwise, the value is
# indeterminate. Conjugate data will be ignored in invariant calculation.
midPrincipal: float = None
# A Float specifying the minimum principal stress. The value is valid only when the
# *validInvariants* member includes MIN_PRINCIPAL; otherwise, the value is indeterminate.
# Conjugate data will be ignored in invariant calculation.
minPrincipal: float = None
# A Float specifying the maximum principal in-plane stress. The value is valid only when
# the *validInvariants* member includes MAX_INPLANE_PRINCIPAL; otherwise, the value is
# indeterminate. Conjugate data will be ignored in invariant calculation.
maxInPlanePrincipal: float = None
# A Float specifying the calculated minimum principal in-plane stress. The value is valid
# only when the *validInvariants* member includes MIN_INPLANE_PRINCIPAL; otherwise, the
# value is indeterminate. Conjugate data will be ignored in invariant calculation.
minInPlanePrincipal: float = None
# A Float specifying the calculated principal out-of-plane stress. The value is valid only
# when the *validInvariants* member includes OUTOFPLANE_PRINCIPAL; otherwise, the value is
# indeterminate. Conjugate data will be ignored in invariant calculation.
outOfPlanePrincipal: float = None
# An OdbInstance object specifying the part to which the labels belong.
instance: OdbInstance = OdbInstance(
"instance", OdbPart("part", THREE_D, DEFORMABLE_BODY)
)
# A SectionPoint object.
sectionPoint: SectionPoint = None
# A tuple of tuples of Floats specifying the 3 × 3 matrix of Floats specifying the
# direction cosines of the local coordinate system (the rotation from global to local).
# Each sequence represents a row in the direction cosine matrix. *localCoordSystem* is
# available for TENSOR data written in a local coordinate system. It is also available for
# VECTOR data for connector element outputs. For connector element outputs the rotation is
# from local to global. If the underlying data are in double precision, an exception will
# be thrown.
localCoordSystem: tuple = ()
# A tuple of tuples of Floats specifying the 3 × 3 matrix of Doubles specifying the
# direction cosines of the local coordinate system (the rotation from global to local).
# Each sequence represents a row in the direction cosine matrix. *localCoordSystemDouble*
# is available for TENSOR data written in a local coordinate system. It is also available
# for VECTOR data for connector element outputs. For connector element outputs the
# rotation is from local to global. If the underlying data are in single precision, an
# exception will be thrown.
localCoordSystemDouble: tuple = ()
# A tuple of Floats specifying data in the form described by *type*. If *type*=TENSOR or
# VECTOR, *data* is a sequence containing the components. If the underlying data are in
# double precision an exception will be thrown.
data: tuple = ()
# A tuple of Floats specifying data in the form described by *type*. If *type*=TENSOR or
# VECTOR, *data* is a sequence containing the components. If the underlying data are in
# single precision, an exception will be thrown.
dataDouble: tuple = ()
# A tuple of Floats specifying data in the form described by *type*. If *type*=TENSOR or
# VECTOR, *conjugateData* is a sequence containing the components. If the underlying data
# are in double precision, an exception will be thrown.
conjugateData: tuple = ()
# A tuple of Floats specifying data in the form described by *type*. If *type*=TENSOR or
# VECTOR, *conjugateData* is a sequence containing the components. If the underlying data
# are in single precision, an exception will be thrown.
conjugateDataDouble: tuple = ()