This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
/
SurfaceToSurfaceContactStd.py
408 lines (384 loc) · 20.1 KB
/
SurfaceToSurfaceContactStd.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
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
import typing
from abaqusConstants import *
from .Interaction import Interaction
from ..Datum.DatumAxis import DatumAxis
from ..Region.Region import Region
class SurfaceToSurfaceContactStd(Interaction):
"""The SurfaceToSurfaceContactStd object defines surface-to-surface contact during an
Abaqus/Standard analysis.
The SurfaceToSurfaceContactStd object is derived from the Interaction object.
Attributes
----------
contactTracking: SymbolicConstant
A SymbolicConstant specifying the choice of contact tracking algorithm. The STATE
tracking algorithm uses only normal projections and is specified by using ONE_CONFIG.
The PATH tracking algorithm uses crossing and normal projections and is specified by
using TWO_CONFIG. Possible values are ONE_CONFIG and TWO_CONFIG. The default value is
TWO_CONFIG.This argument is valid only when **sliding=FINITE** and
**enforcement=SURFACE_TO_SURFACE**.
supplementaryContact: SymbolicConstant
A SymbolicConstant specifying the manner in which midface constraints are employed.
Possible values are SELECTIVE, NEVER, and ALWAYS. The default value is SELECTIVE.This
argument is not valid when **sliding=FINITE** and **enforcement=SURFACE_TO_SURFACE**.
Notes
-----
This object can be accessed by:
.. code-block:: python
import interaction
mdb.models[name].interactions[name]
"""
# A SymbolicConstant specifying the choice of contact tracking algorithm. The STATE
# tracking algorithm uses only normal projections and is specified by using ONE_CONFIG.
# The PATH tracking algorithm uses crossing and normal projections and is specified by
# using TWO_CONFIG. Possible values are ONE_CONFIG and TWO_CONFIG. The default value is
# TWO_CONFIG.This argument is valid only when *sliding*=FINITE and
# *enforcement*=SURFACE_TO_SURFACE.
contactTracking: SymbolicConstant = TWO_CONFIG
# A SymbolicConstant specifying the manner in which midface constraints are employed.
# Possible values are SELECTIVE, NEVER, and ALWAYS. The default value is SELECTIVE.This
# argument is not valid when *sliding*=FINITE and *enforcement*=SURFACE_TO_SURFACE.
supplementaryContact: SymbolicConstant = SELECTIVE
def __init__(
self,
name: str,
createStepName: str,
main: Region,
secondary: Region,
sliding: SymbolicConstant,
interactionProperty: str,
interferenceType: SymbolicConstant = NONE,
overclosure: float = 0,
interferenceDirectionType: SymbolicConstant = COMPUTED,
direction: tuple = (),
amplitude: str = "",
smooth: float = 0,
hcrit: float = 0,
extensionZone: float = 0,
adjustMethod: SymbolicConstant = NONE,
adjustTolerance: float = 0,
adjustSet: Region = Region(),
enforcement: SymbolicConstant = SURFACE_TO_SURFACE,
thickness: Boolean = ON,
contactControls: str = "",
tied: Boolean = OFF,
initialClearance: typing.Union[SymbolicConstant, float] = OMIT,
halfThreadAngle: str = None,
pitch: str = None,
majorBoltDiameter: typing.Union[SymbolicConstant, float] = COMPUTED,
meanBoltDiameter: typing.Union[SymbolicConstant, float] = COMPUTED,
datumAxis: DatumAxis = DatumAxis(),
useReverseDatumAxis: Boolean = OFF,
clearanceRegion: Region = Region(),
surfaceSmoothing: SymbolicConstant = NONE,
bondingSet: Region = Region(),
handedness: SymbolicConstant = RIGHT,
normalAdjustment: SymbolicConstant = None,
):
"""This method creates a SurfaceToSurfaceContactStd object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].SurfaceToSurfaceContactStd
Parameters
----------
name
A String specifying the repository key.
createStepName
A String specifying the name of the step in which the SurfaceToSurfaceContactStd object
is created.
main
A Region object specifying the main surface.
secondary
A Region object specifying the secondary surface.
sliding
A SymbolicConstant specifying the contact formulation. Possible values are FINITE and
SMALL.
interactionProperty
A String specifying the name of the ContactProperty object associated with this
interaction.
interferenceType
A SymbolicConstant specifying the type of time-dependent allowable interference for
contact pairs and contact elements. Possible values are:
- NONE, specifying no allowable contact interference.
- SHRINK_FIT.
- UNIFORM.
The default value is NONE.
overclosure
A Float specifying the maximum overclosure distance allowed. This argument applies only
when *interferenceType*=UNIFORM. The default value is 0.0.
interferenceDirectionType
A SymbolicConstant specifying the method used to determine the interference direction.
Possible values are COMPUTED and DIRECTION_COSINE. The default value is COMPUTED.
direction
A sequence of three Floats specifying the following:
- XX-direction cosine of the interference direction vector.
- YY-direction cosine of the interference direction vector.
- ZZ-direction cosine of the interference direction vector.
This argument is required only when *interferenceDirectionType*=DIRECTION_COSINE.
amplitude
A String specifying the name of the amplitude curve that defines the magnitude of the
prescribed interference during the step. Use None to specify that the prescribed
interference is applied immediately at the beginning of the step and ramped down to zero
linearly over the step.
smooth
A Float specifying the degree of smoothing used for deformable or rigid main surfaces
involved when *enforcement*=NODE_TO_SURFACE. The value given must lie between 0.0 and
0.5. The default value is 0.2.
hcrit
A Float specifying the distance by which a secondary node must penetrate the main
surface before Abaqus/Standard abandons the current increment and tries again with a
smaller increment. The default value is 0.0.
extensionZone
A Float specifying a fraction of the end segment or facet edge length by which the main
surface is to be extended to avoid numerical round-off errors associated with contact
modeling. The value given must lie between 0.0 and 0.2. The default value is 0.1.
adjustMethod
A SymbolicConstant specifying the adjust method. Possible values are NONE, OVERCLOSED,
TOLERANCE, and SET. The default value is NONE.
adjustTolerance
A Float specifying the adjust tolerance. The default value is 0.0.
adjustSet
A Region object specifying the Set object to which the adjustment is to be applied.
enforcement
A SymbolicConstant specifying the discretization method. Possible values are
NODE_TO_SURFACE and SURFACE_TO_SURFACE. The default value is SURFACE_TO_SURFACE.
thickness
A Boolean specifying whether shell/membrane element thickness is considered. The default
value is ON.This argument is not valid when *sliding*=FINITE and
*enforcement*=NODE_TO_SURFACE.
contactControls
A String specifying the name of the ContactControl object associated with this
interaction. The empty string indicates that the default contact controls will be used.
The default value is an empty string.
tied
A Boolean specifying whether the surfaces are to be "tied" together for the duration of
the simulation. The default value is OFF.
initialClearance
A SymbolicConstant or a Float specifying the initial clearance at regions of contact.
Possible values are OMIT and COMPUTED. The default value is OMIT.
halfThreadAngle
None or a sequence of Floats specifying the half thread angle used for bolt clearance.
The default value is None.
pitch
None or a sequence of Floats specifying the pitch used for bolt clearance. The default
value is None.
majorBoltDiameter
The SymbolicConstant COMPUTED or a Float specifying the major diameter of the bolt used
for bolt clearance. The default value is COMPUTED.
meanBoltDiameter
The SymbolicConstant COMPUTED or a Float specifying the mean diameter of the bolt used
for bolt clearance. The default value is COMPUTED.
datumAxis
A DatumAxis object specifying the orientation of the bolt hole when specifying bolt
clearance.
useReverseDatumAxis
A Boolean specifying whether to reverse the bolt clearance direction given by the datum
axis. The default value is OFF.
clearanceRegion
A Region object specifying the contact region for which clearance is specified.
surfaceSmoothing
A SymbolicConstant specifying whether to use surface smoothing for geometric surfaces in
SurfaceToSurfaceContactStd interactions. Possible values are AUTOMATIC and NONE. The
default value is NONE.
bondingSet
A Region object specifying the secondary node sub-set for bonding, used only when the
contact property CohesiveBehavior option specifies use.
handedness
A SymbolicConstant specifying the bolt handedness formulation. Possible values are RIGHT
and LEFT. The default value is RIGHT.
normalAdjustment
A SymbolicConstant specifying the bolt normal adjustment formulation for all secondary
nodes. Possible values are UNIFORM AXIAL COMPONENT and LOCATION DEPENDENT. The default
value is UNIFORM AXIAL COMPONENT.
Returns
-------
A SurfaceToSurfaceContactStd object.
"""
super().__init__()
pass
def swapSurfaces(self):
"""This method switches the master and slave surfaces of a surface-to-surface contact
pair. This command is valid only for the step in which the interaction is created.
"""
pass
def setValues(
self,
interferenceType: SymbolicConstant = NONE,
overclosure: float = 0,
interferenceDirectionType: SymbolicConstant = COMPUTED,
direction: tuple = (),
amplitude: str = "",
smooth: float = 0,
hcrit: float = 0,
extensionZone: float = 0,
adjustMethod: SymbolicConstant = NONE,
adjustTolerance: float = 0,
adjustSet: Region = Region(),
enforcement: SymbolicConstant = SURFACE_TO_SURFACE,
thickness: Boolean = ON,
contactControls: str = "",
tied: Boolean = OFF,
initialClearance: typing.Union[SymbolicConstant, float] = OMIT,
halfThreadAngle: str = None,
pitch: str = None,
majorBoltDiameter: typing.Union[SymbolicConstant, float] = COMPUTED,
meanBoltDiameter: typing.Union[SymbolicConstant, float] = COMPUTED,
datumAxis: DatumAxis = DatumAxis(),
useReverseDatumAxis: Boolean = OFF,
clearanceRegion: Region = Region(),
surfaceSmoothing: SymbolicConstant = NONE,
bondingSet: Region = Region(),
handedness: SymbolicConstant = RIGHT,
normalAdjustment: SymbolicConstant = None,
):
"""This method modifies the data for an existing SurfaceToSurfaceContactStd object in the
step where it is created.
Parameters
----------
interferenceType
A SymbolicConstant specifying the type of time-dependent allowable interference for
contact pairs and contact elements. Possible values are:
- NONE, specifying no allowable contact interference.
- SHRINK_FIT.
- UNIFORM.
The default value is NONE.
overclosure
A Float specifying the maximum overclosure distance allowed. This argument applies only
when *interferenceType*=UNIFORM. The default value is 0.0.
interferenceDirectionType
A SymbolicConstant specifying the method used to determine the interference direction.
Possible values are COMPUTED and DIRECTION_COSINE. The default value is COMPUTED.
direction
A sequence of three Floats specifying the following:
- XX-direction cosine of the interference direction vector.
- YY-direction cosine of the interference direction vector.
- ZZ-direction cosine of the interference direction vector.
This argument is required only when *interferenceDirectionType*=DIRECTION_COSINE.
amplitude
A String specifying the name of the amplitude curve that defines the magnitude of the
prescribed interference during the step. Use None to specify that the prescribed
interference is applied immediately at the beginning of the step and ramped down to zero
linearly over the step.
smooth
A Float specifying the degree of smoothing used for deformable or rigid main surfaces
involved when *enforcement*=NODE_TO_SURFACE. The value given must lie between 0.0 and
0.5. The default value is 0.2.
hcrit
A Float specifying the distance by which a secondary node must penetrate the main
surface before Abaqus/Standard abandons the current increment and tries again with a
smaller increment. The default value is 0.0.
extensionZone
A Float specifying a fraction of the end segment or facet edge length by which the main
surface is to be extended to avoid numerical round-off errors associated with contact
modeling. The value given must lie between 0.0 and 0.2. The default value is 0.1.
adjustMethod
A SymbolicConstant specifying the adjust method. Possible values are NONE, OVERCLOSED,
TOLERANCE, and SET. The default value is NONE.
adjustTolerance
A Float specifying the adjust tolerance. The default value is 0.0.
adjustSet
A Region object specifying the Set object to which the adjustment is to be applied.
enforcement
A SymbolicConstant specifying the discretization method. Possible values are
NODE_TO_SURFACE and SURFACE_TO_SURFACE. The default value is SURFACE_TO_SURFACE.
thickness
A Boolean specifying whether shell/membrane element thickness is considered. The default
value is ON.This argument is not valid when *sliding*=FINITE and
*enforcement*=NODE_TO_SURFACE.
contactControls
A String specifying the name of the ContactControl object associated with this
interaction. The empty string indicates that the default contact controls will be used.
The default value is an empty string.
tied
A Boolean specifying whether the surfaces are to be "tied" together for the duration of
the simulation. The default value is OFF.
initialClearance
A SymbolicConstant or a Float specifying the initial clearance at regions of contact.
Possible values are OMIT and COMPUTED. The default value is OMIT.
halfThreadAngle
None or a sequence of Floats specifying the half thread angle used for bolt clearance.
The default value is None.
pitch
None or a sequence of Floats specifying the pitch used for bolt clearance. The default
value is None.
majorBoltDiameter
The SymbolicConstant COMPUTED or a Float specifying the major diameter of the bolt used
for bolt clearance. The default value is COMPUTED.
meanBoltDiameter
The SymbolicConstant COMPUTED or a Float specifying the mean diameter of the bolt used
for bolt clearance. The default value is COMPUTED.
datumAxis
A DatumAxis object specifying the orientation of the bolt hole when specifying bolt
clearance.
useReverseDatumAxis
A Boolean specifying whether to reverse the bolt clearance direction given by the datum
axis. The default value is OFF.
clearanceRegion
A Region object specifying the contact region for which clearance is specified.
surfaceSmoothing
A SymbolicConstant specifying whether to use surface smoothing for geometric surfaces in
SurfaceToSurfaceContactStd interactions. Possible values are AUTOMATIC and NONE. The
default value is NONE.
bondingSet
A Region object specifying the secondary node sub-set for bonding, used only when the
contact property CohesiveBehavior option specifies use.
handedness
A SymbolicConstant specifying the bolt handedness formulation. Possible values are RIGHT
and LEFT. The default value is RIGHT.
normalAdjustment
A SymbolicConstant specifying the bolt normal adjustment formulation for all secondary
nodes. Possible values are UNIFORM AXIAL COMPONENT and LOCATION DEPENDENT. The default
value is UNIFORM AXIAL COMPONENT.
"""
pass
def setValuesInStep(
self,
stepName: str,
interactionProperty: str = "",
interferenceType: SymbolicConstant = NONE,
overclosure: float = 0,
interferenceDirectionType: SymbolicConstant = COMPUTED,
direction: tuple = (),
amplitude: str = "",
contactControls: str = "",
):
"""This method modifies the propagating data for an existing SurfaceToSurfaceContactStd
object in the specified step.
Parameters
----------
stepName
A String specifying the name of the step in which the interaction is modified.
interactionProperty
A String specifying the name of the ContactProperty object associated with this
interaction.
interferenceType
A SymbolicConstant specifying the type of time-dependent allowable interference for
contact pairs and contact elements. Possible values are:
- NONE, specifying no allowable contact interference.
- SHRINK_FIT.
- UNIFORM.
The default value is NONE.
overclosure
A Float specifying the maximum overclosure distance allowed. This argument applies only
when *interferenceType*=UNIFORM. The default value is 0.0.
interferenceDirectionType
A SymbolicConstant specifying the method used to determine the interference direction.
Possible values are COMPUTED and DIRECTION_COSINE. The default value is COMPUTED.
direction
A sequence of three Floats specifying the following:
- XX-direction cosine of the interference direction vector.
- YY-direction cosine of the interference direction vector.
- ZZ-direction cosine of the interference direction vector.
This argument is required only when *interferenceDirectionType*=DIRECTION_COSINE.
amplitude
A String specifying the name of the amplitude curve that defines the magnitude of the
prescribed interference during the step. Use None to specify that the prescribed
interference is applied immediately at the beginning of the step and ramped down to zero
linearly over the step.
contactControls
A String specifying the name of the ContactControl object associated with this
interaction. The empty string indicates that the default contact controls will be used.
The default value is an empty string.
"""
pass