2 Phase pushover analysis

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

Moderators: silvia, selimgunay, Moderators

Post Reply
ucesjce
Posts: 4
Joined: Mon Aug 23, 2021 10:21 am

2 Phase pushover analysis

Post by ucesjce »

Hello,

I am trying to run a load control pushover followed by a displacement control pushover. I am having issues in the transition between the two phases, for some reason the lateral forces on the structure get unloaded, whereas I need them to be held at the values of the last time step before proceeding to the displacement control. i.e. the base shear drops to near zero and the top displacement reduces to a residual displacement value.

During the the load control phase I am applying loads as timeseries to a distributed number of points along the columns. At the end of the load control phase I am applying the "loadConst -time 0.0" command. The analysis then continues to the displacement control phase using the applied load at each of the application points of the last timestep in the load control phase. However it appears that the "loadConst -time 0.0" command isn't holding the loads constant for some reason...
Note: the last timestep of the load control phase does not run to the end of the timeseries.

Any ideas would really be appreciated. Condensed code below.
Many thanks

# Model and gravity analysis
# ------------------------------------------------------------
source BuildOSmodel.tcl
source Recorders.tcl
source VerticalLoads.tcl ; # vertical loads are kept constant after gravity analysis
source GravityAnalysis.tcl
# ------------------------------------------------------------------
# Static Analysis Parameters (LibAnalysisStaticParameters.tcl)
variable constraintsTypeStatic Plain; # default: Plain
if { [info exists RigidDiaphragm] == 1} {
if {$RigidDiaphragm=="ON"} {
variable constraintsTypeStatic Transformation;
};
};
constraints $constraintsTypeStatic

set numbererTypeStatic RCM
numberer $numbererTypeStatic

set systemTypeStatic UmfPack;
system $systemTypeStatic

variable TolStatic 1.e-5;
variable maxNumIterStatic 100;
variable printFlagStatic 0;
variable testTypeStatic EnergyIncr ;
test $testTypeStatic $TolStatic $maxNumIterStatic $printFlagStatic;
# for improved-convergence procedure:
variable maxNumIterConvergeStatic 2000;
variable printFlagConvergeStatic 1;

variable algorithmTypeStatic Newton
algorithm $algorithmTypeStatic;

# --------------------------------------------------------------------------------
# Load Control Phase - Static Pushover Analysis.
puts "Load Control Phase"
source LateralLoads_LoadControl.tcl; # lateral loads for pushover are timeseries
source LibAnalysisStaticParameters.tcl; # static analyisis parameters
set Dincr 0.002
set Nsteps 500

integrator LoadControl $Dincr ; # Load control integrator for VDPO phase 1

set analysisTypeStatic Static
analysis $analysisTypeStatic

# ANALYZE
set ok [analyze $Nsteps]

loadConst -time 0.0;
wipeAnalysis;
# --------------------------------------------------------------------------------
# Displacement Control Phase Static Pushover Analysis.
puts "Displacement Control Phase"
source LateralLoads_DispControl.tcl; # eleLoad plain patterns applied at the same application points as the LateralLoads_LoadControl.tcl timeseries, the load factor is taken as that of the last step in the load control phase
source LibAnalysisStaticParameters.tcl; # static analyisis parameters
set IDctrlNode 13011
set IDctrlDOF 3
set Dmax [expr 0.500000]
set Dincr [expr 0.010000]
set Nsteps [expr int($Dmax/$Dincr)];

integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr;

set analysisTypeStatic Static
analysis $analysisTypeStatic

# ANALYZE
set ok [analyze $Nsteps];
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: 2 Phase pushover analysis

Post by fmk »

here is a simple script that does what you describe w/o error (hopefully). It is impossible to figure out your problem with code in other files. Hopefully you can sort out your issue from code below. If not repeat your problem in a SIMPLE example like below.

Code: Select all


model basic -ndm 2
node 1 0 0
node 2 0 10
geomTransf Linear 1
element elasticBeamColumn 1 1 2 10 100 1000 1
fix 1 1 1 1

#                                                                                     
# load control first                                                                  
#  apply tip load of 100 over 10 steps                                                
#                                                                                     

timeSeries Linear 1
pattern Plain 1 1 {
    load 2 10.0 0 0
}
integrator LoadControl 1.0
analysis Static
analyze 10
puts "\nNode after 10 Load Control .. should see lateral load of 100 and some disp"
print node 2;

#                                                                                     
# loadConst command                                                                   
#                                                                                     

loadConst -time 0

#                                                                                     
# do another 10 load steps after loadConst .. should see no difference                
#     

analyze 10
puts "Node after 10 more steps after loadConst .. should be same as previous"
print node 2

#                                                                                     
# now apply displacement control                                                      
#  - use displacement control to increment disp to result of previous over 10 steps   
#  - when done load should be doubled and displacement doubles                        
#
     
set totalDisp [nodeDisp 2 1]
loadConst -time 0; # reset time to 0 again                                            

timeSeries Linear 2
pattern Plain 2 2 {
    load 2 1 0 0
}
integrator DisplacementControl 2 1 [expr $totalDisp/10.]
for {set i 1} {$i <= 10} {incr i 1} {
    analyze 1
    print node 2;
}

lijie
Posts: 4
Joined: Thu Apr 08, 2021 1:11 am

Re: 2 Phase pushover analysis

Post by lijie »

Hi,I am trying to run a load control pushover。But I can't find any examples. Can you send them to me? My email 756131127@qq.com
zellahodkiewicz
Posts: 2
Joined: Wed May 24, 2023 8:50 pm

Re: 2 Phase pushover analysis

Post by zellahodkiewicz »

I am alsobadland facing the same situation. Hope to be of help.
Post Reply