This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
/
CyclicSymmetry.py
201 lines (182 loc) · 9.1 KB
/
CyclicSymmetry.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
from abaqusConstants import *
from .Interaction import Interaction
from ..Region.Region import Region
class CyclicSymmetry(Interaction):
"""The CyclicSymmetry object defines a cyclic symmetry analysis.
The CyclicSymmetry object is derived from the Interaction object.
Notes
-----
This object can be accessed by:
.. code-block:: python
import interaction
mdb.models[name].interactions[name]
The corresponding analysis keywords are:
- CLOAD
- CYCLIC SYMMETRY MODEL
- DLOAD
- DSLOAD
- SELECT CYCLIC SYMMETRY MODES
- TIE
"""
def __init__(
self,
name: str,
createStepName: str,
main: Region,
secondary: Region,
repetitiveSectors: int,
axisPoint1: Region,
axisPoint2: Region,
extractedNodalDiameter: SymbolicConstant = ALL_NODAL_DIAMETER,
lowestNodalDiameter: int = 0,
highestNodalDiameter: int = 0,
excitationNodalDiameter: int = 0,
adjustTie: Boolean = ON,
positionTolerance: float = 0,
positionToleranceMethod: SymbolicConstant = COMPUTED_TOLERANCE,
):
"""This method creates a CyclicSymmetry object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].CyclicSymmetry
Parameters
----------
name
A String specifying the repository key.
createStepName
A String specifying the name of the step in which the cyclic symmetry interaction should
be created.
main
A Region object specifying the main surface.
secondary
A Region object specifying the secondary surface.
repetitiveSectors
An Int specifying the total number of sectors in the cyclic symmetric model.
axisPoint1
A Region object specifying the first point of the axis of symmetry. The region should
contain exactly one mesh node, vertex, interesting point, reference point, or datum
point. In a two-dimensional model *axisPoint1* is the only point used to define the axis
of symmetry.
axisPoint2
A Region object specifying the second point of the axis of symmetry. The region should
contain exactly one mesh node, vertex, interesting point, reference point, or datum
point. This point is ignored in a two-dimensional model.
extractedNodalDiameter
A SymbolicConstant specifying whether Abaqus should extract all possible nodal diameters
or the nodal diameters between the user-specified values for *lowestNodalDiameter* and
*highestNodalDiameter*. Possible values are ALL_NODAL_DIAMETER and
SPECIFIED_NODAL_DIAMETER. The default value is ALL_NODAL_DIAMETER.
lowestNodalDiameter
An Int specifying the lowest nodal diameter to be used in the eigenfrequency analysis.
The default value is 0.
highestNodalDiameter
An Int specifying the highest nodal diameter to be used in the eigenfrequency analysis.
This argument value should be less than or equal to the half of the total number of
sectors (as specified in the *repetitiveSectors* parameter). The default value is 0.
excitationNodalDiameter
An Int specifying the nodal diameter for which the modal-based steady-state dynamic
analysis will be performed. This value should be greater than or equal to the lowest
nodal diameter (specified in the *lowestNodalDiameter* parameter), and less than or
equal to the highest nodal diameter (specified in the *highestNodalDiameter* parameter).
The default value is 0.
adjustTie
A Boolean specifying whether or not to adjust the secondary surface of the cyclic
symmetry to tie it to the main surface. The default value is ON.
positionTolerance
A Float specifying the position tolerance. The*positionTolerance* argument applies only
when *positionToleranceMethod*=SPECIFY_TOLERANCE. The default value is 0.0.
positionToleranceMethod
A SymbolicConstant specifying the method used to determine the position tolerance.
Possible values are COMPUTED_TOLERANCE and SPECIFY_TOLERANCE. The default value is
COMPUTED_TOLERANCE.
Returns
-------
A CyclicSymmetry object.
"""
super().__init__()
pass
def swapSurfaces(self):
"""This method switches the master and slave surfaces of a cyclic symmetry interaction.
This command is valid only during the step in which the interaction is created.
"""
pass
def setValues(
self,
extractedNodalDiameter: SymbolicConstant = ALL_NODAL_DIAMETER,
lowestNodalDiameter: int = 0,
highestNodalDiameter: int = 0,
excitationNodalDiameter: int = 0,
adjustTie: Boolean = ON,
positionTolerance: float = 0,
positionToleranceMethod: SymbolicConstant = COMPUTED_TOLERANCE,
):
"""This method modifies the data for an existing CyclicSymmetry object in the step where it
is created.
Parameters
----------
extractedNodalDiameter
A SymbolicConstant specifying whether Abaqus should extract all possible nodal diameters
or the nodal diameters between the user-specified values for *lowestNodalDiameter* and
*highestNodalDiameter*. Possible values are ALL_NODAL_DIAMETER and
SPECIFIED_NODAL_DIAMETER. The default value is ALL_NODAL_DIAMETER.
lowestNodalDiameter
An Int specifying the lowest nodal diameter to be used in the eigenfrequency analysis.
The default value is 0.
highestNodalDiameter
An Int specifying the highest nodal diameter to be used in the eigenfrequency analysis.
This argument value should be less than or equal to the half of the total number of
sectors (as specified in the *repetitiveSectors* parameter). The default value is 0.
excitationNodalDiameter
An Int specifying the nodal diameter for which the modal-based steady-state dynamic
analysis will be performed. This value should be greater than or equal to the lowest
nodal diameter (specified in the *lowestNodalDiameter* parameter), and less than or
equal to the highest nodal diameter (specified in the *highestNodalDiameter* parameter).
The default value is 0.
adjustTie
A Boolean specifying whether or not to adjust the secondary surface of the cyclic
symmetry to tie it to the main surface. The default value is ON.
positionTolerance
A Float specifying the position tolerance. The*positionTolerance* argument applies only
when *positionToleranceMethod*=SPECIFY_TOLERANCE. The default value is 0.0.
positionToleranceMethod
A SymbolicConstant specifying the method used to determine the position tolerance.
Possible values are COMPUTED_TOLERANCE and SPECIFY_TOLERANCE. The default value is
COMPUTED_TOLERANCE.
"""
pass
def setValuesInStep(
self,
stepName: str,
extractedNodalDiameter: SymbolicConstant = ALL_NODAL_DIAMETER,
lowestNodalDiameter: int = 0,
highestNodalDiameter: int = 0,
excitationNodalDiameter: int = 0,
):
"""This method modifies the propagating data of an existing CyclicSymmetry object in the
specified step.
Parameters
----------
stepName
A String specifying the name of the step in which the interaction is modified.
extractedNodalDiameter
A SymbolicConstant specifying whether Abaqus should extract all possible nodal diameters
or the nodal diameters between the user-specified values for *lowestNodalDiameter* and
*highestNodalDiameter*. Possible values are ALL_NODAL_DIAMETER and
SPECIFIED_NODAL_DIAMETER. The default value is ALL_NODAL_DIAMETER.
lowestNodalDiameter
An Int specifying the lowest nodal diameter to be used in the eigenfrequency analysis.
The default value is 0.
highestNodalDiameter
An Int specifying the highest nodal diameter to be used in the eigenfrequency analysis.
This argument value should be less than or equal to the half of the total number of
sectors (as specified in the *repetitiveSectors* parameter). The default value is 0.
excitationNodalDiameter
An Int specifying the nodal diameter for which the modal-based steady-state dynamic
analysis will be performed. This value should be greater than or equal to the lowest
nodal diameter (specified in the *lowestNodalDiameter* parameter), and less than or
equal to the highest nodal diameter (specified in the *highestNodalDiameter* parameter).
The default value is 0.
"""
pass