Pushover Analysis

If you have a script you think might be useful to others post it
here. Hopefully we will be able to get the most useful of these incorporated in the manuals.

Moderators: silvia, Moderators

Pushover Analysis

Postby pkafando » Thu Feb 11, 2016 11:06 pm

This file was develop by DR. Mackie. I am trying to perform a pushover analysis but this file do not provide an output file. Could you please tell me what is wrong with it?
I will appreciate any help.

Thanks

ModelS.tcl: generic input shell for use with all models
# Units: kip, in
# Kevin Mackie, 2001/02/01
# mackie@ce.berkeley.edu
#
# Takes ground motion and structural input parameters from higher
# level procedure and outputs data to files for computation of UCSD
# output quantities. Performs static pushovers only.

proc ModelS {param_group skew L LoH fy fc rho_s DcDs ksoil wt rhos_trans deck abut ida} {

wipe

set gap_in 6
set g 386.4
set pi [expr acos(-1.0)]
set fstub [format "st%04i" $param_group]

# ------------------------------------------------------
# Perform the pushover analysis for yield condition data
# Transverse Direction only

# -------------
# Modes
source Generatebridge
Generatebridge $skew $L $LoH $fy $fc $rho_s $DcDs $ksoil $wt $rhos_trans $deck $gap_in $abut

set eigenvalues [eigen 3]
set omega1 [expr 2*$pi/sqrt([lindex $eigenvalues 0])]
set omega2 [expr 2*$pi/sqrt([lindex $eigenvalues 1])]
set omega3 [expr 2*$pi/sqrt([lindex $eigenvalues 2])]

recorder Node [format "%smode1.out" $fstub] "eigen 1" -node 3 8 13 -dof 2
recorder Node [format "%smode2.out" $fstub] "eigen 2" -node 3 8 13 -dof 2
recorder Node [format "%smode3.out" $fstub] "eigen 3" -node 3 8 13 -dof 2

# Run a one step gravity load with no loading.
test EnergyIncr 1e-9 15 0
algorithm Newton
system SparseGeneral
integrator LoadControl 1 1 .0000001 1
numberer Plain
constraints Transformation
analysis Static
analyze 1

set efile [open [format "%smode2.out" $fstub] "r"]
set linef [gets $efile]
scan $linef "%e %e %e" ph1 ph2 ph3
close $efile

if { [expr abs($ph1+$ph2+$ph3)] < 1e-4 } {
puts "WARNING: transverse mode not found in 2nd mode"
}

set mwt1 [expr $ph1*$L/2.0]
set mwt2 [expr $ph2*($L+$L)/2.0]
set mwt3 [expr $ph3*$L/2.0]
set tf [expr ( abs($mwt1)+abs($mwt2)+abs($mwt3) )]
set val1 [expr $mwt1/$tf]
set val2 [expr $mwt2/$tf]
set val3 [expr $mwt3/$tf]
puts "$ph1 $ph2 $ph3"
puts "$val1 $val2 $val3"

set efile [open "eigenvals.out" "w"]
puts $efile "$omega1 $omega2 $omega3"
puts $efile "$val1 $val2 $val3"
close $efile

wipe

puts "Done eigen analysis..."

# --------------
# Moment curvature
source GenerateSection.tcl
GenerateSection $skew $L $LoH $fy $fc $rho_s $DcDs $ksoil $wt $rhos_trans

set mkfile [open "mk_info" "r"]
source MK.tcl
while {-1 != [gets $mkfile line] } {
scan $line "%i %f" tagn axial
MK $tagn $axial
}

wipe
puts "Done Moment-curvature analysis..."

# -------------
# Pushover
source Generatebridge.tcl
generatebridge $skew $L $LoH $fy $fc $rho_s $DcDs $ksoil $wt $rhos_trans $deck $gap_in $abut

# Record top of column
recorder Node [format "%snd082.out" $fstub] disp -load -node 8 -dof 2

# Record deck movement at abutments
recorder Node [format "%snd031.out" $fstub] disp -load -node 3 -dof 1 2 3
recorder Node [format "%snd131.out" $fstub] disp -load -node 13 -dof 1 2 3

# Record abutment transverse forces
recorder Element 44 -file [format "%sef442.out" $fstub] forces
recorder Element 47 -file [format "%sef472.out" $fstub] forces

# Record first pile shaft shear
recorder Element 60 -file [format "%sef601.out" $fstub] forces
recorder Element 62 -file [format "%sef621.out" $fstub] forces
recorder Element 64 -file [format "%sef641.out" $fstub] forces
recorder Element 66 -file [format "%sef661.out" $fstub] forces
recorder Element 68 -file [format "%sef681.out" $fstub] forces
recorder Element 70 -file [format "%sef701.out" $fstub] forces
recorder Element 72 -file [format "%sef721.out" $fstub] forces

# Use same integrator, test, algorithms, etc as longitudinal
# init Jd min max
integrator LoadControl 0 1 0 0

# tolerance maxIter displayCode
test EnergyIncr 1.0e-12 15 0
algorithm Newton
numberer RCM
constraints Plain
system BandGeneral
analysis Static
analyze 1

# 1 for Chopra
#set pushover 1
# 0 for Fajfar
set pushover 0

if { $pushover == 1 } {
# Reference lateral loads
pattern Plain 5 Linear {
# node FX FY FZ MX MY MZ
load 3 0.0 $val1 0.0 0.0 0.0 0.0
load 8 0.0 $val2 0.0 0.0 0.0 0.0
load 13 0.0 $val3 0.0 0.0 0.0 0.0
}
} else {
pattern Plain 5 Linear {
# node FX FY FZ MX MY MZ
load 3 0.0 0.333 0.0 0.0 0.0 0.0
load 8 0.0 0.333 0.0 0.0 0.0 0.0
load 13 0.0 0.333 0.0 0.0 0.0 0.0
}
}

# Load control with variable load steps
# init Jd min max
integrator LoadControl 20.0 3 10.0 20.0

# continue up linear path with load control
analysis Static
analyze 1

# change integrator for displacement monitoring
# dlam1 Jd minLam maxLam
# node dof dU1 Jd minLam maxLam
integrator DisplacementControl 8 2 1.0 1 1.0 20.0

# Perform the pushover analysis under dynamic monitoring of failure
set static_slope 1000
set static_cnt 1

# while { $static_slope > -0.1 && $static_cnt < 900 } {}
while { $static_slope > -0.1 && $static_cnt < 22 } {
set res [analyze 1]
if {$res < 0} {
puts "Pushover analysis failed\n"
set static_slope -10;
}
incr static_cnt
}

puts "Finished transverse pushover analysis..."

wipe

# end of transverse static pushover analysis
# ------------------------------------------------

#set fstub [format "st%04i" $param_group]
#file delete [format "%snd031.out" $fstub]
#file delete [format "%snd131.out" $fstub]
#file delete [format "%snd082.out" $fstub]

}
pkafando
 
Posts: 4
Joined: Thu Jun 11, 2015 6:03 pm
Location: prairie View AM

Re: Pushover Analysis

Postby elizabethgillespe » Tue Sep 20, 2016 12:52 am

Great news you shared. I am a freelance writer and working in the educational field. Students are in a great need of writing help for making a best dissertation paper or for completing their academic papers. I am a freelance writer at dissertation writing service.
elizabethgillespe
 
Posts: 1
Joined: Tue Sep 20, 2016 12:48 am


Return to Useful Scripts.

Who is online

Users browsing this forum: No registered users and 1 guest