This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
/
ContactDamage.py
348 lines (315 loc) · 18.8 KB
/
ContactDamage.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
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
from abaqusConstants import *
class ContactDamage:
"""The ContactDamage object specifies damage options for a contact interaction property.
Attributes
----------
criterion: SymbolicConstant
A SymbolicConstant specifying the type of data used to define the initiation of damage.
Possible values are MAX_STRESS, MAX_SEPARATION, QUAD_TRACTION, and QUAD_SEPARATION. The
default value is MAX_STRESS.
initTempDep: Boolean
A Boolean specifying whether the initiation data depend on temperature. The default
value is OFF.
initDependencies: int
An Int specifying the number of initiation data field variables. The default value is 0.
useEvolution: Boolean
A Boolean specifying whether evolution data will be defined. The default value is OFF.
evolutionType: SymbolicConstant
A SymbolicConstant specifying the type of data used to define the evolution of damage.
This argument is valid only when **useEvolution=ON**. Possible values are DISPLACEMENT and
ENERGY. The default value is DISPLACEMENT.
softening: SymbolicConstant
A SymbolicConstant specifying the type of data used to define the evolution softening
response. This argument is valid only when **useEvolution=ON**. The TABULAR value can be
used only when **evolutionType=DISPLACEMENT**. Possible values are LINEAR, EXPONENTIAL,
and TABULAR. The default value is LINEAR.
useMixedMode: Boolean
A Boolean specifying whether evolution data be defined using dependent behavior modes.
This argument is valid only when **useEvolution=ON**. The default value is OFF.
mixedModeType: SymbolicConstant
A SymbolicConstant specifying the mode mix fracture criterion. This argument is valid
only when **useEvolution=ON** and when **useMixedMode=ON**. The POWER_LAW and BK values can
be used only when **evolutionType=ENERGY**. Possible values are TABULAR, POWER_LAW, and
BK. The default value is TABULAR.
modeMixRatio: SymbolicConstant
A SymbolicConstant specifying the mode mix ratio type. This argument is valid only when
**useEvolution=ON** and when **useMixedMode=ON**. The TRACTION value can be used only when
**mixedModeType=TABULAR**. Possible values are ENERGY and TRACTION. The default value is
ENERGY.
exponent: float
None or a Float specifying the exponent in the power-law or BK criterion that defines
the variation of fracture energy with mode mix. This argument is valid only when
**useEvolution=ON** and when **mixedModeType=POWER_LAW** or BK. The default value is None.
evolTempDep: Boolean
A Boolean specifying whether the evolution data depend on temperature. This argument is
valid only when **useEvolution=ON**. The default value is OFF.
evolDependencies: int
An Int specifying the number of evolution data field variables. This argument is valid
only when **useEvolution=ON**. The default value is 0.
useStabilization: Boolean
A Boolean specifying whether stabilization data will be defined. This argument is valid
only when **useEvolution=ON**. The default value is OFF.
viscosityCoef: float
None or a Float specifying the viscosity coefficient. This argument is valid only when
**useStabilization=ON**. The default value is None.
initTable: float
A tuple of tuples of Floats specifying the values defining the damage initiation. The
items in the table data are described below.
evolTable: float
A tuple of tuples of Floats specifying the values defining the damage evolution. The
items in the table data are described below. This argument is valid only when
**useEvolution=ON**.
Notes
-----
This object can be accessed by:
.. code-block:: python
import interaction
mdb.models[name].interactionProperties[name].damage
The table data for this object are:
Table data for *initTable*:
If *criterion*=MAX_STRESS or QUAD_TRACTION, the table data specify the following:
- Maximum nominal stress in the normal-only mode.
- Maximum nominal stress in the first shear direction (for a mode that involves separation only in this direction).
- Maximum nominal stress in the second shear direction (for a mode that involves separation only in this direction).
- Temperature, if the data depend on temperature.
- Value of the first field variable, if the data depend on field variables.
- Value of the second field variable.
- Etc.
If *criterion*=MAX_SEPARATION or QUAD_SEPARATION, the table data specify the following:
- Separation at damage initiation in a normal-only mode.
- Separation at damage initiation in a shear-only mode that involves separation only along the first shear
direction.
- Separation at damage initiation in a shear-only mode that involves separation only along the second shear
direction.
- Temperature, if the data depend on temperature.
- Value of the first field variable, if the data depend on field variables.
- Value of the second field variable.
- Etc.
Table data for *evolTable*:
If *evolutionType*=DISPLACEMENT, *softening*=LINEAR, and *useMixedMode*=OFF, the table data specify the following:
- Effective total or Plastic displacement at failure, measured from the time of damage initiation.
- Temperature, if the data depend on temperature.
- Value of the first field variable, if the data depend on field variables.
- Value of the second field variable.
- Etc.
If *evolutionType*=ENERGY, *softening*=LINEAR or EXPONENTIAL, and *useMixedMode*=OFF, the table data specify
the following:
- Fracture energy.
- Temperature, if the data depend on temperature.
- Value of the first field variable, if the data depend on field variables.
- Value of the second field variable.
- Etc.
If *evolutionType*=DISPLACEMENT, *softening*=LINEAR, *useMixedMode*=ON, *mixedModeType*=TABULAR, and
*modeMixRatio*=ENERGY or TRACTION, the table data specify the following:
- Total displacement at failure, measured from the time of damage initiation.
- Appropriate mode mix ratio.
- Appropriate mode mix ratio (if relevant, for three dimensional problems with anisotropic shear behavior).
- Temperature, if the data depend on temperature.
- Value of the first field variable, if the data depend on field variables.
- Value of the second field variable.
- Etc.
If *evolutionType*=ENERGY, *softening*=LINEAR or EXPONENTIAL, *useMixedMode*=ON, *mixedModeType*=TABULAR, and
*modeMixRatio*=ENERGY or TRACTION, the table data specify the following:
- Fracture energy.
- Appropriate mode mix ratio.
- Appropriate mode mix ratio (if relevant, for three dimensional problems with anisotropic shear behavior).
- Temperature, if the data depend on temperature.
- Value of the first field variable, if the data depend on field variables.
- Value of the second field variable.
- Etc.
If *evolutionType*=DISPLACEMENT, *softening*=EXPONENTIAL, and *useMixedMode*=OFF, the table data specify the
following:
- Effective total or Plastic displacement at failure, measured from the time of damage initiation.
- Exponential law parameter.
- Temperature, if the data depend on temperature.
- Value of the first field variable, if the data depend on field variables.
- Value of the second field variable.
- Etc.
If *evolutionType*=DISPLACEMENT, *softening*=EXPONENTIAL, *useMixedMode*=ON, *mixedModeType*=TABULAR, and
*modeMixRatio*=ENERGY or TRACTION, the table data specify the following:
- Total displacement at failure, measured from the time of damage initiation.
- Exponential law parameter.
- Appropriate mode mix ratio.
- Appropriate mode mix ratio (if relevant, for three dimensional problems with anisotropic shear behavior).
- Temperature, if the data depend on temperature.
- Value of the first field variable, if the data depend on field variables.
- Value of the second field variable.
- Etc.
If *evolutionType*=DISPLACEMENT, *softening*=TABULAR, and *useMixedMode*=OFF, the table data specify the following:
- Damage variable.
- Effective total or Plastic displacement at failure, measured from the time of damage initiation.
- Temperature, if the data depend on temperature.
- Value of the first field variable, if the data depend on field variables.
- Value of the second field variable.
- Etc.
If *evolutionType*=DISPLACEMENT, *softening*=TABULAR, *useMixedMode*=ON, *mixedModeType*=TABULAR, and
*modeMixRatio*=ENERGY or TRACTION, the table data specify the following:
- Damage variable.
- Effective total displacement, measured from the time of damage initiation.
- Appropriate mode mix ratio.
- Appropriate mode mix ratio (if relevant, for three dimensional problems with anisotropic shear behavior).
- Temperature, if the data depend on temperature.
- Value of the first field variable, if the data depend on field variables.
- Value of the second field variable.
- Etc.
If *evolutionType*=ENERGY, *softening*=LINEAR or EXPONENTIAL, *useMixedMode*=ON, *mixedModeType*=POWER_LAW or
BK, and *modeMixRatio*=ENERGY, the table data specify the following:
- Normal mode fracture energy.
- Shear mode fracture energy for failure in the first shear direction.
- Shear mode fracture energy for failure in the second shear direction.
- Temperature, if the data depend on temperature.
- Value of the first field variable, if the data depend on field variables.
- Value of the second field variable.
- Etc.
The corresponding analysis keywords are:
- DAMAGE INITIATION
- DAMAGE EVOLUTION
- DAMAGE STABILIZATION
"""
# A SymbolicConstant specifying the type of data used to define the initiation of damage.
# Possible values are MAX_STRESS, MAX_SEPARATION, QUAD_TRACTION, and QUAD_SEPARATION. The
# default value is MAX_STRESS.
criterion: SymbolicConstant = MAX_STRESS
# A Boolean specifying whether the initiation data depend on temperature. The default
# value is OFF.
initTempDep: Boolean = OFF
# An Int specifying the number of initiation data field variables. The default value is 0.
initDependencies: int = 0
# A Boolean specifying whether evolution data will be defined. The default value is OFF.
useEvolution: Boolean = OFF
# A SymbolicConstant specifying the type of data used to define the evolution of damage.
# This argument is valid only when *useEvolution*=ON. Possible values are DISPLACEMENT and
# ENERGY. The default value is DISPLACEMENT.
evolutionType: SymbolicConstant = DISPLACEMENT
# A SymbolicConstant specifying the type of data used to define the evolution softening
# response. This argument is valid only when *useEvolution*=ON. The TABULAR value can be
# used only when *evolutionType*=DISPLACEMENT. Possible values are LINEAR, EXPONENTIAL,
# and TABULAR. The default value is LINEAR.
softening: SymbolicConstant = LINEAR
# A Boolean specifying whether evolution data be defined using dependent behavior modes.
# This argument is valid only when *useEvolution*=ON. The default value is OFF.
useMixedMode: Boolean = OFF
# A SymbolicConstant specifying the mode mix fracture criterion. This argument is valid
# only when *useEvolution*=ON and when *useMixedMode*=ON. The POWER_LAW and BK values can
# be used only when *evolutionType*=ENERGY. Possible values are TABULAR, POWER_LAW, and
# BK. The default value is TABULAR.
mixedModeType: SymbolicConstant = TABULAR
# A SymbolicConstant specifying the mode mix ratio type. This argument is valid only when
# *useEvolution*=ON and when *useMixedMode*=ON. The TRACTION value can be used only when
# *mixedModeType*=TABULAR. Possible values are ENERGY and TRACTION. The default value is
# ENERGY.
modeMixRatio: SymbolicConstant = ENERGY
# None or a Float specifying the exponent in the power-law or BK criterion that defines
# the variation of fracture energy with mode mix. This argument is valid only when
# *useEvolution*=ON and when *mixedModeType*=POWER_LAW or BK. The default value is None.
exponent: float = None
# A Boolean specifying whether the evolution data depend on temperature. This argument is
# valid only when *useEvolution*=ON. The default value is OFF.
evolTempDep: Boolean = OFF
# An Int specifying the number of evolution data field variables. This argument is valid
# only when *useEvolution*=ON. The default value is 0.
evolDependencies: int = 0
# A Boolean specifying whether stabilization data will be defined. This argument is valid
# only when *useEvolution*=ON. The default value is OFF.
useStabilization: Boolean = OFF
# None or a Float specifying the viscosity coefficient. This argument is valid only when
# *useStabilization*=ON. The default value is None.
viscosityCoef: float = None
# A tuple of tuples of Floats specifying the values defining the damage initiation. The
# items in the table data are described below.
initTable: float = None
# A tuple of tuples of Floats specifying the values defining the damage evolution. The
# items in the table data are described below. This argument is valid only when
# *useEvolution*=ON.
evolTable: float = None
def __init__(
self,
initTable: tuple,
criterion: SymbolicConstant = MAX_STRESS,
initTempDep: Boolean = OFF,
initDependencies: int = 0,
useEvolution: Boolean = OFF,
evolutionType: SymbolicConstant = DISPLACEMENT,
softening: SymbolicConstant = LINEAR,
useMixedMode: Boolean = OFF,
mixedModeType: SymbolicConstant = TABULAR,
modeMixRatio: SymbolicConstant = ENERGY,
exponent: float = None,
evolTempDep: Boolean = OFF,
evolDependencies: int = 0,
evolTable: tuple = (),
useStabilization: Boolean = OFF,
viscosityCoef: float = None,
):
"""This method creates a ContactDamage object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].interactionProperties[name].Damage
Parameters
----------
initTable
A sequence of sequences of Floats specifying the values defining the damage initiation.
The items in the table data are described below.
criterion
A SymbolicConstant specifying the type of data used to define the initiation of damage.
Possible values are MAX_STRESS, MAX_SEPARATION, QUAD_TRACTION, and QUAD_SEPARATION. The
default value is MAX_STRESS.
initTempDep
A Boolean specifying whether the initiation data depend on temperature. The default
value is OFF.
initDependencies
An Int specifying the number of initiation data field variables. The default value is 0.
useEvolution
A Boolean specifying whether evolution data will be defined. The default value is OFF.
evolutionType
A SymbolicConstant specifying the type of data used to define the evolution of damage.
This argument is valid only when *useEvolution*=ON. Possible values are DISPLACEMENT and
ENERGY. The default value is DISPLACEMENT.
softening
A SymbolicConstant specifying the type of data used to define the evolution softening
response. This argument is valid only when *useEvolution*=ON. The TABULAR value can be
used only when *evolutionType*=DISPLACEMENT. Possible values are LINEAR, EXPONENTIAL,
and TABULAR. The default value is LINEAR.
useMixedMode
A Boolean specifying whether evolution data be defined using dependent behavior modes.
This argument is valid only when *useEvolution*=ON. The default value is OFF.
mixedModeType
A SymbolicConstant specifying the mode mix fracture criterion. This argument is valid
only when *useEvolution*=ON and when *useMixedMode*=ON. The POWER_LAW and BK values can
be used only when *evolutionType*=ENERGY. Possible values are TABULAR, POWER_LAW, and
BK. The default value is TABULAR.
modeMixRatio
A SymbolicConstant specifying the mode mix ratio type. This argument is valid only when
*useEvolution*=ON and when *useMixedMode*=ON. The TRACTION value can be used only when
*mixedModeType*=TABULAR. Possible values are ENERGY and TRACTION. The default value is
ENERGY.
exponent
None or a Float specifying the exponent in the power-law or BK criterion that defines
the variation of fracture energy with mode mix. This argument is valid only when
*useEvolution*=ON and when *mixedModeType*=POWER_LAW or BK. The default value is None.
evolTempDep
A Boolean specifying whether the evolution data depend on temperature. This argument is
valid only when *useEvolution*=ON. The default value is OFF.
evolDependencies
An Int specifying the number of evolution data field variables. This argument is valid
only when *useEvolution*=ON. The default value is 0.
evolTable
A sequence of sequences of Floats specifying the values defining the damage evolution.
The items in the table data are described below. This argument is valid only when
*useEvolution*=ON.
useStabilization
A Boolean specifying whether stabilization data will be defined. This argument is valid
only when *useEvolution*=ON. The default value is OFF.
viscosityCoef
None or a Float specifying the viscosity coefficient. This argument is valid only when
*useStabilization*=ON. The default value is None.
Returns
-------
A ContactDamage object.
"""
pass
def setValues(self):
"""This method modifies the ContactDamage object."""
pass