Lumped Mass system

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

Moderators: silvia, selimgunay, Moderators

Post Reply
harvie
Posts: 7
Joined: Thu Nov 26, 2020 5:31 am

Lumped Mass system

Post by harvie » Sun Feb 28, 2021 7:27 am

Good day!

I've been trying to model a simple structural system for time history analysis wherein mass are lumped and columns are represented by spring elements. I tried using two-node link elements for the column and defined a hysteretic material to represent the overall structure properties.

I was able to produce results however, they are not the expected results. The 3rd and the 4th storey of my structure acted like they are completely isolated from the earthquake excitation ( not the expected swaying or the typical "S" pattern from the mode shapes ).

Can someone please give me insight on how I can correctly model my structure?

Acceleration is obtained here:
https://opensees.berkeley.edu/wiki/inde ... ver_Column

Here is the code:
# SET UP ----------------------------------------------------------------------------
wipe; # clear opensees model
model basic -ndm 2 -ndf 3; # 2 dimensions, 3 dof per node
file mkdir data; # create data directory

# define GEOMETRY -------------------------------------------------------------
# nodal coordinates:
node 1 0. 0.; # node#, X Y
node 2 0. 10.0;
node 3 0. 15.0;
node 4 0. 20.0;

# Single point constraints -- Boundary Conditions
fix 1 1 1 1; # node DX DY RZ

## nodal masses:
set M 1000.0;
mass 2 $M 1.0e-10 $M; # node#, Mx My Mz, Mass=Weight/g.
mass 3 $M 1.0e-10 $M;
mass 4 $M 1.0e-10 $M;

# Define ELEMENTS -------------------------------------------------------------
# Definition of materials IDs
set hysmat 1;
# uniaxialMaterial
# back-bone stress-strain curve parameters for RC (assumptions)
set s1p 400; #kN
set s2p 500; #kN
set s3p 575; #kN
set e1p 0.002; #mm
set e2p 0.0025; #mm
set e3p 0.0075; #mm
set s1n -400; #kN
set s2n -500; #kN
set s3n -575; #kN
set e1n -0.002; #mm
set e2n -0.0025; #mm
set e3n -0.0075; #mm
set pinchX 1; #full bilinear envelope
set pinchY 1; #full bilinear envelope
set damage1 0;
set damage2 0.2;
set beta 0;
# definition of uniaxialMaterial Hysteretic
# uniaxialMaterial Hysteretic $matTag $s1p $e1p $s2p $e2p <$s3p $e3p> $s1n $e1n $s2n $e2n <$s3n $e3n> $pinchX $pinchY $damage1 $damage2 <$beta>
uniaxialMaterial Hysteretic $hysmat $s1p $e1p $s2p $e2p $s3p $e3p $s1n $e1n $s2n $e2n $s3n $e3n $pinchX $pinchY $damage1 $damage2 $beta
# element twoNodeLink $eleTag $iNode $jNode -mat $matTags -dir $dirs <-orient <$x1 $x2 $x3> $y1 $y2 $y3> <-pDelta (4 $Mratio)> <-shearDist (2 $sDratios)> <-doRayleigh> <-mass $m>
element twoNodeLink 1 1 2 -mat $hysmat -dir 1 3;
element twoNodeLink 2 2 3 -mat $hysmat -dir 1 3;
element twoNodeLink 3 3 4 -mat $hysmat -dir 1 3;

# Define RECORDERS -------------------------------------------------------------
recorder Node -file Data/DFree4.out -time -node 4 -dof 1 2 3 disp;
recorder Node -file Data/DFree3.out -time -node 3 -dof 1 2 3 disp;
recorder Node -file Data/DFree2.out -time -node 2 -dof 1 2 3 disp; # displacements of free nodes
recorder Node -file Data/RBase.out -time -node 1 -dof 1 2 3 reaction; # support reaction
recorder Drift -file Data/Drift.out -time -iNode 1 -jNode 2 -dof 1 -perpDirn 2 ; # lateral drift
recorder Element -file Data/FCol.out -time -ele 1 force; # element forces -- column

set G 9.81
timeSeries Path 1 -dt 0.005 -filePath A10000.tcl -factor $G; # define acceleration vector from file (dt=0.005 is associated with the input file gm)
pattern UniformExcitation 4 1 -accel 1; # define where and how (pattern tag, dof) acceleration is applied

# set damping based on first eigen mode
set freq [expr [eigen -fullGenLapack 1]**0.5]
set dampRatio 0.02
rayleigh 0. 0. 0. [expr 2*$dampRatio/$freq]

# display displacement shape of the column
recorder display "Displaced shape" 10 10 500 500 -wipe
prp 200. 50. 1;
vup 0 1 0;
vpn 0 0 1;
display 1 5 40

# create the analysis
wipeAnalysis; # clear previously-define analysis parameters
constraints Plain; # how it handles boundary conditions
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral; # how to store and solve the system of equations in the analysis
algorithm Linear # use Linear algorithm for linear analysis
integrator Newmark 0.5 0.25 ; # determine the next time step for an analysis
analysis Transient; # define type of analysis: time-dependent
analyze 3995 0.01; # apply 3995 0.01-sec time steps in analysis

puts "Done!"
wipe

mhscott
Posts: 569
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Lumped Mass system

Post by mhscott » Mon Mar 01, 2021 5:39 am

Do not use the Linear algorithm if you have nonlinear response! Use Newton.

harvie
Posts: 7
Joined: Thu Nov 26, 2020 5:31 am

Re: Lumped Mass system

Post by harvie » Mon Mar 01, 2021 10:03 am

mhscott wrote:
Mon Mar 01, 2021 5:39 am
Do not use the Linear algorithm if you have nonlinear response! Use Newton.
Thank you very much, Sir!

Post Reply