Moments from a shell element

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
evxjr
Posts: 20
Joined: Mon Nov 01, 2010 4:13 am
Location: University of Nottingham

Moments from a shell element

Post by evxjr »

Hi all,

I'm confused about getting moments out of a shell element.

I've run a test example to compare a simply support beam modelled either with a BeamColumn element or a series of shell elements and a point load in the middle. With the two cases I get almost identical deflections out and the BeamColumn elements moments match theoretical values, but I'm unsure about how to determine the moments from the shell element.

When I use either element recorder ..... forces, or eleResponse ... forces it gives (as I understand it) global values for Px Py Pz Mx My Mz for each of the four nodes of the element. How do these nodal moment correspond to the moments of the element along that edge? What I mean is if I make my shell mesh only 1 element wide, thus having 2 nodes at the midspan, the moments of each of these come out as half the theoretical value. Increasing to 2 elements makes each moment 1/4, 3 elements 1/6 and so on.

Sorry if I'm not making myself clear, but basically if I have a series of shell elements how do I know what the moment is at a point? I can post the code of my trial case, or try and explain more clearly.

To anyone that can assist, thanks.
civilengr_tahir
Posts: 26
Joined: Sat Aug 15, 2009 6:42 am
Location: Bangkok
Contact:

Re: Moments from a shell element

Post by civilengr_tahir »

Hi dear Vesna and David..
I am sure im posting my problem in the right place. I am having problem using 4 nonded Quad elements. Its a 2D model of a shear wall. Since it is a 2D model it gives my forces in x and y directions only. Is there any way I can get moments? I have done a time history analysis using Quad elements, I dont know how to get moments from this model,if I calculate using maximum shear force at each storey the results seems wrong. Can you please expalain,is there any way I can get the moment directly from opensees?
evxjr
Posts: 20
Joined: Mon Nov 01, 2010 4:13 am
Location: University of Nottingham

Re: Moments from a shell element

Post by evxjr »

Sorry to keep pestering a point, but does anyone have any ideas for my above problem?
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Moments from a shell element

Post by vesna »

If there is no answer to your question that usually means that it was not clear. Try to explain your problem better.
evxjr
Posts: 20
Joined: Mon Nov 01, 2010 4:13 am
Location: University of Nottingham

Re: Moments from a shell element

Post by evxjr »

My apologies. Here is a quick code I wrote to model a simple elastic beam with a point load. It is modelled twice, once using elasticBeamColumn Elements and the other with ShellMITC4 elements. The code includes an output showing the midspand and end moments in the BeamColumn element, my question is how to get the equivalent data from the ShellMITC4. I hope someone can assist with this.

wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 3 -ndf 6 ; # Define the model builder, ndm=#dimension, ndf=#dofs

# Set Input Details
set L 10000.; # Length of Beam (mm)
set width 200.; # Width of Beam (mm)
set depth 200.; # Depth of Beam (mm)

set E 200000.; # Elastic Stiffness (N/mm2)
set v 0.3; # Poisson's ratio
set den 7.85e-6; # Density of steel (kg/mm3)

set Xmesh 100; # Number of Elements in X-Direction (Along beam length) Should be even
set Ymesh 2; # Number of Elements in Y-Direction (Along beam width) Should be even

set PointLoad 50000; # Load Applied at Midspan (N)


# Create a beam using 3D Element shell elements
model BasicBuilder -ndm 3 -ndf 6 ; # Define the model builder, ndm=#dimension, ndf=#dofs
set secTagShell 1
section ElasticMembranePlateSection $secTagShell $E $v $depth $den; # Elastic Shell Membrane

# Code to create mesh of plate elements
eval " block2D $Xmesh $Ymesh 1 1 ShellMITC4 $secTagShell {
1 0 0 0
2 $L 0 0
3 $L $width 0
4 0 $width 0
}"

# Boundary Conditions Fixed-Fixed Beam
fixX 0.0 1 1 1 1 1 1
fixX $L 1 1 1 1 1 1

# Quick code to find the nodes on the Mid Node
set MidNodeShell [expr (($Xmesh/2)+1)+($Xmesh+1)*($Ymesh/2)]

# Apply Load to Middle of Beam
pattern Plain 101 Linear {
load $MidNodeShell 0 0 -$PointLoad 0 0 0
}


# Create another beam using 2D beam elements
model BasicBuilder -ndm 2 -ndf 3 ; # Define the model builder, ndm=#dimension, ndf=#dofs

# Create Nodes
set spacing [expr ($L/$Xmesh)]
for {set node 1001} {$node <= $Xmesh + 1001} {incr node} {
node $node [expr ($node-1001)*$spacing] 0
}
geomTransf Linear 1
# Create Elements
for {set ele 1001} {$ele <= $Xmesh + 1000} {incr ele} {
#element elasticBeamColumn eleTag iNode jNode A E Iz transfTag
element elasticBeamColumn $ele $ele [expr ($ele + 1)] [expr ($width*$depth)] $E [expr ($width*pow($depth,3)/12)] 1
}

# Boundary Conditions Fixed-Fixed Beam
fix 1001 1 1 1
fix [expr ( 1001 + $Xmesh)] 1 1 1

set MidNodeBeam [expr ($Xmesh/2)+ 1001]
set MidBeam [expr ($Xmesh/2) + 1000]
pattern Plain 102 Linear {
load $MidNodeBeam 0 -$PointLoad 0
}

# Analysis inputs
integrator LoadControl 1; # Load control with constant load steps
test EnergyIncr 1.0e-10 20; # Convergence test, #tolerance maxIter displayCode
algorithm Newton; # Solution algorithm
numberer RCM; # DOF numberer
constraints Plain; # Cosntraint handler
system BandGeneral; # System of equations solver
analysis Static; # Analysis Type

analyze 1; # Static Analsysis

# Output results
set MidMomentBeam [lindex [eleResponse $MidBeam force] 5]
set EndMomentBeam [lindex [eleResponse 1001 force] 2]


puts "Mid Beam Displacement = [nodeResponse $MidNodeBeam 2 1] mm"
puts "Midspan Moment of Beam = $MidMomentBeam Nmm"
puts "End Moment of Beam = $EndMomentBeam Nmm"
puts "\nMid Shell Displacement = [nodeResponse $MidNodeShell 3 1] mm"
puts "What are the end and Mid moments from the Shell beam?"
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Moments from a shell element

Post by vesna »

I never used this element so I can not tell you, but you can easily figure it out yourself.

Create a recorder for shell elements that contain nodes whose response you want to get. Use "forces" as a response argument. Use -xml format (not -file format) to see what each of the columns in the output file stands for. Find one that you need and use eleResponse command to output it to the terminal.
Post Reply