OpenSees Cloud

OpenSees AMI

NAFEMS Test P18.LE6

Benchmark Summary

Item Value
Category Linear Elasticity
Structure Skew Plate Normal Pressure
Analysis Type Static Analysis
Quantity Verified Principal Stress
Elements Evaluated ShellMITC4, ShellDKGQ
OpenSees Version 3.8.0.0
Operating System Ubuntu
Status Verified

Revision History

Objective

This test assesses shell element performance in finding the principal stress at the center of a Skew Plate subjected to Normal Pressure on its surface.

Geometry and Mesh

The model is an n x n mesh of shell elements defined in three dimensions (3D). The plate is skewed in the X-Y plane. Each side is of unit length.

Boundary Conditions

Material Properties

Loading

A surface pressure of 0.7 kPa is applied in the negative Z direction on the upper surface of the plate.

Analytical Solution

The analytical solution for the maximum principal stress at the bottom surface at the center of the plate (point E) is 0.801 MPa, as shown in the NAFEMS P18 report for benchmark problem LE6.

OpenSees Elements Tested

The test compares the following shell element formulations to the analytical solution for principal stress.

Principal Stress

The principal stress on the bottom surface of point E is plotted for increasing mesh resolutions from 2 x 2 to 32 x 32.

As the mesh resolution increases, the principal stress obtained using the ShellMITC4 and ShellDKGQ elements converge from below and above, respectively, to the analytical solution.

Displacement

As a supplemental check (not shown in the NAFEMS report), the transverse displacement of point E is plotted for increasing mesh resolutions from 2 x 2 to 32 x 32.

As the mesh resolution increases, the displacement obtained using the ShellMITC4 and ShellDKGQ elements converge to a common value of approximately 0.015 mm.

OpenSees Script

import openseespy.opensees as ops
import opstool as opst

# Units = kN, m

L = 1 # side length, m
t = 0.01 # thickness, m
p = 0.7 # pressure, kPa

E = 210e6 # kPa
v = 0.3

c = 2 # mesh resolution

ops.wipe()
ops.model('basic','-ndm',3,'-ndf',6)

ops.node(1,0,0,0)
ops.node(2,L,0,0)
ops.node(3,L+0.5*L*3**.5,0.5*L,0)
ops.node(4,  0.5*L*3**.5,0.5*L,0)

ops.mesh('line',1,2,1,2,0,6,L/c)
ops.mesh('line',2,2,2,3,0,6,L/c)
ops.mesh('line',3,2,3,4,0,6,L/c)
ops.mesh('line',4,2,4,1,0,6,L/c)

ops.nDMaterial('ElasticIsotropic',1,E,v)
ops.section('PlateFiber',1,1,t)
ops.mesh('quad',5,4,1,2,3,4,0,6,L/c,'ShellMITC4',1) # Or 'ShellDKGQ'

for nd in ops.getNodeTags('-mesh',1,2,3,4):
    ops.fix(nd,1,1,1,0,0,0)

ops.timeSeries('Constant',1)
ops.pattern('Plain',1,1)
# Using opstool for pressure load
opst.pre.transform_surface_uniform_load(ele_tags=ops.getEleTags('-mesh',5), p=-p)

ops.system('UmfPack')
ops.analysis('Static','-noWarnings')
ops.analyze(1)

Notes

Verification Summary

Both shell elements considered (ShellMITC4 and ShellDKGQ) converge to the analytical solution for maximum principal stress. The elements also give a convergent solution for the transverse displacement at the center of the plate.