definition of mass

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

Moderators: silvia, selimgunay, Moderators

Post Reply
Olympia
Posts: 46
Joined: Wed Jul 09, 2008 4:25 am
Location: AUTH

definition of mass

Post by Olympia »

Dear all,

I was wondering about the following:
when I do eigenvalue analysis I can define the mass of the model using the -mass property of the forceBeamColumn element
but
when I do time history analysis cannot do the aforementioned and I need to define the mass of the model using lumped masses (otherwise I mean if I use only the element forceBeamColumn 3 3 4 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; my model gives results equal to zero).
Am I missing something?

Many thanks in advance,
Olympia
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: definition of mass

Post by vesna »

I remember having the same problem in one of the earlier versions of OpenSees, but I think Frank has fixed it. What version of OpenSees do you use? If you are using the latest version (2.3.0) and it is still not working let me know.
Olympia
Posts: 46
Joined: Wed Jul 09, 2008 4:25 am
Location: AUTH

Re: definition of mass

Post by Olympia »

Thanks a lot for your reply! Yes, I m using the latest version (2.3.0).

Olympia
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: definition of mass

Post by vesna »

Thanks! We will try to fix it.
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: definition of mass

Post by vesna »

Olympia,

I just made an example with a forceBeamColumn element and defined the mass density inside of the element like this:

element forceBeamColumn 1 1 2 $numIntgrPts $ColSecTag $ColTransfTag -mass $massDens

I performed dynamic analysis and it worked on my example.

There may be something else in your file that is making it not work.

If your model is not too big would you post it so we can check and see what is the problem.
Olympia
Posts: 46
Joined: Wed Jul 09, 2008 4:25 am
Location: AUTH

Re: definition of mass

Post by Olympia »

Here is my model! If I replace the mass with lumped masses everything seem to be fine otherwise I have no idea what is happening. Thanks a lot again!!


# SET UP ----------------------------------------------------------------------------
wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 3 -ndf 6; # Define the model builder, ndm=#dimension, ndf=#dofs
set dataDir MODEL1; # set up name of results data directory -- remove
file mkdir modes;
file mkdir $dataDir

# ==============================================================================
# Define NODES
# ==============================================================================
# nodal coordinates
# NODES of Deck
node 1 0.00 7.67 0.00
node 2 3.05 7.67 0.00
node 3 6.10 7.67 0.00
node 4 9.15 7.67 0.00
node 5 12.20 7.67 0.00
node 6 15.25 7.67 0.00
node 7 18.30 7.67 0.00
node 8 21.35 7.67 0.00
node 9 24.40 7.67 0.00
node 10 27.45 7.67 0.00
node 11 30.50 7.67 0.00
node 12 33.55 7.67 0.00
node 13 36.60 7.67 0.00
node 14 39.65 7.67 0.00
node 15 42.70 7.67 0.00
node 16 45.75 7.67 0.00
node 17 48.80 7.67 0.00
node 18 51.85 7.67 0.00
node 19 54.90 7.67 0.00
node 20 57.95 7.67 0.00
node 21 61.00 7.67 0.00
node 22 64.05 7.67 0.00
node 23 67.10 7.67 0.00
node 24 70.15 7.67 0.00
node 25 73.20 7.67 0.00
node 26 76.25 7.67 0.00
node 27 79.30 7.67 0.00
node 28 82.35 7.67 0.00
node 29 85.40 7.67 0.00
node 30 88.45 7.67 0.00
node 31 91.50 7.67 0.00
node 32 94.55 7.67 0.00
node 33 97.60 7.67 0.00

# NODES for the bents
node 34 30.50 7.67 3.43
node 35 30.50 7.67 -3.43
node 36 67.10 7.67 3.43
node 37 67.10 7.67 -3.43

