This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
/
SubmodelBC.py
252 lines (227 loc) · 12 KB
/
SubmodelBC.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
from abaqusConstants import *
from .BoundaryCondition import BoundaryCondition
from ..Region.Region import Region
class SubmodelBC(BoundaryCondition):
"""The SubmodelBC object stores the data for a submodel boundary condition.
The SubmodelBC object is derived from the BoundaryCondition object.
Attributes
----------
name: str
A String specifying the boundary condition repository key.
shellThickness: float
A Float specifying the thickness of the shell in the global model. This argument is
required for shell-to-solid submodeling and is not applicable to other submodels. The
default value is 0.0.
absoluteExteriorTolerance: float
None or a Float specifying the absolute value by which a driven node of the submodel can
lie outside the region of the elements of the global model. The default value is None.
exteriorTolerance: float
None or a Float specifying the fraction of the average element size in the global model
by which a driven node of the submodel can lie outside the region of the elements of the
global model. The default value is 0.05.
globalDrivingRegion: str
A String specifying the element set in the global model that will be searched for
elements whose responses will be used to drive the submodel. An empty string indicates
that the entire global model will be searched. The default value is an empty string.
category: SymbolicConstant
A SymbolicConstant specifying the category of the boundary condition. Possible values
are MECHANICAL and THERMAL.
region: Region
A :py:class:`~abaqus.Region.Region.Region` object specifying the region to which the boundary condition is applied.
localCsys: str
None or a :py:class:`~abaqus.Datum.DatumCsys.DatumCsys` object specifying the local coordinate system of the boundary
condition's degrees of freedom. If **localCsys=None**, the degrees of freedom are defined
in the global coordinate system. The default value is None.
Notes
-----
This object can be accessed by:
.. code-block:: python
import load
mdb.models[name].boundaryConditions[name]
"""
# A String specifying the boundary condition repository key.
name: str = ""
# A Float specifying the thickness of the shell in the global model. This argument is
# required for shell-to-solid submodeling and is not applicable to other submodels. The
# default value is 0.0.
shellThickness: float = 0
# None or a Float specifying the absolute value by which a driven node of the submodel can
# lie outside the region of the elements of the global model. The default value is None.
absoluteExteriorTolerance: float = None
# None or a Float specifying the fraction of the average element size in the global model
# by which a driven node of the submodel can lie outside the region of the elements of the
# global model. The default value is 0.05.
exteriorTolerance: float = 0
# A String specifying the element set in the global model that will be searched for
# elements whose responses will be used to drive the submodel. An empty string indicates
# that the entire global model will be searched. The default value is an empty string.
globalDrivingRegion: str = ""
# A SymbolicConstant specifying the category of the boundary condition. Possible values
# are MECHANICAL and THERMAL.
category: SymbolicConstant = None
# A Region object specifying the region to which the boundary condition is applied.
region: Region = Region()
# None or a DatumCsys object specifying the local coordinate system of the boundary
# condition's degrees of freedom. If *localCsys*=None, the degrees of freedom are defined
# in the global coordinate system. The default value is None.
localCsys: str = None
def __init__(
self,
name: str,
createStepName: str,
region: Region,
dof: tuple,
globalStep: str,
timeScale: Boolean,
shellThickness: float,
globalDrivingRegion: str = "",
absoluteExteriorTolerance: float = None,
exteriorTolerance: float = 0,
localCsys: str = None,
globalIncrement: int = 0,
centerZoneSize: float = None,
intersectionOnly: Boolean = OFF,
):
"""This method creates a SubmodelBC object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].SubmodelBC
Parameters
----------
name
A String specifying the boundary condition repository key.
createStepName
A String specifying the name of the step in which the boundary condition is created.
region
A Region object specifying the region to which the boundary condition is applied.
dof
A sequence of Ints specifying the degrees of freedom to which the boundary condition is
applied.
globalStep
A String specifying the step in the global model from which Abaqus reads the values of
the variables that will drive the submodel analysis. The String indicates the position
of the step in the sequence of analysis steps. For example, *globalStep*='1' indicates
the first step.
timeScale
A Boolean specifying whether to scale the time variable for the driven nodes' amplitude
functions to match the submodel analysis step time. The default value is OFF.
shellThickness
A Float specifying the thickness of the shell in the global model. This argument is
required for shell-to-solid submodeling and is not applicable to other submodels. The
default value is 0.0.
globalDrivingRegion
A String specifying the element set in the global model that will be searched for
elements whose responses will be used to drive the submodel. An empty string indicates
that the entire global model will be searched. The default value is an empty string.
absoluteExteriorTolerance
None or a Float specifying the absolute value by which a driven node of the submodel can
lie outside the region of the elements of the global model. The default value is None.
exteriorTolerance
None or a Float specifying the fraction of the average element size in the global model
by which a driven node of the submodel can lie outside the region of the elements of the
global model. The default value is 0.05.
localCsys
None or a DatumCsys object specifying the local coordinate system of the boundary
condition's degrees of freedom. If *localCsys*=None, the degrees of freedom are defined
in the global coordinate system. The default value is None.
globalIncrement
An Int specifying the increment number in the global model step from which the solution
will be used to specify the values of the driven variables. If *globalIncrement*=0, the
solution from the last increment will be used. The *globalIncrement* argument is
applicable only for linear perturbation steps. The default value is 0.
centerZoneSize
A Float specifying the thickness of the center zone size around the shell midsurface.
The default value is None.
intersectionOnly
A Boolean specifying whether to ignore driven nodes that lie outside the region of
elements of the global model after accounting for the exterior search tolerance. The
default value is OFF.
Returns
-------
A SubmodelBC object.
"""
super().__init__()
pass
def setValues(
self,
globalDrivingRegion: str = "",
absoluteExteriorTolerance: float = None,
exteriorTolerance: float = 0,
localCsys: str = None,
globalIncrement: int = 0,
centerZoneSize: float = None,
intersectionOnly: Boolean = OFF,
):
"""This method modifies the data for an existing SubmodelBC object in the step where it is
created.
Parameters
----------
globalDrivingRegion
A String specifying the element set in the global model that will be searched for
elements whose responses will be used to drive the submodel. An empty string indicates
that the entire global model will be searched. The default value is an empty string.
absoluteExteriorTolerance
None or a Float specifying the absolute value by which a driven node of the submodel can
lie outside the region of the elements of the global model. The default value is None.
exteriorTolerance
None or a Float specifying the fraction of the average element size in the global model
by which a driven node of the submodel can lie outside the region of the elements of the
global model. The default value is 0.05.
localCsys
None or a DatumCsys object specifying the local coordinate system of the boundary
condition's degrees of freedom. If *localCsys*=None, the degrees of freedom are defined
in the global coordinate system. The default value is None.
globalIncrement
An Int specifying the increment number in the global model step from which the solution
will be used to specify the values of the driven variables. If *globalIncrement*=0, the
solution from the last increment will be used. The *globalIncrement* argument is
applicable only for linear perturbation steps. The default value is 0.
centerZoneSize
A Float specifying the thickness of the center zone size around the shell midsurface.
The default value is None.
intersectionOnly
A Boolean specifying whether to ignore driven nodes that lie outside the region of
elements of the global model after accounting for the exterior search tolerance. The
default value is OFF.
"""
pass
def setValuesInStep(
self,
stepName: str,
fixed: Boolean = ON,
dof: tuple = (),
globalStep: str = "",
globalIncrement: int = 0,
centerZoneSize: float = None,
):
"""This method modifies the propagating data for an existing SubmodelBC object in the
specified step.
Parameters
----------
stepName
A String specifying the name of the step in which the boundary condition is modified.
fixed
A Boolean specifying whether the boundary condition should remain fixed at the current
values at the start of the step. The default value is ON.
dof
A sequence of Ints specifying the degrees of freedom to which the boundary condition is
applied. The *dof* argument is applicable only if *fixed*=OFF.
globalStep
A String specifying the step in the global model from which Abaqus reads the values of
the variables that will drive the submodel analysis. The String indicates the position
of the step in the sequence of analysis steps. For example, *globalStep*='1' indicates
the first step. The *globalStep* argument is applicable only if *fixed*=OFF.
globalIncrement
An Int specifying the increment number in the global model step at which the solution
will be used to specify the values of the driven variables. If *globalIncrement*=0, the
solution from the last increment will be used. The *globalIncrement* argument is
applicable only for linear perturbation steps and if *fixed*=OFF. The default value is
0.
centerZoneSize
A Float specifying the thickness of the center zone size around the shell midsurface.
The default value is None.The *centerZoneSize* argument is applicable only if
*fixed*=OFF.
"""
pass