Hi,
I want to do a pushover analysis upto a certain drift level. After that I want to unload the structure till zero load and do eigen value analysis at that point. Can anyone suggest me the procedure to do this analysis.
Thank you,
Supratik.
Pushover Analysis Help
Moderators: silvia, selimgunay, Moderators
Re: Pushover Analysis Help
#pushover
integrator LoadControl or DisplacementControl
set drift 0.; set targetDrift 0.;
while {$drift < $targetDrift} {
analyze 1;
set drift [expr [nodeDisp $topNode 1]/$Height]
}
#unload
set loadFactor [getTime]
set dLambda [expr -$loadFactor/($numStep * 1.)]
integrator loadControl $dLambda
for {set i 0; $i<$numStep; incr i 1} {
analyze 1
}
#eigenvalues
puts [eigen $numMode]
integrator LoadControl or DisplacementControl
set drift 0.; set targetDrift 0.;
while {$drift < $targetDrift} {
analyze 1;
set drift [expr [nodeDisp $topNode 1]/$Height]
}
#unload
set loadFactor [getTime]
set dLambda [expr -$loadFactor/($numStep * 1.)]
integrator loadControl $dLambda
for {set i 0; $i<$numStep; incr i 1} {
analyze 1
}
#eigenvalues
puts [eigen $numMode]
-
- Posts: 10
- Joined: Mon Oct 06, 2014 5:52 pm
Re: Pushover Analysis Help
I am getting an error while running the unload part...
wrong # args: should be for "start test next command"
while executing
for {set i 0; $i<$numStep; incr i 1} {
analyze 1
Is the unload part related to the pushover part. I am using my own code for pushover analysis but not able to unload till zero load. I am attaching my pushover code. Please help me with the unloading part.
############################################################################
# Pushover Analysis #
############################################################################
# assign lateral loads and create load pattern
set lat1 0.33; # force on each frame node in Floor 1
set lat2 0.66; # force on each frame node in Floor 2
set lat3 1.00; # force on each frame node in Floor 3
pattern Plain 200 Linear {
load 4 $lat1 0.0 0.0;
load 5 $lat1 0.0 0.0;
load 6 $lat1 0.0 0.0;
load 7 $lat2 0.0 0.0;
load 8 $lat2 0.0 0.0;
load 9 $lat2 0.0 0.0;
load 10 $lat3 0.0 0.0;
load 11 $lat3 0.0 0.0;
load 12 $lat3 0.0 0.0;
}
# display deformed shape:
set ViewScale 10;
DisplayModel2D DeformedShape $ViewScale ; # display deformed shape, the scaling factor needs to be adjusted for each model
# displacement parameters
set IDctrlNode 10; # node where disp is read for disp control
set IDctrlDOF 1; # degree of freedom read for disp control (1 = x displacement)
set Dmax [expr 0.01*3*$LCol]; # maximum displacement of pushover: 10% roof drift
set Dincr [expr 0.05]; # displacement increment
# analysis commands
constraints Plain; # how it handles boundary conditions
numberer RCM; # renumber dof's to minimize band-width (optimization)
system BandGeneral; # how to store and solve the system of equations in the analysis (large model: try UmfPack)
test NormUnbalance 1.0e-6 400; # tolerance, max iterations
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr; # use displacement-controlled analysis
analysis Static; # define type of analysis: static for pushover
set Nsteps [expr int($Dmax/$Dincr)];# number of pushover analysis steps
set ok [analyze $Nsteps]; # this will return zero if no convergence problems were encountered
puts "Pushover complete"; # display this message in the command window
#
Thank You,
Supratik
wrong # args: should be for "start test next command"
while executing
for {set i 0; $i<$numStep; incr i 1} {
analyze 1
Is the unload part related to the pushover part. I am using my own code for pushover analysis but not able to unload till zero load. I am attaching my pushover code. Please help me with the unloading part.
############################################################################
# Pushover Analysis #
############################################################################
# assign lateral loads and create load pattern
set lat1 0.33; # force on each frame node in Floor 1
set lat2 0.66; # force on each frame node in Floor 2
set lat3 1.00; # force on each frame node in Floor 3
pattern Plain 200 Linear {
load 4 $lat1 0.0 0.0;
load 5 $lat1 0.0 0.0;
load 6 $lat1 0.0 0.0;
load 7 $lat2 0.0 0.0;
load 8 $lat2 0.0 0.0;
load 9 $lat2 0.0 0.0;
load 10 $lat3 0.0 0.0;
load 11 $lat3 0.0 0.0;
load 12 $lat3 0.0 0.0;
}
# display deformed shape:
set ViewScale 10;
DisplayModel2D DeformedShape $ViewScale ; # display deformed shape, the scaling factor needs to be adjusted for each model
# displacement parameters
set IDctrlNode 10; # node where disp is read for disp control
set IDctrlDOF 1; # degree of freedom read for disp control (1 = x displacement)
set Dmax [expr 0.01*3*$LCol]; # maximum displacement of pushover: 10% roof drift
set Dincr [expr 0.05]; # displacement increment
# analysis commands
constraints Plain; # how it handles boundary conditions
numberer RCM; # renumber dof's to minimize band-width (optimization)
system BandGeneral; # how to store and solve the system of equations in the analysis (large model: try UmfPack)
test NormUnbalance 1.0e-6 400; # tolerance, max iterations
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr; # use displacement-controlled analysis
analysis Static; # define type of analysis: static for pushover
set Nsteps [expr int($Dmax/$Dincr)];# number of pushover analysis steps
set ok [analyze $Nsteps]; # this will return zero if no convergence problems were encountered
puts "Pushover complete"; # display this message in the command window
#
Thank You,
Supratik