# NODES of Piers 1-1 and 1-2
node 38 30.50 6.64 3.43
node 39 30.50 5.42 3.43
node 40 30.50 4.20 3.43
node 41 30.50 2.98 3.43
node 42 30.50 1.76 3.43
node 43 30.50 0.54 3.43
node 44 30.50 0.00 3.43

node 45 30.50 6.64 -3.43
node 46 30.50 5.42 -3.43
node 47 30.50 4.20 -3.43
node 48 30.50 2.98 -3.43
node 49 30.50 1.76 -3.43
node 50 30.50 0.54 -3.43
node 51 30.50 0.00 -3.43

# NODES of Piers 2-1 and 2-2
node 52 67.10 6.64 3.43
node 53 67.10 5.42 3.43
node 54 67.10 4.20 3.43
node 55 67.10 2.98 3.43
node 56 67.10 1.76 3.43
node 57 67.10 0.54 3.43
node 58 67.10 0.00 3.43

node 59 67.10 6.64 -3.43
node 60 67.10 5.42 -3.43
node 61 67.10 4.20 -3.43
node 62 67.10 2.98 -3.43
node 63 67.10 1.76 -3.43
node 64 67.10 0.54 -3.43
node 65 67.10 0.00 -3.43

# ==============================================================================
# Define SECTIONS
# ==============================================================================
# define section tags:
set PierSecTag 1
set DeckSpanSecTag 2
set CapBeamTag 3
set RigidSecTag 4

# material properties:
#set fc 38; # concrete C30/37 compressivev strength (fm=fck+1.64*s=38)
set Ec 24849855; # concrete Young's Modulus
set nu 0.2; # Poisson's ratio
set Gc [expr $Ec/2./[expr 1+$nu]]; # Shear Modulus
# ----------------------------------------------------------
# DEFINE DECK Section Properties
# ----------------------------------------------------------
# PIER section properties:
set AgCol 1.168; # Circular-Column cross-sectional area
set IzCol 0.108; # about-local-z Circular-Column gross moment of inertia
set IyCol 0.108; # about-local-z Circular-Column gross moment of inertia
set Jc 0.2169; # Torsional constant
# DECK SECTION
set AgDeckSpan 6.758; # DECK cross-sectional area
set IzDeckSpan 83.695; # about-local-z Rect-Deck (un)cracked moment of inertia
set IyDeckSpan 3.461; # about-local-y Rect-Deck (un)cracked moment of inertia
set JbSpan 10.159; # Torsional constant. Big number in the example
# CAP BEAM SECTION
set AgCapBeam 2.508; # DECK cross-sectional area
set IzCapBeam 10000; # about-local-z Rect-Deck (un)cracked moment of inertia
set IyCapBeam 10000; # about-local-y Rect-Deck (un)cracked moment of inertia
set JbCapBeam 10000; # Torsional constant. Big number in the example
# RIGID section
set AgRigid 10000; # Column cross-sectional area
set IzRigid 10000; # about-local-z Rect-Deck (un)cracked moment of inertia
set IyRigid 10000; # about-local-y Rect-Deck (un)cracked moment of inertia
set JbRigid 10000; # Torsional constant. Big number in the example

section Elastic $PierSecTag $Ec $AgCol $IzCol $IyCol $Gc $Jc
section Elastic $DeckSpanSecTag $Ec $AgDeckSpan $IzDeckSpan $IyDeckSpan $Gc $JbSpan
section Elastic $CapBeamTag $Ec $AgCapBeam $IzCapBeam $IyCapBeam $Gc $JbCapBeam
section Elastic $RigidSecTag $Ec $AgRigid $IzRigid $IyRigid $Gc $JbRigid

# ==============================================================================
# Define ELEMENTS
# ==============================================================================
# set up geometric transformations of element
# separate columns and beams, in case of P-Delta analysis for columns
# in 3D model, assign vector vecxz
set IDColTransf 1; # all columns (piers) will have the same transformation
set IDDeckTransf 2; # all deck beams will have the same transformation
set IDCapTransf 3; # all deck beams will have the same transformation

