14
1 Simulating Simulating Seismic Response Seismic Response of RC Frame Structures to of RC Frame Structures to Collapse: Models, Calibration, and Solution Algorithms Collapse: Models, Calibration, and Solution Algorithms Curt Haselton, PhD Candidate Curt Haselton, PhD Candidate Gregory Deierlein, Professor, PhD, PE Gregory Deierlein, Professor, PhD, PE OpenSees Developers Symposium OpenSees Developers Symposium August 24, 2005 August 24, 2005

Simulating Seismic Response of RC Frame Structures to …opensees.berkeley.edu/workshop/OpenSeesDays2005_presentations/AA-10... · Matlab writes a .Tcl file to tell OpenSees what

Embed Size (px)

Citation preview

1

Simulating Simulating Seismic ResponseSeismic Response of RC Frame Structures to of RC Frame Structures to

Collapse: Models, Calibration, and Solution AlgorithmsCollapse: Models, Calibration, and Solution Algorithms

Curt Haselton, PhD Candidate Curt Haselton, PhD Candidate

Gregory Deierlein, Professor, PhD, PEGregory Deierlein, Professor, PhD, PE

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 2005

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 20052

OutlineOutline

� Introduction to Reinforced-Concrete Beam-Column element

model with cyclic strength and stiffness deterioration

� Calibration of RC Beam-Column element model

� Introduction to structural model and collapse predictions

� Collapse analysis process:

� Overview of Matlab algorithm

� OpenSees solution algorithm

� Identification/treatment of collapse

� Treatment of singularity

� Summary

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 20053

-1.5

-1

-0.5

0

0.5

1

1.5

-8 -6 -4 -2 0 2 4 6 8

Θ, Chord Rotation

M, C

olu

mn

Bas

e M

om

en

tRC BeamRC Beam--Column Element ModelColumn Element Model

Basic Strength Deterioration

Note: Cyclic deterioration parameter is hysteretic energy dissipated

Cyclic deterioration

Post-Capping Strength

Deterioration

Plastic rotation capacity

(Material model by Ibarra and Krawinkler)

Post-capping stiffness

Also unloading and reloading stiffness deterioration, but not as important for

collapse

Θ

M

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 20054

Calibration of BeamCalibration of Beam--Column ModelColumn Model

-150 -100 -50 0 50 100 150-250

-200

-150

-100

-50

0

50

100

150

200

250

Sh

ear

Fo

rce (

kN

)

Column Top Horizontal Deflection (mm)

Test 170 (kN, mm, rad):

K

e = 2.4642e+007

Kinit

= 1.1842e+008

αs = 0.04

αc = -0.07 (ND = 0)

θy = 0.0143

θcap,pl

= 0.060 (LB = 0)

θu,mono,pl

= 0.103 (LB = 0)

λ = 64, c = 1.20

isPDeltaRemoved = 1

Experimental Results

Model Prediction

Model Calibrated for:

• Strength

• Initial stiffness

• Post-yield stiffness

• Plastic rotation capacity

• Negative post-cap slope

• Cyclic deterioration rate

Model calibrated to 226

flexurally dominated test from

PEER Structural Performance

Database (Berry and Eberhard)

Regression analyses in progress

to predict all model parameters

from the physical column

properties

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 20055

Structural ModelStructural Model

Primary Lateral FrameGravity Frame(s)

Lumped plasticity elements

Joints with both bond-slip springs and shear springs

Column bond-slip springs

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 20056

Incremental Dynamic Analysis (IDA)Incremental Dynamic Analysis (IDA)

36 records

Collapse Sa is at “flat line” –dynamic instability – drift increases without bounds

Of course, there are many

numerical problem to be overcome for the results to be

reliable…

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 20057

Overview of IDA AlgorithmOverview of IDA Algorithm

� Matlab drives the collapse analysis

� Easier for automating analysis, post-processing and

parameter studies

� Matlab writes a .Tcl file to tell OpenSees what to do, then

Matlab executes OpenSees with the following command:

�“!openSees RunSingleCollapseSensitivityAnalysisMATLAB.tcl”

� After OpenSees analysis, Matlab processes the results,

then runs remaining analyses to find collapse point.

� Easier to handle numerical difficulties such as

singularity and non-convergence

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 20058

Dynamic Solution AlgorithmDynamic Solution Algorithm# Loop for full earthquake unless we detect collapse or until the system goes singular

