This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
/
CompositeShellSection.py
229 lines (210 loc) · 10.9 KB
/
CompositeShellSection.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
from abaqusConstants import *
from .GeometryShellSection import GeometryShellSection
from .RebarLayers import RebarLayers
from .SectionLayerArray import SectionLayerArray
from .TransverseShearShell import TransverseShearShell
class CompositeShellSection(GeometryShellSection):
"""The CompositeShellSection object defines the properties of a composite shell section.
The CompositeShellSection object is derived from the GeometryShellSection object.
Attributes
----------
rebarLayers: RebarLayers
A :py:class:`~abaqus.Section.RebarLayers.RebarLayers` object specifying reinforcement properties.
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]
The corresponding analysis keywords are:
- SHELL SECTION
- SHELL GENERAL SECTION
"""
# A RebarLayers object specifying reinforcement properties.
rebarLayers: RebarLayers = None
# A TransverseShearShell object specifying the transverse shear stiffness properties.
transverseShear: TransverseShearShell = None
def __init__(
self,
name: str,
layup: SectionLayerArray,
symmetric: Boolean = OFF,
thicknessType: SymbolicConstant = UNIFORM,
preIntegrate: Boolean = OFF,
poissonDefinition: SymbolicConstant = DEFAULT,
poisson: float = 0,
integrationRule: SymbolicConstant = SIMPSON,
temperature: SymbolicConstant = GRADIENT,
idealization: SymbolicConstant = NO_IDEALIZATION,
nTemp: int = None,
thicknessModulus: float = None,
useDensity: Boolean = OFF,
density: float = 0,
layupName: str = "",
thicknessField: str = "",
nodalThicknessField: str = "",
):
"""This method creates a CompositeShellSection object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[name].compositeLayups[i].CompositeShellSection
mdb.models[name].CompositeShellSection
session.odbs[name].CompositeShellSection
Parameters
----------
name
A String specifying the repository key.
layup
A SectionLayerArray object specifying the shell cross-section.
symmetric
A Boolean specifying whether or not the layup should be made symmetric by the analysis.
The default value is OFF.
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.
idealization
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
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.
layupName
A String specifying the layup name for this section. 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.
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.
Returns
-------
A CompositeShellSection object.
"""
super().__init__()
pass
def setValues(
self,
symmetric: Boolean = OFF,
thicknessType: SymbolicConstant = UNIFORM,
preIntegrate: Boolean = OFF,
poissonDefinition: SymbolicConstant = DEFAULT,
poisson: float = 0,
integrationRule: SymbolicConstant = SIMPSON,
temperature: SymbolicConstant = GRADIENT,
idealization: SymbolicConstant = NO_IDEALIZATION,
nTemp: int = None,
thicknessModulus: float = None,
useDensity: Boolean = OFF,
density: float = 0,
layupName: str = "",
thicknessField: str = "",
nodalThicknessField: str = "",
):
"""This method modifies the CompositeShellSection object.
Parameters
----------
symmetric
A Boolean specifying whether or not the layup should be made symmetric by the analysis.
The default value is OFF.
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.
idealization
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
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.
layupName
A String specifying the layup name for this section. 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.
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.
"""
pass