This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
/
GeometryShellSection.py
270 lines (235 loc) · 13.2 KB
/
GeometryShellSection.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
from abaqusConstants import *
from .LayerPropertiesArray import LayerPropertiesArray
from .RebarLayers import RebarLayers
from .ShellSection import ShellSection
from .TransverseShearShell import TransverseShearShell
class GeometryShellSection(ShellSection):
"""The GeometryShellSection object defines the properties of a geometry shell section. The
GeometryShellSection object has no explicit constructor and no methods. The
GeometryShellSection object is an abstract base type.
The GeometryShellSection object is derived from the ShellSection object.
Attributes
----------
name: str
A String specifying the repository key.
thicknessType: SymbolicConstant
A SymbolicConstant specifying the distribution used for defining the thickness of the
elements. Possible values are UNIFORM, ANALYTICAL_FIELD, DISCRETE_FIELD,
NODAL_ANALYTICAL_FIELD, and NODAL_DISCRETE_FIELD. The default value is UNIFORM.
preIntegrate: Boolean
A Boolean specifying whether the shell section properties are specified by the user
prior to the analysis (ON) or integrated during the analysis (OFF). The default value is
OFF.
poissonDefinition: SymbolicConstant
A SymbolicConstant specifying whether to use the default value for the Poisson's ratio.
Possible values are:DEFAULT, specifying that the default value for the Poisson's ratio
is 0.5 in an Abaqus/Standard analysis and is obtained from the material definition in an
Abaqus/Explicit analysis.VALUE, specifying that the Poisson's ratio used in the analysis
is the value provided in **poisson**.The default value is DEFAULT.
poisson: float
A Float specifying the Poisson's ratio. Possible values are −1.0 ≤≤ **poisson** ≤≤ 0.5.
This argument is valid only when **poissonDefinition=VALUE**. The default value is 0.5.
integrationRule: SymbolicConstant
A SymbolicConstant specifying the shell section integration rule. Possible values are
SIMPSON and GAUSS. The default value is SIMPSON.
temperature: SymbolicConstant
A SymbolicConstant specifying the mode used for temperature and field variable input
across the section thickness. Possible values are GRADIENT and POINTWISE. The default
value is GRADIENT.
idealization: SymbolicConstant
A SymbolicConstant specifying the mechanical idealization used for the section
calculations. This member is only applicable when **preIntegrate** is set to ON. Possible
values are NO_IDEALIZATION, SMEAR_ALL_LAYERS, MEMBRANE, and BENDING. The default value
is NO_IDEALIZATION.
nTemp: int
None or an Int specifying the number of temperature points to be input. This argument is
valid only when **temperature=POINTWISE**. The default value is None.
thicknessModulus: float
None or a Float specifying the effective thickness modulus. This argument is relevant
only for continuum shells and must be used in conjunction with the argument **poisson**.
The default value is None.
useDensity: Boolean
A Boolean specifying whether or not to use the value of **density**. The default value is
OFF.
density: float
A Float specifying the value of density to apply to this section. The default value is
0.0.
thicknessField: str
A String specifying the name of the AnalyticalField or :py:class:`~abaqus.Field.DiscreteField.DiscreteField` object used to
define the thickness of the shell elements. The **thicknessField** argument applies only
when **thicknessType=ANALYTICAL_FIELD** or **thicknessType=DISCRETE_FIELD**. The default
value is an empty string.
rebarLayers: RebarLayers
A :py:class:`~abaqus.Section.RebarLayers.RebarLayers` object specifying reinforcement properties.
nodalThicknessField: str
A String specifying the name of the AnalyticalField or :py:class:`~abaqus.Field.DiscreteField.DiscreteField` object used to
define the thickness of the shell elements at each node. The **nodalThicknessField**
argument applies only when **thicknessType=NODAL_ANALYTICAL_FIELD** or
**thicknessType=NODAL_DISCRETE_FIELD**. The default value is an empty string.
transverseShear: TransverseShearShell
A :py:class:`~abaqus.Section.TransverseShearShell.TransverseShearShell` object specifying the transverse shear stiffness properties.
Notes
-----
This object can be accessed by:
.. code-block:: python
import section
mdb.models[name].parts[name].compositeLayups[i].section
mdb.models[name].sections[name]
import odbSection
session.odbs[name].sections[name]
"""
# A String specifying the repository key.
name: str = ""
# A SymbolicConstant specifying the distribution used for defining the thickness of the
# elements. Possible values are UNIFORM, ANALYTICAL_FIELD, DISCRETE_FIELD,
# NODAL_ANALYTICAL_FIELD, and NODAL_DISCRETE_FIELD. The default value is UNIFORM.
thicknessType: SymbolicConstant = UNIFORM
# A Boolean specifying whether the shell section properties are specified by the user
# prior to the analysis (ON) or integrated during the analysis (OFF). The default value is
# OFF.
preIntegrate: Boolean = OFF
# A SymbolicConstant specifying whether to use the default value for the Poisson's ratio.
# Possible values are:DEFAULT, specifying that the default value for the Poisson's ratio
# is 0.5 in an Abaqus/Standard analysis and is obtained from the material definition in an
# Abaqus/Explicit analysis.VALUE, specifying that the Poisson's ratio used in the analysis
# is the value provided in *poisson*.The default value is DEFAULT.
poissonDefinition: SymbolicConstant = DEFAULT
# A Float specifying the Poisson's ratio. Possible values are −1.0 ≤≤ *poisson* ≤≤ 0.5.
# This argument is valid only when *poissonDefinition*=VALUE. The default value is 0.5.
poisson: float = 0
# A SymbolicConstant specifying the shell section integration rule. Possible values are
# SIMPSON and GAUSS. The default value is SIMPSON.
integrationRule: SymbolicConstant = SIMPSON
# A SymbolicConstant specifying the mode used for temperature and field variable input
# across the section thickness. Possible values are GRADIENT and POINTWISE. The default
# value is GRADIENT.
temperature: SymbolicConstant = GRADIENT
# A SymbolicConstant specifying the mechanical idealization used for the section
# calculations. This member is only applicable when *preIntegrate* is set to ON. Possible
# values are NO_IDEALIZATION, SMEAR_ALL_LAYERS, MEMBRANE, and BENDING. The default value
# is NO_IDEALIZATION.
idealization: SymbolicConstant = NO_IDEALIZATION
# None or an Int specifying the number of temperature points to be input. This argument is
# valid only when *temperature*=POINTWISE. The default value is None.
nTemp: int = None
# None or a Float specifying the effective thickness modulus. This argument is relevant
# only for continuum shells and must be used in conjunction with the argument *poisson*.
# The default value is None.
thicknessModulus: float = None
# A Boolean specifying whether or not to use the value of *density*. The default value is
# OFF.
useDensity: Boolean = OFF
# A Float specifying the value of density to apply to this section. The default value is
# 0.0.
density: float = 0
# A String specifying the name of the AnalyticalField or DiscreteField object used to
# define the thickness of the shell elements. The *thicknessField* argument applies only
# when *thicknessType*=ANALYTICAL_FIELD or *thicknessType*=DISCRETE_FIELD. The default
# value is an empty string.
thicknessField: str = ""
# A RebarLayers object specifying reinforcement properties.
rebarLayers: RebarLayers = RebarLayers(CONSTANT, LayerPropertiesArray())
# A String specifying the name of the AnalyticalField or DiscreteField object used to
# define the thickness of the shell elements at each node. The *nodalThicknessField*
# argument applies only when *thicknessType*=NODAL_ANALYTICAL_FIELD or
# *thicknessType*=NODAL_DISCRETE_FIELD. The default value is an empty string.
nodalThicknessField: str = ""
# A TransverseShearShell object specifying the transverse shear stiffness properties.
transverseShear: TransverseShearShell = None
def __init__(
self,
nodalThicknessField: str = "",
thicknessField: str = "",
thicknessType: SymbolicConstant = UNIFORM,
preIntegrate: Boolean = OFF,
poissonDefinition: SymbolicConstant = DEFAULT,
poisson: float = 0,
integrationRule: SymbolicConstant = SIMPSON,
temperature: SymbolicConstant = GRADIENT,
nTemp: int = None,
thicknessModulus: float = None,
useDensity: Boolean = OFF,
density: float = 0,
):
"""This method creates a GeometryShellSection object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].compositeLayups[*name*].Section
Parameters
----------
nodalThicknessField
A String specifying the name of the AnalyticalField or DiscreteField object used to
define the thickness of the shell elements at each node. The *nodalThicknessField*
argument applies only when *thicknessType*=NODAL_ANALYTICAL_FIELD or
*thicknessType*=NODAL_DISCRETE_FIELD. The default value is an empty string.
thicknessField
A String specifying the name of the AnalyticalField or DiscreteField object used to
define the thickness of the shell elements. The *thicknessField* argument applies only
when *thicknessType*=ANALYTICAL_FIELD or *thicknessType*=DISCRETE_FIELD. The default
value is an empty string.
thicknessType
A SymbolicConstant specifying the distribution used for defining the thickness of the
elements. Possible values are UNIFORM, ANALYTICAL_FIELD, DISCRETE_FIELD,
NODAL_ANALYTICAL_FIELD, and NODAL_DISCRETE_FIELD. The default value is UNIFORM.
preIntegrate
A Boolean specifying whether the shell section properties are specified by the user
prior to the analysis (ON) or integrated during the analysis (OFF). The default value is
OFF.
poissonDefinition
A SymbolicConstant specifying whether to use the default value for the Poisson's ratio.
Possible values are:DEFAULT, specifying that the default value for the Poisson's ratio
is 0.5 in an Abaqus/Standard analysis and is obtained from the material definition in an
Abaqus/Explicit analysis.VALUE, specifying that the Poisson's ratio used in the analysis
is the value provided in *poisson*.The default value is DEFAULT.
poisson
A Float specifying the Poisson's ratio. Possible values are −1.0 ≤≤ *poisson* ≤≤ 0.5.
This argument is valid only when *poissonDefinition*=VALUE. The default value is 0.5.
integrationRule
A SymbolicConstant specifying the shell section integration rule. Possible values are
SIMPSON and GAUSS. The default value is SIMPSON.
temperature
A SymbolicConstant specifying the mode used for temperature and field variable input
across the section thickness. Possible values are GRADIENT and POINTWISE. The default
value is GRADIENT.
nTemp
None or an Int specifying the number of temperature points to be input. This argument is
valid only when *temperature*=POINTWISE. The default value is None.
thicknessModulus
None or a Float specifying the effective thickness modulus. This argument is relevant
only for continuum shells and must be used in conjunction with the argument *poisson*.
The default value is None.
useDensity
A Boolean specifying whether or not to use the value of *density*. The default value is
OFF.
density
A Float specifying the value of density to apply to this section. The default value is
0.0.
Returns
-------
A GeometryShellSection object.
"""
pass
def RebarLayers(
self, rebarSpacing: SymbolicConstant, layerTable: LayerPropertiesArray
) -> RebarLayers:
"""This method creates a RebarLayers object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].compositeLayups[*name*].Section
Parameters
----------
rebarSpacing
A SymbolicConstant specifying the type of rebar geometry. Possible values are CONSTANT,
ANGULAR, and LIFT_EQUATION.
layerTable
A LayerPropertiesArray object specifying the layers of reinforcement.
Returns
-------
A RebarLayers object.
"""
self.rebarLayers = rebarLayers = RebarLayers(rebarSpacing, layerTable)
return rebarLayers