3.1.9.11. ASDShellQ4 Element¶
This command is used to construct an ASDShellQ4 element object. The ASDShellQ4 element is a 4-node general purpose thick shell element with the following features:
The membrane behavior is enhanced with the AGQ6-I [ChenEtAl2004] formulation, which makes the element almost insensitive to geometry distortion, as opposed to standard iso-parametric elements.
The drilling DOF is treated with the Hughes-Brezzi [HughesEtAl1989] formulation, with special care to avoid membrane locking, using a 1 point quadrature plus stabilization.
The plate bending part is treated using the MITC4 [DvorkinEtAl1984] [BatheEtAl1985] formulation, to avoid the well known transverse shear locking behavior of thick plate elements.
It can be used to model both flat and warped geometries.
Kinematics can be either linear or corotational. The corotational kinematics is based on the work of Felippa et al., i.e. the EICR [Felippa2000] [FelippaEtAl2005] (Element Independent Corotational formulation). Finite rotations are treated with Quaternions.
It uses a full 2x2 Gauss quadrature, so it has a total of 4 integration points.
- element ASDShellQ4 $eleTag $n1 $n2 $n3 $n4 $secTag <-corotational>
Argument |
Type |
Description |
---|---|---|
$eleTag |
integer |
unique integer tag identifying element object |
$n1 $n2 $n3 $n4 |
4 integer |
the four nodes defining the element (-ndm 3 -ndf 6) |
$secTag |
integer |
unique integer tag associated with previously-defined SectionForceDeformation object |
-corotational |
string |
optional flag, if provided, the element uses non-linear kinematics, suitable for large displacement/rotation problems |

Fig. 3.1.9.11 Nodes, Gauss points, local coordinate system, warped and flat geometry¶
Note
Valid queries to the ASDShellQ4 element when creating an ElementRecorder object are:
- ‘force’, ‘forces’, ‘globalForce’, or ‘globalForces’:
Internal forces at the element’s nodes.
Orientation: global coordinate system.
Size: 24 columns of data, 6 components for each one of the 4 nodes.
- ‘material $secTag $secArg1 … $secArgN’:
Section response at section $secTag
$secTag is the 1-based index of the integration point (1 to 4).
‘$secArg1 … $secArgN’ are the arguments required by the SectionDeformationObject at the requested integration point.
Example
Tcl Code
# set up a 3D-6DOFs model
model Basic -ndm 3 -ndf 6
node 1 0.0 0.0 0.0
node 2 1.0 0.0 0.0
node 3 1.0 1.0 0.0
node 4 0.0 1.0 0.0
# create a fiber shell section with 4 layers of material 1
# each layer has a thickness = 0.025
nDMaterial ElasticIsotropic 1 1000.0 0.2
section LayeredShell 11 4 1 0.025 1 0.025 1 0.025 1 0.025
# create the shell element using the small displacements/rotations assumption
element ASDShellQ4 1 1 2 3 4 11
# or you can use the corotational flag for large displacements/rotations (geometric nonlinearity)
element ASDShellQ4 1 1 2 3 4 11 -corotational
# record global forces at element nodes (24 columns, 6 for each node)
recorder Element -xml force_out.xml -ele 1 force
# record local section forces at gauss point 1 (8 columns: | 3 membrane | 3 bending | 2 transverse shear |)
# note: gauss point index is 1-based
recorder Element -xml force_gp1_out.xml -ele 1 material 1 force
# record local stresses at fiber 1 of gauss point 1 (5 columns: Szz is neglected (0) )
# note: fiber index is 1-based (while in beams it is 0-based!)
recorder Element -xml stress_gp1_fib0_out.xml -ele 1 material 1 fiber 1 stress
Python Code
# set up a 3D-6DOFs model
model('Basic', '-ndm', 3, '-ndf', 6)
node(1, 0.0, 0.0, 0.0)
node(2, 1.0, 0.0, 0.0)
node(3, 1.0, 1.0, 0.0)
node(4, 0.0, 1.0, 0.0)
# create a fiber shell section with 4 layers of material 1
# each layer has a thickness = 0.025
nDMaterial('ElasticIsotropic', 1, 1000.0, 0.2)
section('LayeredShell', 11, 4, 1,0.025, 1,0.025, 1,0.025, 1,0.025)
# create the shell element using the small displacements/rotations assumption
element('ASDShellQ4', 1, 1,2,3,4, 11)
# or you can use the corotational flag for large displacements/rotations (geometric nonlinearity)
# element('ASDShellQ4', 1, 1,2,3,4, 11, '-corotational')
# record global forces at element nodes (24 columns, 6 for each node)
recorder('Element', '-xml', 'force_out.xml', '-ele', 1, 'force')
# record local section forces at gauss point 1 (8 columns: | 3 membrane | 3 bending | 2 transverse shear |)
# note: gauss point index is 1-based
recorder('Element', '-xml', 'force_gp1_out.xml', '-ele', 1, 'material', '1', 'force')
# record local stresses at fiber 1 of gauss point 1 (5 columns: Szz is neglected (0) )
# note: fiber index is 1-based (while in beams it is 0-based!)
recorder('Element', '-xml', 'stress_gp1_fib0_out.xml', '-ele', 1, 'material', '1', 'fiber', '1', 'stress')
Code Developed by: Massimo Petracca at ASDEA Software, Italy.
- ChenEtAl2004
- Chen, Xiao-Ming, et al. “Membrane elements insensitive to distortion using the quadrilateral area coordinate method.” Computers & Structures 82.1 (2004): 35-54. (Link to article)
- HughesEtAl1989
Hughes, Thomas JR, and F. Brezzi. “On drilling degrees of freedom.” Computer methods in applied mechanics and engineering 72.1 (1989): 105-121. (Link to article)
- DvorkinEtAl1984
Dvorkin, Eduardo N., and Klaus-Jurgen Bathe. “A continuum mechanics based four-node shell element for general non-linear analysis.” Engineering computations (1984). (Link to article)
- BatheEtAl1985
Bathe, Klaus-Jurgen, and Eduardo N. Dvorkin. “A four-node plate bending element based on Mindlin/Reissner plate theory and a mixed interpolation.” International Journal for Numerical Methods in Engineering 21.2 (1985): 367-383. (Link to article)
- Felippa2000
Felippa, Carlos A. “A systematic approach to the element-independent corotational dynamics of finite elements”. Technical Report CU-CAS-00-03, Center for Aerospace Structures, 2000. (Link to article)
- FelippaEtAl2005
Felippa, Carlos A., and Bjorn Haugen. “A unified formulation of small-strain corotational finite elements: I. Theory.” Computer Methods in Applied Mechanics and Engineering 194.21-24 (2005): 2285-2335. (Link to article)