You are on page 1of 1

wipe

model BasicBuilder -ndm 3 -ndf 6


#model nodes
node 1 0 0 0
node 2 0 0 2000
node 3 2000 0 2000
node 4 2000 0 0
node 5 0 3000 0
node 6 0 3000 2000
node 7 2000 3000 2000
node 8 2000 3000 0
node 9 1000 3000 1000 -mass 10 0 10 0 0 0
#model restraints
fix 1 1 1 1 1 1 1
fix 2 1 1 1 1 1 1
fix 3 1 1 1 1 1 1
fix 4 1 1 1 1 1 1
fix 9 0 1 0 1 0 1
rigidDiaphragm 2 9 5 6 7 8
#element local axes
geomTransf Linear 1 0 0 -1
geomTransf Linear 2 0 1 0
#model elements - columns
element elasticBeamColumn 1 2 6 90000 30000 16667 1.14e9 675000000 675000000 1
element elasticBeamColumn 2 3 7 90000 30000 16667 1.14e9 675000000 675000000 1
element elasticBeamColumn 3 4 8 90000 30000 16667 1.14e9 675000000 675000000 1
element elasticBeamColumn 4 1 5 90000 30000 16667 1.14e9 675000000 675000000 1
#model elements - beams
element elasticBeamColumn 5 6 7 180000 30000 16667 3.71e9 5.4e9 1.35e9 2
element elasticBeamColumn 6 7 8 180000 30000 16667 3.71e9 5.4e9 1.35e9 2
element elasticBeamColumn 7 5 8 180000 30000 16667 3.71e9 5.4e9 1.35e9 2
element elasticBeamColumn 8 5 6 180000 30000 16667 3.71e9 5.4e9 1.35e9 2
#recordersfor eigen analysis
recorder Node -file mode1.out -node 9 -dof 1 3 "eigen 1"
recorder Node -file mode2.out -node 9 -dof 1 3 "eigen 2"
recorder Node -file mode3.out -node 9 -dof 1 3 "eigen 3"

set pi [expr 2*asin(1.0)];


set n_modes 2;
set lambda [eigen -fullGenLapack $n_modes];
set omega {};
set f {};
set T {};
foreach lam $lambda {
lappend omega [expr pow($lam,0.5)]
lappend f [expr pow($lam,0.5)/(2*$pi)]
lappend T [expr (2*$pi)/pow($lam,0.5)]
}
loadConst -time 0.0
puts " lambda: $lambda"
puts " omega: $omega rad/s"
puts " T: $T s"
puts " f: $f /s"
record
remove recorders

wipe

You might also like