# It is absolutely necessary to define the transformation of the local to the global
# axes properly in order to translate the correct local stiffness of the elements
# (which also use local Z-Y axes)
geomTransf Linear $IDColTransf 0 0 1;
geomTransf Linear $IDDeckTransf 0 -1 0;
geomTransf Linear $IDCapTransf 0 -1 0;

# Define Beam-Column Elements
set np 5; # number of Gauss integration points for nonlinear curvature distribution
# DECK
element forceBeamColumn 1 1 2 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 1 -> 2.915 tn/m3*6.758m2=19.70tn/m
element forceBeamColumn 2 2 3 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 2
element forceBeamColumn 3 3 4 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 3
element forceBeamColumn 4 4 5 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 4
element forceBeamColumn 5 5 6 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 5
element forceBeamColumn 6 6 7 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 6
element forceBeamColumn 7 7 8 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 7
element forceBeamColumn 8 8 9 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 8
element forceBeamColumn 9 9 10 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 9
element forceBeamColumn 10 10 11 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 10
element forceBeamColumn 11 11 12 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 11
element forceBeamColumn 12 12 13 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 12
element forceBeamColumn 13 13 14 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 13
element forceBeamColumn 14 14 15 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 14
element forceBeamColumn 15 15 16 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 15
element forceBeamColumn 16 16 17 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 16
element forceBeamColumn 17 17 18 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 17
element forceBeamColumn 18 18 19 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 18
element forceBeamColumn 19 19 20 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 19
element forceBeamColumn 20 20 21 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 20
element forceBeamColumn 21 21 22 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 21
element forceBeamColumn 22 22 23 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 22
element forceBeamColumn 23 23 24 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 23
element forceBeamColumn 24 24 25 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 24
element forceBeamColumn 25 25 26 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 25
element forceBeamColumn 26 26 27 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 26
element forceBeamColumn 27 27 28 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 27
element forceBeamColumn 28 28 29 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 28
element forceBeamColumn 29 29 30 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 29
element forceBeamColumn 30 30 31 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 30
element forceBeamColumn 31 31 32 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 31
element forceBeamColumn 32 32 33 $np $DeckSpanSecTag $IDDeckTransf -mass 19.70; # Element 32

# CAP BEAM
element forceBeamColumn 33 34 11 $np $CapBeamTag $IDCapTransf -mass 6.02; # Element 33 -> 2.4 tn/m3*2.508m2=6.02 tn/m
element forceBeamColumn 34 35 11 $np $CapBeamTag $IDCapTransf -mass 6.02; # Element 34
element forceBeamColumn 35 36 23 $np $CapBeamTag $IDCapTransf -mass 6.02; # Element 35
element forceBeamColumn 36 37 23 $np $CapBeamTag $IDCapTransf -mass 6.02; # Element 36

# PIERS
element forceBeamColumn 37 34 38 $np $RigidSecTag $IDColTransf -mass 0.00; # Element 37
element forceBeamColumn 38 38 39 $np $PierSecTag $IDColTransf -mass 2.80; # Element 38 -> 2.4 tn/m3*1.168m2=2.80 tn/m
element forceBeamColumn 39 39 40 $np $PierSecTag $IDColTransf -mass 2.80; # Element 39
element forceBeamColumn 40 40 41 $np $PierSecTag $IDColTransf -mass 2.80; # Element 40
element forceBeamColumn 41 41 42 $np $PierSecTag $IDColTransf -mass 2.80; # Element 41
element forceBeamColumn 42 42 43 $np $PierSecTag $IDColTransf -mass 2.80; # Element 42
element forceBeamColumn 43 43 44 $np $PierSecTag $IDColTransf -mass 2.80; # Element 43

