modeling cables

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

Moderators: silvia, selimgunay, Moderators

Post Reply
endryus
Posts: 47
Joined: Wed Apr 13, 2005 5:59 am
Location: freelance
Contact:

modeling cables

Post by endryus » Fri Apr 22, 2005 1:38 am

Hi everybody!
I'm trying to model a tensioned cable with OS. Do u have any experience in that? I'm interested in particular in frequencies.
Using both distributed mass with NLBeamColumn or lumped mass with elasticBeamColumn I have the same strange behavior in frequencies.
One input file is attached, run it to see how strange are the frequencies.
Moreover I've seen that frequencies are highly affected by the transformation. Could u explain why?
andrea

# ------------------------------
# OpenSees input file
# Written by: Andrea Mordini
# Date: April 2005
#
# Units: N, m, s
# ------------------------------
wipe;
#space units
set m 1.;
set cm [expr $m/100];
set mm [expr $m/1000];
#time units
set s 1.;
#force units
set N 1.;
set kN [expr $N*1000];
#stresses units
set MPa [expr $N/pow($mm,2)];
#constants
set pig [expr 2*asin(1.0)];
set g [expr 9.806*$m/pow($s,2)];
set large 1.e20;
set small 1.e-20;
proc Eigenvalues {maxeig} {
source units_and_constants.tcl
set lambda [eigen $maxeig]
for {set i 0} {$i < $maxeig} {incr i} {
set temp [expr pow([lindex $lambda $i],0.5)]; # omega
set temp2 [expr 2*$pig/$temp]; # period (sec.)
set temp3 [expr 1/$temp2]; # frequency (1/sec.)
lappend omega $temp
lappend period $temp2
lappend freq $temp3
}
# Output results
set outFilename eigenvalues.out
set outFile1 [open $outFilename w]
puts $outFile1 "frequencies"
for {set i 0} {$i < $maxeig} {incr i} {
puts $outFile1 [lindex $freq $i]
}
}
# Parameters
set ipt 5 ;# number of integration points on frame elements
set dx 0.927
set ml 6.185 ;# mass per unit length
set Pload 59.4615 ;# gravity load for each node
set Naxial 663080 ;# axial load
set phideg 90
set phirad [expr $pig/180*$phideg]
# ------------------------------
# Start of model generation
# ------------------------------
model basic -ndm 2 -ndf 3
# Nodes
# tag x y
node 1 0 0
node 2 [expr 1*$dx] 0
node 3 [expr 2*$dx] 0
node 4 [expr 3*$dx] 0
node 5 [expr 4*$dx] 0
node 6 [expr 5*$dx] 0
node 7 [expr 6*$dx] 0
node 8 [expr 7*$dx] 0
node 9 [expr 8*$dx] 0
node 10 [expr 9*$dx] 0
node 11 [expr 10*$dx] 0
node 12 [expr 11*$dx] 0
node 13 [expr 12*$dx] 0
node 14 [expr 13*$dx] 0
node 15 [expr 14*$dx] 0
node 16 [expr 15*$dx] 0
node 17 [expr 16*$dx] 0
node 18 [expr 17*$dx] 0
node 19 [expr 18*$dx] 0
node 20 [expr 19*$dx] 0
node 21 [expr 20*$dx] 0
# Restraints
# tag dx dy rz
fix 1 0 1 1
fix 21 1 1 1
# Sections
# tag E A J
section Elastic 1 [expr 210000*$MPa] [expr 604*pow($mm,2)] [expr 8428.57*pow($mm,4)]
# Transformations
geomTransf PDelta 1
# Elements
# tag inode jnode intp sect transf
element nonlinearBeamColumn 1 1 2 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 2 2 3 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 3 3 4 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 4 4 5 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 5 5 6 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 6 6 7 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 7 7 8 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 8 8 9 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 9 9 10 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 10 10 11 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 11 11 12 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 12 12 13 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 13 13 14 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 14 14 15 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 15 15 16 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 16 16 17 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 17 17 18 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 18 18 19 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 19 19 20 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 20 20 21 $ipt 1 1 -mass $ml
# ------------------------------
# End of model generation
# ------------------------------
# ------------------------------
# Start of Recorder generation
# ------------------------------
recorder Node -file nodes.out -time -node all -dof 1 2 disp
recorder Element -file elementLocal.out -time -ele all localForce
# ------------------------------
# End of Recorder generation
# ------------------------------
# ------------------------------
# Start of analysis 1
# ------------------------------
# Loads
pattern Plain 1 Linear {
load 1 -$Naxial 0 0;
load 2 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 3 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 4 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 5 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 6 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 7 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 8 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 9 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 10 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 11 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 12 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 13 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 14 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 15 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 16 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 17 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 18 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 19 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
load 20 [expr -$Pload*cos($phirad)] [expr -$Pload*sin($phirad)] 0;
}
# Analysis parameters
system BandGeneral
constraints Transformation
numberer RCM
# Convergence test, the norm of the residual with a tolerance of
# 1e-12 and a max number of iterations of 10
test NormDispIncr 1.0e-12 10 3
algorithm Linear
integrator LoadControl 1
analysis Static
# Analysis
analyze 1
loadConst -time 0
# ------------------------------
# End of analysis 1
# ------------------------------
# Eigen Analysys
Eigenvalues 30

mackie
Posts: 9
Joined: Mon May 02, 2005 10:53 am

Post by mackie » Thu May 05, 2005 9:36 am

The -mass switch on nonlinearBeamColumn doesn't work, I've posted it in bugzilla already but perhaps it will help if you do as well.

endryus
Posts: 47
Joined: Wed Apr 13, 2005 5:59 am
Location: freelance
Contact:

Post by endryus » Thu May 05, 2005 10:39 pm

Are you sure?
I tried to perform the same analysis with masses lumped at nodes with the command node -mass and I got the same results...

endryus

fmk
Site Admin
Posts: 5883
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk » Fri May 06, 2005 10:15 am

the -mass option for the nonlinearBeamColumn element command will produce
a mass matrix and will work for eigenvalues and multi-support exciatations ..
it does not at present work with uniformexciatations .. you can always send
an email to michael.scott@oregonstate.edu to find out when he is going to fix it.

Post Reply