This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
/
ConnectorSection.py
851 lines (775 loc) · 40.8 KB
/
ConnectorSection.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
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
from abaqusConstants import *
from .ConnectorDamage import ConnectorDamage
from .ConnectorDamping import ConnectorDamping
from .ConnectorElasticity import ConnectorElasticity
from .ConnectorFailure import ConnectorFailure
from .ConnectorFriction import ConnectorFriction
from .ConnectorLock import ConnectorLock
from .ConnectorPlasticity import ConnectorPlasticity
from .ConnectorPotential import ConnectorPotential
from .ConnectorPotentialArray import ConnectorPotentialArray
from .ConnectorStop import ConnectorStop
from .DerivedComponent import DerivedComponent
from .TangentialBehavior import TangentialBehavior
from ..Section.SectionBase import SectionBase
class ConnectorSection(SectionBase):
def ConnectorDamage(
self,
coupling: SymbolicConstant = UNCOUPLED,
criterion: SymbolicConstant = FORCE,
initiationTemperature: Boolean = OFF,
initiationPotentialOperator: SymbolicConstant = SUM,
initiationPotentialExponent: float = 2,
initiationDependencies: int = 0,
evolution: Boolean = ON,
evolutionType: SymbolicConstant = MOTION_TYPE,
softening: SymbolicConstant = LINEAR,
useAffected: Boolean = OFF,
degradation: SymbolicConstant = MAXIMUM,
evolutionTemperature: Boolean = OFF,
evolutionDependencies: int = 0,
evolutionPotentialOperator: SymbolicConstant = SUM,
evolutionPotentialExponent: float = 2,
initiationPotentials: ConnectorPotentialArray = None,
evolutionPotentials: ConnectorPotentialArray = None,
initiationTable: tuple = (),
evolutionTable: tuple = (),
affectedComponents: tuple = (),
components: tuple = (),
):
"""This method creates a connector damage behavior option for a ConnectorSection object.
Notes
-----
This function can be accessed by:
.. code-block:: python
import connectorBehavior
connectorBehavior.ConnectorDamage
import odbConnectorBehavior
odbConnectorBehavior.ConnectorDamage
Parameters
----------
coupling
A SymbolicConstant specifying whether or not the behavior is coupled. Possible values
are UNCOUPLED and COUPLED. The default value is UNCOUPLED.
criterion
A SymbolicConstant specifying the damage initiation criterion to be used. Possible
values are FORCE, MOTION, and PLASTIC_MOTION. The default value is FORCE.
initiationTemperature
A Boolean specifying whether the initiation data depend on temperature. The default
value is OFF.
initiationPotentialOperator
A SymbolicConstant specifying the contribution operator for the initiation potential
contributions. Possible values are SUM and MAXIMUM. The default value is SUM.This
argument is only if *coupling*=COUPLED and if *criterion*=FORCE or MOTION.
initiationPotentialExponent
A Float specifying the number equal to the inverse of the overall exponent in the
initiation potential definition. The default value is 2.0.This argument is applicable
only if *coupling*=COUPLED, when *initiationPotentialOperator*=SUM, and when
*criterion*=FORCE or MOTION.
initiationDependencies
An Int specifying the number of field variable dependencies for the initiation data. The
default value is 0.
evolution
A Boolean specifying whether damage evolution data will be used. The default value is
ON.
evolutionType
A SymbolicConstant specifying the type of damage evolution to be specified. Possible
values are MOTION_TYPE and ENERGY_TYPE. The default value is MOTION_TYPE.This argument
is applicable only if *evolution*=ON.
softening
A SymbolicConstant specifying the damage evolution law to be specified. Possible values
are LINEAR, EXPONENTIAL, and TABULAR. The default value is LINEAR.This argument is
applicable only if *evolution*=ON and when *evolutionType*=MOTION_TYPE.
useAffected
A Boolean specifying whether or not *affectedComponents* will be specified. If
*useAffected*=OFF, then only the components of relative motion specified by *components*
will undergo damage. The default value is OFF.This argument is applicable only if
*evolution*=ON.
degradation
A SymbolicConstant specifying the contribution of each damage mechanism when more than
one damage mechanism is defined. Possible values are MAXIMUM and MULTIPLICATIVE. The
default value is MAXIMUM.This argument is applicable if *evolution*=ON.
evolutionTemperature
A Boolean specifying whether the evolution data depend on temperature. The default value
is OFF.This argument is applicable only if *evolution*=ON.
evolutionDependencies
An Int specifying the number of field variable dependencies for the evolution data. The
default value is 0.This argument is applicable only if *evolution*=ON.
evolutionPotentialOperator
A SymbolicConstant specifying the contribution operator for the evolution potential
contributions. Possible values are SUM and MAXIMUM. The default value is SUM.This
argument is applicable only if *coupling*=COUPLED, when *evolution*=ON, when
*evolutionType*=MOTION_TYPE, and when *criterion*=FORCE or MOTION.
evolutionPotentialExponent
A Float specifying the number equal to the inverse of the overall exponent in the
evolution potential definition. The default value is 2.0.This argument is applicable
only if *coupling*=COUPLED, when *evolution*=ON, when *evolutionPotentialOperator*=SUM,
when *evolutionType*=MOTION, and when *criterion*=FORCE or MOTION.
initiationPotentials
A ConnectorPotentialArray object specifying one ConnectorPotential object for each
initiation potential contribution. This member can be specified only if
*coupling*=COUPLED and if *criterion*=FORCE or MOTION.
evolutionPotentials
A ConnectorPotentialArray object specifying one ConnectorPotential object for each
evolution potential contribution). This member can be specified only if
*coupling*=COUPLED, if *evolution*=ON, if *evolutionType*=MOTION, and if
*criterion*=FORCE or MOTION.
initiationTable
A sequence of sequences of Floats specifying the initiation properties. The default
value is an empty sequence.Items in the *initiationTable* data are described below.
evolutionTable
A sequence of sequences of Floats specifying the evolution properties. The default value
is an empty sequence.Items in the *evolutionTable* data are described below. This
argument is only applicable if *evolution*=ON.
affectedComponents
A sequence of Ints specifying the components of relative motion that will be damaged.
Possible values are 1 ≤≤ *components* ≤≤ 6. Only available components can be specified.
This argument is applicable only if *evolution*=ON and *useAffected*=ON. The default
value is an empty sequence.
components
A sequence of Ints specifying the components of relative motion for which the behavior
is defined. Possible values are 1 ≤≤ *components* ≤≤ 6. Only available components can be
specified. This argument can be specified only if *coupling*=UNCOUPLED. The default
value is an empty sequence.
Returns
-------
A ConnectorDamage object.
Raises
------
ValueError and TextError.
"""
option = ConnectorDamage()
self.behaviorOptions.append(option)
return option
def ConnectorDamping(
self,
behavior: SymbolicConstant = LINEAR,
coupling: SymbolicConstant = UNCOUPLED,
dependencies: int = 0,
temperatureDependency: Boolean = OFF,
frequencyDependency: Boolean = OFF,
table: tuple = (),
independentComponents: tuple = (),
components: tuple = (),
):
"""This method creates a connector damping behavior option for a ConnectorSection object.
Notes
-----
This function can be accessed by:
.. code-block:: python
import connectorBehavior
connectorBehavior.ConnectorDamping
import odbConnectorBehavior
odbConnectorBehavior.ConnectorDamping
Parameters
----------
behavior
A SymbolicConstant specifying if the damping behavior is linear or nonlinear. Possible
values are LINEAR and NONLINEAR. The default value is LINEAR.
coupling
A SymbolicConstant specifying whether the damping behavior is coupled between the
connector's components of relative motion. If *behavior*=LINEAR, then possible values
are UNCOUPLED and COUPLED. If *behavior*=NONLINEAR, then possible values are UNCOUPLED,
COUPLED_POSITION, and COUPLED_MOTION. Possible values are UNCOUPLED, COUPLED,
COUPLED_POSITION, and COUPLED_MOTION. The default value is UNCOUPLED.
dependencies
An Int specifying the number of field variable dependencies. The default value is 0.
temperatureDependency
A Boolean specifying whether the behavior data depend on temperature. The default value
is OFF.
frequencyDependency
A Boolean specifying whether the behavior data depend on frequency. This value is
applicable only if *behavior*= LINEAR and *coupling*=UNCOUPLED. The default value is
OFF.
table
A sequence of sequences of Floats specifying damping properties. Items in the table data
are described below. The default value is an empty sequence.
independentComponents
A sequence of Ints specifying the list of independent components that are included in
the definition of the connector damping data. This argument is applicable only if
*behavior*=NONLINEAR and *coupling*=COUPLED_POSITION or COUPLED_MOTION. When this
argument is applicable, at least one value must be specified. Only available components
can be specified. The default value is an empty sequence.
components
A sequence of Ints specifying the components of relative motion for which the behavior
is defined. Possible values are 1 ≤≤ *components* ≤≤ 6. Only available components can be
specified. The default value is an empty sequence.
Returns
-------
A ConnectorDamping object.
Raises
------
ValueError and TextError.
"""
option = ConnectorDamping()
self.behaviorOptions.append(option)
return option
def ConnectorElasticity(
self,
behavior: SymbolicConstant = LINEAR,
coupling: SymbolicConstant = UNCOUPLED,
dependencies: int = 0,
temperatureDependency: Boolean = OFF,
frequencyDependency: Boolean = OFF,
table: tuple = (),
independentComponents: tuple = (),
components: tuple = (),
):
"""This method creates a connector elasticity behavior option for a ConnectorSection
object.
Notes
-----
This function can be accessed by:
.. code-block:: python
import connectorBehavior
connectorBehavior.ConnectorElasticity
import odbConnectorBehavior
odbConnectorBehavior.ConnectorElasticity
Parameters
----------
behavior
A SymbolicConstant specifying whether the elastic behavior is linear, nonlinear, or
rigid. Possible values are LINEAR, NONLINEAR, and RIGID. The default value is LINEAR.
coupling
A SymbolicConstant specifying whether the elastic behavior is coupled between the
connector's components of relative motion. If *behavior*=LINEAR, then possible values
are UNCOUPLED and COUPLED. If *behavior*=NONLINEAR, then possible values are UNCOUPLED,
COUPLED_POSITION, and COUPLED_MOTION. Possible values are UNCOUPLED, COUPLED,
COUPLED_POSITION, and COUPLED_MOTION. The default value is UNCOUPLED.This argument is
not applicable if *behavior*=RIGID.
dependencies
An Int specifying the number of field variable dependencies. The default value is 0.This
argument is not applicable if *behavior*=RIGID.
temperatureDependency
A Boolean specifying whether the behavior data depend on temperature. The default value
is OFF.This argument is not applicable if *behavior*=RIGID.
frequencyDependency
A Boolean specifying whether the behavior data depend on frequency. This value is
applicable only if *behavior*=LINEAR and *coupling*=UNCOUPLED. The default value is
OFF.This argument is not applicable if *behavior*=RIGID.
table
A sequence of sequences of Floats specifying elasticity properties. Items in the table
data are described below. This argument is not applicable if *behavior*=RIGID. The
default value is an empty sequence.
independentComponents
A sequence of Ints specifying the list of independent components that are included in
the definition of the connector elasticity data. This argument is applicable only if
*behavior*=NONLINEAR and *coupling*=COUPLED_POSITION or COUPLED_MOTION. If this argument
is applicable, at least one value must be specified. Only available components can be
specified. The default value is an empty sequence.
components
A sequence of Ints specifying the components of relative motion for which the behavior
is defined. Possible values are 1 ≤≤ *components* ≤≤ 6. Only available components can be
specified. The default value is an empty sequence.
Returns
-------
A ConnectorElasticity object.
Raises
------
ValueError and TextError.
"""
option = ConnectorElasticity()
self.behaviorOptions.append(option)
return option
def ConnectorFailure(
self,
releaseComponent: SymbolicConstant = ALL,
minMotion: float = None,
maxMotion: float = None,
minForce: float = None,
maxForce: float = None,
components: tuple = (),
):
"""This method creates a connector failure behavior option for a ConnectorSection object.
Notes
-----
This function can be accessed by:
.. code-block:: python
import connectorBehavior
connectorBehavior.ConnectorFailure
import odbConnectorBehavior
odbConnectorBehavior.ConnectorFailure
Parameters
----------
releaseComponent
The SymbolicConstant ALL or an Int specifying the motion components that fail. If an Int
is specified, only that motion component fails when the failure criteria are satisfied.
If *releaseComponent*=ALL, all motion components fail. The default value is ALL.
minMotion
None or a Float specifying the lower bound for the connector's relative position for all
specified components, or no lower bound. The default value is None.
maxMotion
None or a Float specifying the upper bound for the connector's relative position for all
specified components, or no upper bound. The default value is None.
minForce
None or a Float specifying the lower bound of the force or moment in the directions of
the specified components at which locking occurs, or no lower bound. The default value
is None.
maxForce
None or a Float specifying the upper bound of the force or moment in the directions of
the specified components at which locking occurs, or no upper bound. The default value
is None.
components
A sequence of Ints specifying the components of relative motion for which the behavior
is defined. Possible values are 1 ≤≤ *components* ≤≤ 6. Only available components can be
specified. The default value is an empty sequence.
Returns
-------
A ConnectorFailure object.
Raises
------
ValueError and TextError.
"""
option = ConnectorFailure()
self.behaviorOptions.append(option)
return option
def ConnectorFriction(
self,
frictionModel: SymbolicConstant = PREDEFINED,
slipStyle: SymbolicConstant = SPECIFY,
tangentDirection: int = None,
stickStiffness: float = None,
componentType: SymbolicConstant = NO_INDEPENDENT_COMPONENTS,
slipDependency: Boolean = OFF,
temperatureDependency: Boolean = OFF,
dependencies: int = 0,
useContactForceComponent: Boolean = OFF,
contactForceStyle: SymbolicConstant = COMPONENT_NUMBER,
contactForceComponent: int = 0,
forcePotentialOperator: SymbolicConstant = SUM,
forcePotentialExponent: float = 2,
connectorPotentials: ConnectorPotentialArray = None,
table: tuple = (),
independentComponents: tuple = (),
):
"""This method creates a connector friction behavior option for a ConnectorSection object.
Depending upon the arguments provided, the friction behavior can be Coulomb-like or
hysteretic in nature.
Notes
-----
This function can be accessed by:
.. code-block:: python
import connectorBehavior
connectorBehavior.ConnectorFriction
import odbConnectorBehavior
odbConnectorBehavior.ConnectorFriction
Parameters
----------
frictionModel
A SymbolicConstant specifying the desired frictional response model. Possible values are
PREDEFINED and USER_CUSTOMIZED. The default value is PREDEFINED.
slipStyle
A SymbolicConstant specifying the method of indicating the slip direction: either
specified or computed based upon the force potential data. Possible values are SPECIFY
and COMPUTE. The default value is SPECIFY.This argument is applicable only if
*frictionModel*=USER_CUSTOMIZED.
tangentDirection
None or an Int specifying the direction for which the frictional behavior is specified.
Possible values are 1 ≤≤ *tangentDirection* ≤≤ 6, indicating an available component of
relative motion. This argument applies only if *frictionModel*=USER_CUSTOMIZED and if
*slipStyle*=SPECIFY. The default value is None.
stickStiffness
None or a Float specifying the stick stiffness associated with the frictional behavior
in the direction specified by *tangentDirection*. If this argument is omitted, Abaqus
computes an appropriate number for the stick stiffness. The default value is None.
componentType
A SymbolicConstant specifying the type of the *independentComponents*. Possible values
are POSITION, MOTION, and NO_INDEPENDENT_COMPONENTS. The default value is
NO_INDEPENDENT_COMPONENTS.
slipDependency
A Boolean specifying whether the table data depend on accumulated slip. The default
value is OFF.This argument applies only if *frictionModel*=USER_CUSTOMIZED.
temperatureDependency
A Boolean specifying whether the table data depend on temperature. The default value is
OFF.This argument applies only if *frictionModel*=USER_CUSTOMIZED.
dependencies
An Int specifying the number of field variable dependencies. The default value is 0.This
argument applies only if *frictionModel*=USER_CUSTOMIZED.
useContactForceComponent
A Boolean specifying whether the contact force component will be defined. The default
value is OFF.This argument applies only if *frictionModel*=USER_CUSTOMIZED.
contactForceStyle
A SymbolicConstant specifying the method of indicating the contact force component
direction: either specified or computed based on upon a DerivedComponent. Possible
values are COMPONENT_NUMBER and DERIVED_COMPONENT. The default value is
COMPONENT_NUMBER.This argument is applicable only if *frictionModel*=USER_CUSTOMIZED and
if *useContactForceComponent*=ON.
contactForceComponent
An Int specifying the contact force component direction. This argument applies only if
*frictionModel*=USER_CUSTOMIZED, if *useContactForceComponent*=ON, and if
*contactForceStyle*=COMPONENT_NUMBER. The default value is 0.
forcePotentialOperator
A SymbolicConstant specifying the contribution operator for the force potential
contributions. Possible values are SUM and MAXIMUM. The default value is SUM.This
argument is applicable only if *frictionModel*=USER_CUSTOMIZED and if
*slipStyle*=COMPUTE.
forcePotentialExponent
A Float specifying the number equal to the inverse of the overall exponent in the force
potential definition. The default value is 2.0.This argument is applicable only if
*frictionModel*=USER_CUSTOMIZED, if *slipStyle*=COMPUTE, and if
*forcePotentialOperator*=SUM.
connectorPotentials
A ConnectorPotentialArray object specifying one ConnectorPotential object for each force
potential contribution. This member can be specified only if
*frictionModel*=USER_CUSTOMIZED, and if *slipStyle*=COMPUTE.
table
A sequence of sequences of Floats specifying friction properties. The default value is
an empty sequence.If *frictionModel*=PREDEFINED, each sequence of the table data
specifies:If applicable, the first geometric scaling constant relevant to frictional
interactions.Etc., up to as many geometric scaling constants as are associated with this
connection type.Internal contact force/moment generating friction in the first
predefined slip direction.If applicable, internal contact force/moment generating
friction in the second predefined slip direction.Connector constitutive relative motion
in the direction specified by *independentComponent*.Accumulated slip in the first
predefined slip direction, if the data depend on accumulated slip.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
*frictionModel*=USER_CUSTOMIZED, each sequence of the table data specifies:Effective
radius of the cylindrical or spherical surface over which frictional slip occurs in the
connector associated with frictional effects in the direction specified by
*tangentDirection*. This radius is relevant only if the connection type includes an
available rotational component of relative motion and
*tangentDirection*=SLIP_DIRECTION.Internal contact force/moment generating friction in
the direction specified by *tangentDirection*.Connector constitutive relative motion in
the direction specified by *independentComponent*.Accumulated slip in the direction
specified by *tangentDirection*, if the data depend on accumulated slip.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.
independentComponents
A sequence of Ints specifying the independent components. Possible values are 1 ≤≤
*independentComponents* ≤≤ 6. In addition, each independent component value must be
unique. The *independentComponents* argument applies only if
*frictionModel*=USER_CUSTOMIZED. Only available components can be specified. The default
value is an empty sequence.
Returns
-------
A ConnectorFriction object.
Raises
------
ValueError and TextError.
"""
option = ConnectorFriction()
self.behaviorOptions.append(option)
return option
def ConnectorLock(
self,
lockingComponent: SymbolicConstant = ALL,
minMotion: float = None,
maxMotion: float = None,
minForce: float = None,
maxForce: float = None,
components: tuple = (),
):
"""This method creates a connector lock behavior option for a ConnectorSection.
Notes
-----
This function can be accessed by:
.. code-block:: python
import connectorBehavior
connectorBehavior.ConnectorLock
import odbConnectorBehavior
odbConnectorBehavior.ConnectorLock
Parameters
----------
lockingComponent
The SymbolicConstant ALL or an Int specifying the motion components that are locked. If
an Int is specified, only that motion component is locked when the locking criteria are
satisfied. If *lockingComponent*=ALL, all motion components are locked. The default
value is ALL.
minMotion
None or a Float specifying the lower bound for the connector's relative position for all
specified components, or no lower bound. The default value is None.
maxMotion
None or a Float specifying the upper bound for the connector's relative position for all
specified components, or no upper bound. The default value is None.
minForce
None or a Float specifying the lower bound of the force or moment in the directions of
the specified components at which locking occurs, or no lower bound. The default value
is None.
maxForce
None or a Float specifying the upper bound of the force or moment in the directions of
the specified components at which locking occurs, or no upper bound. The default value
is None.
components
A sequence of Ints specifying the components of relative motion for which the behavior
is defined. Possible values are 1 ≤≤ *components* ≤≤ 6. Only available components can be
specified. The default value is an empty sequence.
Returns
-------
A ConnectorLock object.
Raises
------
ValueError and TextError.
"""
option = ConnectorLock()
self.behaviorOptions.append(option)
return option
def ConnectorPlasticity(
self,
coupling: SymbolicConstant = UNCOUPLED,
isotropic: Boolean = ON,
isotropicType: SymbolicConstant = TABULAR,
isotropicTemperature: Boolean = OFF,
isotropicDependencies: int = 0,
kinematic: Boolean = OFF,
kinematicType: SymbolicConstant = HALF_CYCLE,
kinematicTemperature: Boolean = OFF,
kinematicDependencies: int = 0,
forcePotentialOperator: SymbolicConstant = SUM,
forcePotentialExponent: float = 2,
connectorPotentials: ConnectorPotentialArray = None,
isotropicTable: tuple = (),
kinematicTable: tuple = (),
components: tuple = (),
):
"""This method creates a connector plasticity behavior option for a ConnectorSection
object.
Notes
-----
This function can be accessed by:
.. code-block:: python
import connectorBehavior
connectorBehavior.ConnectorPlasticity
import odbConnectorBehavior
odbConnectorBehavior.ConnectorPlasticity
Parameters
----------
coupling
A SymbolicConstant specifying whether or not the behavior is coupled. Possible values
are UNCOUPLED and COUPLED. The default value is UNCOUPLED.
isotropic
A Boolean specifying whether isotropic hardening data will be used. The default value is
ON.If *isotropic*=OFF, then *kinematic* must be specified as ON.
isotropicType
A SymbolicConstant specifying the type of isotropic hardening to be specified. Possible
values are TABULAR and EXPONENTIAL_LAW. The default value is TABULAR.This argument is
applicable only if *isotropic*=ON.
isotropicTemperature
A Boolean specifying whether the isotropic data depend on temperature. The default value
is OFF.This argument is applicable only if *isotropic*=ON.
isotropicDependencies
An Int specifying the number of field variable dependencies for the isotropic data. The
default value is 0.This argument is applicable only if *isotropic*=ON.
kinematic
A Boolean specifying whether kinematic hardening data will be used. The default value is
OFF.If *kinematic*=OFF, then *isotropic* must be specified as ON.
kinematicType
A SymbolicConstant specifying the type of kinematic hardening to be specified. Possible
values are HALF_CYCLE, STABILIZED, and PARAMETERS. The default value is HALF_CYCLE.This
argument is applicable only if *kinematic*=ON.
kinematicTemperature
A Boolean specifying whether the kinematic data depend on temperature. The default value
is OFF.This argument is applicable only if *kinematic*=ON.
kinematicDependencies
An Int specifying the number of field variable dependencies for the kinematic data. The
default value is 0.This argument is applicable only if *kinematic*=ON.
forcePotentialOperator
A SymbolicConstant specifying the contribution operator for the force potential
contributions. Possible values are SUM and MAXIMUM. The default value is SUM.This
argument is applicable only if *coupling*=COUPLED.
forcePotentialExponent
A Float specifying the number equal to the inverse of the overall exponent in the force
potential definition. The default value is 2.0.This argument is applicable only if
*coupling*=COUPLED and if *forcePotentialOperator*=SUM.
connectorPotentials
A ConnectorPotentialArray object specifying one ConnectorPotential object for each force
potential contribution. This member can be specified only if *coupling*=COUPLED.
isotropicTable
A sequence of sequences of Floats specifying isotropic plasticity properties. Items in
the *isotropicTable* data are described below. This argument is applicable only if
*isotropic*=ON. The default value is an empty sequence.
kinematicTable
A sequence of sequences of Floats specifying kinematic plasticity properties. Items in
the *kinematicTable* data are described below. This argument is applicable only if
*kinematic*=ON. The default value is an empty sequence.
components
A sequence of Ints specifying the components of relative motion for which the behavior
is defined. Possible values are 1 ≤≤ *components* ≤≤ 6. Only available components can be
specified. This argument can be specified only if *coupling*=UNCOUPLED. The default
value is an empty sequence.
Returns
-------
A ConnectorPlasticity object.
Raises
------
ValueError and TextError.
"""
option = ConnectorPlasticity()
self.behaviorOptions.append(option)
return option
def ConnectorPotential(
self,
componentStyle: SymbolicConstant = COMPONENT_NUMBER,
componentNumber: int = 0,
sign: SymbolicConstant = POSITIVE,
scaleFactor: float = 1,
positiveExponent: float = 2,
shiftFactor: float = 0,
hFunction: SymbolicConstant = ABS,
):
"""This method creates a connector potential object to be used in conjunction with an
allowable connector behavior option.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].sections[name].behaviorOptions[i].ConnectorPotential
session.odbs[name].sections[name].behaviorOptions[i].ConnectorPotential
Parameters
----------
componentStyle
A SymbolicConstant specifying whether a component number or the name of the
DerivedComponent object will be used in the contribution. Possible values are
COMPONENT_NUMBER and DERIVED_COMPONENT. The default value is COMPONENT_NUMBER.
componentNumber
An Int specifying the component number used in the contribution. This argument is
applicable only if *componentStyle*=COMPONENT_NUMBER. Possible values are 1 ≤≤
*componentNumber* ≤≤ 6. Only available components can be specified. The default value is
0.
sign
A SymbolicConstant specifying the sign of the contribution. Possible values are POSITIVE
and NEGATIVE. The default value is POSITIVE.
scaleFactor
A Float specifying the scaling factor for the contribution. The default value is 1.0.
positiveExponent
A Float specifying the positive exponent for the contribution. The default value is
2.0.This argument is ignored if the potential operator of the invoking behavior option
is set to MAXIMUM.
shiftFactor
A Float specifying the shift factor for the contribution. The default value is 0.0.
hFunction
A SymbolicConstant specifying the H function of the contribution: either absolute value,
Macauley bracket, or the identity function. Possible values are ABS, MACAULEY, and
IDENTITY. The default value is ABS.The value of IDENTITY can be used only if
*positiveExponent*=1.0 and the potential exponent of the invoking behavior option is
also 1.0 (i.e., the potential operator of the invoking behavior option must be SUM).
Returns
-------
A ConnectorPotential object.
Raises
------
ValueError and TextError.
"""
option = ConnectorPotential()
self.behaviorOptions.append(option)
return option
def ConnectorStop(
self, minMotion: float = None, maxMotion: float = None, components: tuple = ()
):
"""This method creates a connector stop behavior option for a ConnectorSection object.
Notes
-----
This function can be accessed by:
.. code-block:: python
import connectorBehavior
connectorBehavior.ConnectorStop
import odbConnectorBehavior
odbConnectorBehavior.ConnectorStop
Parameters
----------
minMotion
None or a Float specifying the lower bound for the connector's relative position for all
specified components, or no lower bound. The default value is None.
maxMotion
None or a Float specifying the upper bound for the connector's relative position for all
specified components, or no upper bound. The default value is None.
components
A sequence of Ints specifying the components of relative motion for which the behavior
is defined. Possible values are 1 ≤≤ *components* ≤≤ 6. Only available components can be
specified. The default value is an empty sequence.
Returns
-------
A ConnectorStop object.
Raises
------
ValueError and TextError.
"""
option = ConnectorStop()
self.behaviorOptions.append(option)
return option
def DerivedComponent(self):
"""This method creates a DerivedComponent object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].sections[name].behaviorOptions[i].connectorPotentials[i].DerivedComponent
mdb.models[name].sections[name].behaviorOptions[i].DerivedComponent
mdb.models[name].sections[name].behaviorOptions[i].evolutionPotentials[i].DerivedComponent
mdb.models[name].sections[name].behaviorOptions[i].initiationPotentials[i].DerivedComponent
session.odbs[name].sections[name].behaviorOptions[i].connectorPotentials[i].DerivedComponent
session.odbs[name].sections[name].behaviorOptions[i].DerivedComponent
session.odbs[name].sections[name].behaviorOptions[i].evolutionPotentials[i].DerivedComponent
session.odbs[name].sections[name].behaviorOptions[i].initiationPotentials[i].DerivedComponent
Returns
-------
A DerivedComponent object.
Raises
------
ValueError and TextError.
"""
option = DerivedComponent()
self.behaviorOptions.append(option)
return option
def TangentialBehavior(
self,
formulation: SymbolicConstant = PENALTY,
slipRateDependency: Boolean = OFF,
pressureDependency: Boolean = OFF,
temperatureDependency: Boolean = OFF,
dependencies: int = 0,
exponentialDecayDefinition: SymbolicConstant = COEFFICIENTS,
shearStressLimit: float = None,
maximumElasticSlip: SymbolicConstant = FRACTION,
fraction: float = None,
absoluteDistance: float = None,
table: tuple = (),
):
"""This method creates a TangentialBehavior object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].sections[name].behaviorOptions[i].TangentialBehavior
session.odbs[name].sections[name].behaviorOptions[i].TangentialBehavior
Parameters
----------
formulation
A SymbolicConstant specifying the friction coefficient formulation. Possible values are
PENALTY and EXPONENTIAL_DECAY. The default value is PENALTY.
slipRateDependency
A Boolean specifying whether the data depend on slip rate. The default value is OFF.
pressureDependency
A Boolean specifying whether the data depend on contact pressure. The default value is
OFF.
temperatureDependency
A Boolean specifying whether the data depend on temperature. The default value is OFF.
dependencies
An Int specifying the number of field variables for the data. The default value is 0.
exponentialDecayDefinition
A SymbolicConstant specifying the exponential decay definition for the data. Possible
values are COEFFICIENTS and TEST_DATA. The default value is COEFFICIENTS.
shearStressLimit
None or a Float specifying no upper limit or the friction coefficient shear stress
limit. The default value is None.
maximumElasticSlip
A SymbolicConstant specifying the method for modifying the allowable elastic slip.
Possible values are FRACTION and ABSOLUTE_DISTANCE. The default value is FRACTION.This
argument applies only to Abaqus/Standard analyses.
fraction
A Float specifying the ratio of the allowable maximum elastic slip to a characteristic
model dimension. The default value is 10–4.This argument applies only to Abaqus/Standard
analyses.
absoluteDistance
None or a Float specifying the absolute magnitude of the allowable elastic slip. The
default value is None.This argument applies only to Abaqus/Standard analyses.
table
A sequence of sequences of Floats specifying the tangential properties. Items in the
table data are described below. The default value is an empty sequence.
Returns
-------
A TangentialBehavior object. .
"""
option = TangentialBehavior()
self.behaviorOptions.append(option)
return option