element forceBeamColumn 44 35 45 $np $RigidSecTag $IDColTransf -mass 0.00; # Element 44
element forceBeamColumn 45 45 46 $np $PierSecTag $IDColTransf -mass 2.80; # Element 45
element forceBeamColumn 46 46 47 $np $PierSecTag $IDColTransf -mass 2.80; # Element 46
element forceBeamColumn 47 47 48 $np $PierSecTag $IDColTransf -mass 2.80; # Element 47
element forceBeamColumn 48 48 49 $np $PierSecTag $IDColTransf -mass 2.80; # Element 48
element forceBeamColumn 49 49 50 $np $PierSecTag $IDColTransf -mass 2.80; # Element 49
element forceBeamColumn 50 50 51 $np $PierSecTag $IDColTransf -mass 2.80; # Element 50

element forceBeamColumn 51 36 52 $np $RigidSecTag $IDColTransf -mass 0.00; # Element 51
element forceBeamColumn 52 52 53 $np $PierSecTag $IDColTransf -mass 2.80; # Element 52
element forceBeamColumn 53 53 54 $np $PierSecTag $IDColTransf -mass 2.80; # Element 53
element forceBeamColumn 54 54 55 $np $PierSecTag $IDColTransf -mass 2.80; # Element 54
element forceBeamColumn 55 55 56 $np $PierSecTag $IDColTransf -mass 2.80; # Element 55
element forceBeamColumn 56 56 57 $np $PierSecTag $IDColTransf -mass 2.80; # Element 56
element forceBeamColumn 57 57 58 $np $PierSecTag $IDColTransf -mass 2.80; # Element 57

element forceBeamColumn 58 37 59 $np $RigidSecTag $IDColTransf -mass 0.00; # Element 58
element forceBeamColumn 59 59 60 $np $PierSecTag $IDColTransf -mass 2.80; # Element 59
element forceBeamColumn 60 60 61 $np $PierSecTag $IDColTransf -mass 2.80; # Element 60
element forceBeamColumn 61 61 62 $np $PierSecTag $IDColTransf -mass 2.80; # Element 61
element forceBeamColumn 62 62 63 $np $PierSecTag $IDColTransf -mass 2.80; # Element 62
element forceBeamColumn 63 63 64 $np $PierSecTag $IDColTransf -mass 2.80; # Element 63
element forceBeamColumn 64 64 65 $np $PierSecTag $IDColTransf -mass 2.80; # Element 64



# ==============================================================================
# BOUNDARY CONDITIONS
# ==============================================================================
# base of piers
fix 44 1 1 1 1 1 1;
fix 51 1 1 1 1 1 1;
fix 58 1 1 1 1 1 1;
fix 65 1 1 1 1 1 1;

fix 1 1 1 1 1 1 1;
fix 33 1 1 1 1 1 1;

recorder Node -file $dataDir/DDeckEnds.out -time -node 10 20 -dof 1 2 3 4 5 6 disp; # displacements of node 1, 33


# define GRAVITY -------------------------------------------------------------
timeSeries Linear 1
pattern Plain 1 1 {
for {set i 1} {$i <= 32} {incr i 1} {
eleLoad -ele $i -type -beamUniform 0.0 193.26 0.00; # beams 28.59kN/m3*6.758m2=193.26kN/m
}

for {set j 38} {$j <= 43} {incr j 1} {
eleLoad -ele $j -type -beamUniform 0.0 0.0 27.47; # pier1-1 23.56*3.14*1.219^2/4=27.47kN/m
}
for {set k 45} {$k <= 50} {incr k 1} {
eleLoad -ele $k -type -beamUniform 0.0 0.0 27.47; # pier1-2 23.56*3.14*1.219^2/4=27.47kN/m
}
for {set l 52} {$l <= 57} {incr l 1} {
eleLoad -ele $l -type -beamUniform 0.0 0.0 27.47; # pier2-1 23.56*3.14*1.219^2/4=27.47kN/m
}
for {set m 59} {$m <= 64} {incr m 1} {
eleLoad -ele $m -type -beamUniform 0.0 0.0 27.47; # pier2-2 23.56*3.14*1.219^2/4=27.47kN/m
}
}