while { $eqNotFinished == 1 && $isCollapsed == 0 && $isSingular == 0 } {

test RelativeNormDispIncr 1.0e-6 10 1; # test testType $tolerance $maxNumIter <$printFlag>

algorithm NewtonLineSearch 0.6;

set ok [analyze 1 $dT]

if {$ok != 0} {algorithm Newtonset ok [analyze 1 $dT]

}

if {$ok != 0} {algorithm Newton -initialset ok [analyze 1 $dT]

}

if {$ok != 0} {algorithm KrylovNewtonset ok [analyze 1 $dT]

}

# Continued on next slide…

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 20059

Dynamic Solution AlgorithmDynamic Solution Algorithm# …continued from last slide

if {$ok != 0} {

# Repeatedly reduce the tolerance and try all of the solution algorithms again}

if {$ok != 0} {

# STOP ANALYSIS: Give up and let OpenSees return with a convergence error

} else {

# Output the convergence tolerance achieved for user to decide if that is acceptable

}

# If we get to this line the analysis converged…check for collapse and singularity

if { isCollapsed } { # Stop analysis and report collapse [Details on next slide] }

if { isSingular } { # Stop analysis and report singularity [Details on next slide] }

}

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 200510

Treatment of Collapse StateTreatment of Collapse State

� We stop the analysis if the model collapses (dynamically unstable) or the

solution may become singular (which causes an OpenSees error)

� At each step of the analysis we check collapse based on a predefined drift

limit (this collapse definition can easily be altered).

� Code to check for collapse:

# Get floor displacements from OpenSees at this analysis step

set floor2Displ "[nodeDisp $nodeNumAtFloor2 1]“;

…do for all floors

# Compute story drift ratios for all stories

set story2DriftRatio [expr ($floor3Displ - $floor2Displ) / [lindex $floorHeightsLIST 2]]

…do for all stories

# Check is collapseDriftLimit is exceeded

if { abs(any story drift) > collapseDriftLimit } {

set isCollapsed 1; # Stop the analysis at this time step and report collapse to MATLAB

}

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 200511

Treatment of SingularityTreatment of Singularity

� Singularity is a huge problem for collapse analysis. Singularity causes the

current version of opensees.exe to stop working (we need to fix this)

� How do we know that the solution went singular? We get any of the

following in some of our nodal recorders (not all recorders):

� #QNAN, or #IND, or a huge displacement (disp > 1000000.0)

� Code to check for singularity:

� See next slide

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 200512

Treatment of SingularityTreatment of Singularity# Code for singularity check

# Check for singularity in a single nodal recorder

set floor2Displ "[nodeDisp $nodeNumAtFloor2 1]“

# Check recorders for IND or QNAN…

set checkForQNANFlr2 [string first QNAN $floor2Displ 1];

set checkForINDFlr2 [string first IND $floor2Displ 1];

# Check recorder for a huge unreasonable displacement…

if { $ floor2Displ > 1000000.0 } {

set isSingular 1; # Set singularity flag

}

# …do same checks for many other nodal recorders…

# Set the singularity flag based on IND or QNAN

if {($checkForQNANFlr2 != -1) || ($checkForINDFlr2 != -1) || …check other nodes… } {

set isSingular 1; # Set singularity flag

}

# Stop analysis if singular

if { isSingular == 1 } {

# Stop the analysis at this time step and report singularity to MATLAB

}

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 200513

Treatment of SingularityTreatment of Singularity

� What do we do if the solution goes singular?

� OpenSees stops the analysis and report the singularity back to Matlab

� Matlab throws away the results for the singular analysis

� Matlab then slightly alters the Sa level of the earthquake and reruns the analysis

� Matlab continues these slight alterations to Sa until we get an analysis with

either full convergence or collapse (without any singularity)

OpenSees Developers Symposium OpenSees Developers Symposium –– August 24, 2005August 24, 200514

SummarySummary

� It is easy and extremely useful to use Matlab to run OpenSees

� When doing collapse analyses, numerical issues are a large problem

� Using Tcl and OpenSees commands, we can identify these

numerical problems and “get around them” in order to get analysis

results that are reliable

� A book that I have found extremely useful for programming in Tcl:

� “Practical Programming in Tcl and Tk”, Fourth Edition, by Brent B.

Welch and Ken Jones