# Gravity-analysis parameters -- load-controlled static analysis
set Tol 1.0e-8; # convergence tolerance for test
variable constraintsTypeGravity Plain; # default;
constraints $constraintsTypeGravity; # 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 (large model: try UmfPack)
test EnergyIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
set NstepGravity 10; # apply gravity in 10 steps
set DGravity [expr 1./$NstepGravity]; # first load increment;
integrator LoadControl $DGravity; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient
analyze $NstepGravity; # apply gravity

# ------------------------------------------------- maintain constant gravity loads and reset time to zero
loadConst -time 0.0

# -------------------------------------------------------------
puts "Model Built"


# DYNAMIC ground-motion analysis -------------------------------------------------------------
# create load pattern
set accelSeries "Series -dt 0.005 -filePath seismos.txt -factor 9.81"; # define acceleration vector from file (dt=0.01 is associated with the input file gm)
pattern UniformExcitation 2 1 -accel $accelSeries; # define where and how (pattern tag, dof) acceleration is applied
#pattern UniformExcitation 3 3 -accel $accelSeries; # define where and how (pattern tag, dof) acceleration is applied
#rayleigh 0. 0. 0. [expr 2*0.05/pow([eigen 1],0.5)]; # set damping based on first eigen mode


# ----------- set up analysis parameters
#source LibAnalysisDynamicParameters.tcl; # constraintsHandler,DOFnumberer,system-ofequations,convergenceTest,solutionAlgorithm,integrator

# ------------ define & apply damping
# RAYLEIGH damping parameters, Where to put M/K-prop damping, switches (http://opensees.berkeley.edu/OpenSees/m ... l/1099.htm)
# D=$alphaM*M + $betaKcurr*Kcurrent + $betaKcomm*KlastCommit + $beatKinit*$Kinitial
set xDamp 0.050; # damping ratio
set MpropSwitch 1.0;
set KcurrSwitch 0.0;
set KcommSwitch 0.0;
set KinitSwitch 1.0;
set nEigenI 1; # mode 1
set nEigenJ 10; # mode 10
set lambdaN [eigen [expr $nEigenJ]]; # eigenvalue analysis for nEigenJ modes
set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; # eigenvalue mode i
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j
set omegaI [expr pow($lambdaI,0.5)];
set omegaJ [expr pow($lambdaJ,0.5)];
set alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)]; # M-prop. damping; D = alphaM*M
set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # current-K; +beatKcurr*KCurrent
set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # last-committed K; +betaKcomm*KlastCommitt
set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # initial-K; +beatKinit*Kini
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm; # RAYLEIGH damping


# 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
test NormDispIncr 1.0e-8 10; # determine if convergence has been achieved at the end of an iteration step
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
integrator Newmark 0.5 0.25 ; # determine the next time step for an analysis
analysis Transient; # define type of analysis: time-dependent
analyze 1978 0.005; # apply 2000 0.01-sec time steps in analysis

puts "Done!"
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: definition of mass

Post by vesna »

I just ran your example on my computer and it worked (using version 2.3.0). I really do not have a clue why it is not working for you.
Olympia
Posts: 46
Joined: Wed Jul 09, 2008 4:25 am
Location: AUTH

Re: definition of mass

Post by Olympia »

Thanks vesna!
I downloaded again the 2.3.0 version (the .exe file) and my model still doesn't work. In my computer, if I remove gravity and run the time history, the results are zero.
duguyihan
Posts: 13
Joined: Wed Dec 02, 2015 4:05 am
Location: Hunan University

Re: definition of mass

Post by duguyihan »

Hello,

I have the same problem! Do you finally solve it? My OpenSees version is 2.5.0.

yihan
Post Reply