Can't get the adaptive results

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

Moderators: silvia, selimgunay, Moderators

Post Reply
trainee
Posts: 8
Joined: Thu Mar 21, 2019 3:08 am
Location: Shandong University

Can't get the adaptive results

Post by trainee »

Hello everyone.I constructed a substructure(Cross shape) using the method I learned in Os wiki,but I can't get the adaptive result.You can find the example according to the link.http://opensees.berkeley.edu/wiki/index ... es_and_RBS.
The example is to model a 2-Bay X 1-Story steel structure.The beam and column use elastic element to fomulate.And use the concentrated plastic hinge with IMK model to achieve nonlinearity even RBS.I have just learned this method and use it to construct a cross shape substructure.The model I constructed is a cross shape model,I just wanted to make a pushover analysis.The beam is RBS and the column is not RBS.The concentrated plastic hinge is at the end of the column and at the RBS location for beam.And the I just import the displacement to start a pushover analysis.However the results I get just can't get matched.I have inspect the code many times,but,I just don't konw what the problems are.Dose the method I learned can't use in any situation?I will be very grateful if anybody can help me.Here ,the link is the data where I get from.http://resslabtools.epfl.ch/steel/repor ... 13-SPEC3-W.
According to the paper Lignos published in 2011 (Deterioration Modeling of Steel Components in Support of Collapse Prediction of Steel Moment Frames under
Earthquake Loading,figure 2,Ricles ),he have achieved this reslut.I just learned the method in Oswiki to make similar action ,however,I can't the matched result,I just feel puzzled.Here ,I will attach the code I create .The relevant section data is according to a doctor dissertation(Xiaofeng Zhang).

Code:
main tcl
#Units: kips,in

###################################################################################################
# Set Up & Source Definition
###################################################################################################
wipe all;
model basic -ndm 2 -ndf 3;
source LibUnits.tcl;
source DisplayModel2D.tcl; # procedure for displaying a 2D perspective of model
source DisplayPlane.tcl; # procedure for displaying a plane in a model
source rotPanelZone2D.tcl; # procedure for defining a rotational spring (zero-length element) to capture panel zone shear distortions
source elemPanelZone2D.tcl; # procedure for defining 8 elements to create a rectangular panel zone
source rotIMK.tcl; #to fomulate IMK hinges,just concentrated hinge
source Steel2d.tcl; # formulate the bilin material
###################################################################################################
# Define Building Geometry, Nodes, Masses, and Constraints
###################################################################################################
set l 177;
set h 78;
set Fy 50;
set n 10;
set Es 29000;

# define the section properties (W shape steels are utilized to construct the model)
# just for the column ,from the left to the right
# W 27 X 194
set d27194 28.1; # depth
set bf27194 14.0; # flange width
set tf27194 1.34; # flange thickness
set tw27194 0.750; # web thickness
set A27194 57.2; # area of the section
set Ix27194 7860; # moment of inertia of the section
set ry27194 3.29; # Week axis
set Zx27194 631; # Section Modulus
set I27194mod [expr $Ix27194*($n+1.0)/$n]; # modified moment of inertia
# just for the beam
# W 36 X 150
set d36150 35.9; # depth
set bf36150 12.0; # flange width
set tf36150 0.940; # flange thickness
set tw36150 0.625; # web thickness
set A36150 44.2; # area of the section
set Ix36150 9040; # moment of inertia of the section
set ry36150 2.47; # Week axis
set Zx36150 581; # Section Modulus
set I36150mod [expr $Ix36150*($n+1.0)/$n]; # modified moment of inertia

# define the main nodes
node 1 [expr -$l] 0;
node 2 [expr $l] 0;
node 3 0 [expr -$h];
node 4 0 [expr $h];

# define the extra nodes including panel zone and concentrated plastic hinges
set pzlat [expr $d27194/2];
set pzvert [expr $d36150/2];
set phlat [expr 36.56];

node 115 0 [expr -$pzvert];
node 116 0 [expr -$pzvert];
node 117 0 $pzvert;
node 118 0 $pzvert;
node 111 [expr -$phlat] 0;
node 112 [expr -$phlat] 0;
node 113 $phlat 0;
node 114 $phlat 0;

node 1101 [expr -$pzlat] $pzvert;
node 1102 [expr -$pzlat] $pzvert;
node 1103 $pzlat $pzvert;
node 1104 $pzlat $pzvert;
node 1105 $pzlat 0 ;
node 1106 $pzlat [expr -$pzvert];
node 1107 $pzlat [expr -$pzvert];
node 1108 [expr -$pzlat] [expr -$pzvert];
node 1109 [expr -$pzlat] [expr -$pzvert];
node 1110 [expr -$pzlat] 0;

# define the constraits(if it is necessary in this model?)
set dof1 1;
equalDOF 1105 1 $dof1;
equalDOF 1105 2 $dof1;
equalDOF 1105 111 $dof1;
equalDOF 1105 113 $dof1;

fix 1 0 1 0;
fix 2 0 1 0;
fix 3 1 1 0;
###################################################################################################
# Define Section Properties and Elements
###################################################################################################
set ColumnTransf 1;
set BeamTransf 2;
set PzTransf 3;
geomTransf PDelta $ColumnTransf;
geomTransf Linear $BeamTransf;
geomTransf PDelta $PzTransf;
# define the elastic column
# from the down to the top
element elasticBeamColumn 1 3 115 $A27194 $Es $I27194mod $ColumnTransf;
element elasticBeamColumn 2 4 118 $A27194 $Es $I27194mod $ColumnTransf;

# define the beam
# from the left right
element elasticBeamColumn 3 1 112 $A36150 $Es $I36150mod $BeamTransf;
element elasticBeamColumn 4 111 1110 $A36150 $Es $Ix36150 $BeamTransf;
element elasticBeamColumn 5 2 114 $A36150 $Es $I36150mod $BeamTransf;
element elasticBeamColumn 6 113 1105 $A36150 $Es $Ix36150 $BeamTransf;


set Apz 1000;
set Ipz 1e5;
elemPanelZone2D 5001101 1101 $Es $Apz $Ipz $PzTransf;
###################################################################################################
# Define Rotational Springs for Plastic Hinges, Panel Zones, and Leaning Columns
###################################################################################################
source Steel2d1.tcl;
SteelWSectionMR 1 $Es $Fy $I27194mod $Zx27194 [expr $h - $d36150/2] [expr ($h - $d36150/2)/2] $d27194 $tw27194 $bf27194 $tf27194 [expr ($h - $d36150/2)/2] $ry27194 "other-than-RBS" 0 "-non-metric";
SteelWSectionMR1 2 $Es $Fy $I36150mod $Zx36150 [expr $l - $phlat] [expr ($l - $phlat)/2] $d36150 $tw36150 $bf36150 $tf36150 [expr ($l - $phlat)/2] $ry36150 "RBS" 1 "-non-metric";

rotIMK 7 116 115 1;
rotIMK 8 117 118 1;
rotIMK 9 111 112 2;
rotIMK 10 113 114 2;

set Ry 1.2; # expected yield strength multiplier
set as_PZ 0.03; # strain hardening of panel zones
rotPanelZone2D 41100 1103 1104 $Es $Fy $d27194 $bf27194 $tf27194 [expr $tw27194 + 0.25] $d36150 $Ry $as_PZ;
#DisplayModel2D NodeNumbers;
#set ViewScale 5;
#DisplayModel2D DeformedShape $ViewScale;
set dataDir Cylic_Spec3;
file mkdir $dataDir;
recorder Element -file $dataDir/E10.out -ele 10 force; # Moment of plastic hinge East
recorder Element -file $dataDir/D10.out -ele 10 deformation; # Rotation of plastic hinge East
recorder Node -file $dataDir/N4D.out -time -node 4 -dof 1 disp; # Displacement of control node
recorder Drift -file $dataDir/Drift2.out -iNode 1110 -jNode 111 -dof 2 -perpDirn 1;
recorder Drift -file $dataDir/Drift1.out -iNode 112 -jNode 1 -dof 2 -perpDirn 1;
recorder Drift -file $dataDir/Drift.out -iNode 4 -jNode 3 -dof 1 -perpDirn 2;
recorder Element -file $dataDir/E41100.out -ele 41100 force;
recorder Element -file $dataDir/D41100.out -ele 41100 deformation;
recorder Element -file $dataDir/E9.out -ele 9 force; # Moment of plastic hinge West
recorder Element -file $dataDir/D9.out -ele 9 deformation; # Rotation of plastic hinge West
puts "Running Pushover..."
# assign lateral loads and create load pattern: use ASCE 7-10 distribution
set lat1 1;
pattern Plain 200 Linear {
load 4 $lat1 0.0 0.0;
}
# displacement parameters
set IDctrlNode 4; # node where disp is read for disp control
set IDctrlDOF 1; # degree of freedom read for disp control (1 = x displacement)
source DFdata.tcl;
set Tol 1.0e-8; # convergence tolerance for test
constraints Plain ; # how it handles boundary conditions
numberer RCM; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral ; # how to store and solve the system of equations in the analysis
test NormUnbalance 1.0e-8 400; # determine if convergence has been achieved at the end of an iteration step
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
set fmt1 "%s Pushover analysis: CtrlNode %.3i, dof %.1i, Disp=%.4f %s";
source DFdata.tcl;
set D0 0;
foreach Dstep $iDstep {
set D1 $Dstep
set Dincr [expr ($D1 - $D0)]
integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr
analysis Static
set ok [analyze 1]
# Switch to other methods
if {$ok != 0} {
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr $Tol 2000 0
algorithm Newton -initial
set ok [analyze 1]
test EnergyIncr $Tol 6 0
algorithm Newton
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 ]
algorithm Newton
}
if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch 0.8
set ok [analyze 1]
algorithm Newton
}
if {$ok != 0} {
set putout [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
puts $putout
return -1
};
};
set D0 $D1;
};
if {$ok != 0 } {
puts [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
} else {
puts [format $fmt1 "DONE" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
}

steel2D:
proc SteelWSectionMR1 {matTag E Fy Ix Sx H L d tw bf tf Lb ry Com_Type Comp_Action args} {

############################################################################################
# Procedure to Construct the Modified IMK Material with Moment-Rotation curve for steel #
# #
# The input parameters for bare steel components (beams, columns) are based on the following papers: #
# #
# 1. Lignos, D.G., Krawinkler, H. (2011). “Deterioration Modeling of Steel Components in Support of #
# Collapse Prediction of Steel Moment Frames under Earthquake Loading", #
# ASCE, Journal of Structural Engineering, Vol. 137 (11), 1291-1302. #
# #
# 2. Lignos, D.G., Krawinkler, H. (2013). “Development and Utilization of Structural #
# Component Databases for Performance-Based Earthquake Engineering”, #
# ASCE, Journal of Structural Engineering, Vol. 139 (NEES 2), 1382-1394. #
# #
# The input parameters for composite steel beams are based on the following paper: #
# #
# 1. Elkady, A., Lignos, D.G. (2014). “Modeling of the Composite Action in Fully Restrained #
# Beam-to-Column Connections: Implications in the Seismic Design and Collapse Capacity of Steel #
# Special Moment Frames", Earthquake Engineering and Structural Dynamics, doi: 10.1002/eqe.2430. #
# #
# Input Variables for Procedure #
# #
# SpringID - Spring zerolength ID #
# Node_i - First node #
# Node_j - Second node #
# E - Young's modulus #
# Fy - Yield stress #
# Ix - Moment of inertia of section #
# Sx - Plastic modulus of section #
# H - Member Length without considering the panel zones #
# L - Shear Span #
# d - Section depth #
# tw - Web thickness #
# bf - Flange width #
# tf - Flange thickness #
# Lb - Unbraced length from point of plastic hinge location to point of zero moment #
# ry - radius of gyration with respect to the weak axis of the cross section #
# Com_Type - Type of component (Use: 'RBS' or 'other-than-RBS') #
# Comp_Action - Composite Action flag (Use: 1 (yes), 0 (No) ) #
###########################################################################################
# parameters c1, c2 for unit conversion if Imperial Units are used else these variables should be set equal to 1.0
set c1 1.0
set c2 1.0

if {[lsearch $args "-non-metric"] != -1} {
set c1 25.4;
set c2 6.895;
}

set hLength 1.0;
if {[lsearch $args "-hLength"] != -1} {
set loc [lsearch $args "-hLength"]
set hLength [lindex $args [expr $loc+1]]
}

# Element flexural stiffness assuming that the element is in double curvature
set K [expr (10*6.*$E*$Ix/$H)];

if {$Com_Type == "other-than-RBS"} {
# Pre-capping plastic rotation
set theta_p [expr 0.0865 * pow(($d/$tw),-0.365) * pow(($bf/2./$tf),-0.140) * pow(($L/$d),0.340) * pow(($c1 * $d/533.),-0.721) * pow(($c2 * $Fy/355.),-0.230)];
puts "non RBS";
# Post-capping plastic rotation
set theta_pc [expr 5.63 * pow(($d/$tw),-0.565) * pow(($bf/2./$tf),-0.800) * pow(($c1 * $d/533.),-0.280) * pow(($c2 * $Fy/355.),-0.430)];

# Reference Cumulative Energy
set Lmda [expr 495.0 * pow(($d/$tw),-1.340) * pow(($bf/2./$tf),-0.595) * pow(($c2 * $Fy/355.),-0.360)];
}

if {$Com_Type == "RBS"} {
# Pre-capping plastic rotation
set theta_p [expr (0.19 * pow(($d/$tw),-0.314) * pow(($bf/2./$tf),-0.100) * pow(($Lb/$ry),-0.185) * pow(($L/$d),0.113) * pow(($c1 * $d/533.),-0.760) * pow(($c2 * $Fy/355.),-0.070))];
puts "RBS";
# Post-capping plastic rotation
set theta_pc [expr (9.52 * pow(($d/$tw),-0.513) * pow(($bf/2./$tf),-0.863) * pow(($Lb/$ry),-0.108) * pow(($c2 * $Fy/355.),-0.360))];

# Reference Cumulative Energy
set Lmda [expr (585. * pow(($d/$tw),-1.140) * pow(($bf/2./$tf),-0.632) * pow(($Lb/$ry),-0.205) * pow(($c2 * $Fy/355),-0.391))]
}

# Ultimate Chord Rotation
set theta_u [expr 0.4];

# Residual Strength Factor
set Res [expr 0.4];



set c_S 1.0; set c_C 1.0; set c_A 1.0; set c_K 1.0;

# Check for Composite Action for Beam Springs: If yes adjust the spring parameters based on the ones proposed by Elkady and Lignos (2014)
if {$Comp_Action == 1} {
set theta_p_P [expr 1.80*$theta_p];
puts "Com";
set theta_p_N [expr 0.95*$theta_p];
set theta_pc_P [expr 1.35*$theta_pc];
set theta_pc_N [expr 0.95*$theta_pc];
set D_P 1.15; set D_N 1.00;

# Capping-to-Yield Flexural Strength for Positive and Negative Loading Directions
set McMyP [expr 1.53843*1.30]; set McMyN [expr 1.53843*1.05];

# Effective Yield Moment for Positive and Negative Loading Direction after Slab Adjustment
set My_P [expr 1.19392*1.35 * 21068];
set My_N [expr 1.19392*-1.25 * 21068];

# If No composite Action is considered (Columns and Bare Beam cases)
} else {
set theta_p_P $theta_p;
puts "non Com";
set theta_p_N $theta_p;
set theta_pc_P $theta_pc;
set theta_pc_N $theta_pc;
set D_P 1.0; set D_N 1.0;

# Effective Yield Moment for Positive and Negative Loading Direction
set My_P [expr 1.1 * $Sx * $Fy];
set My_N [expr -1.1 * $Sx * $Fy];

# Capping-to-Yield Flexural Strength for Positive and Negative Loading Directions
set McMyP 1.05; set McMyN 1.05;
}

# Strain hardening ratios for Positive and Negative Loading Directions
set a_mem_p [expr (10+1.0)*($My_P*($McMyP-1.0)) / ($K*$theta_p_P)];
set b_p [expr ($a_mem_p)/(1.0+10*(1.0-$a_mem_p))];
set a_mem_n [expr -(10+1.0)*($My_N*($McMyN-1.0)) / ($K*$theta_p_N)];
set b_n [expr ($a_mem_n)/(1.0+10*(1.0-$a_mem_n))];
# source pso_mat.txt
# set K [expr $pkb*$K];
# set b [expr $pbb*$b];
# set My_P [expr 11775*1.1]
# set My [expr $pMb*$My_P];
# set My_P $My;
# set My_N [expr -$My];
# set Lmda [expr $pLb*$Lmda];
# set th_p [expr $pth_pb*$theta_p];
# set theta_p_P $th_p;
# set theta_p_N $th_p;
# set th_pc [expr $pth_pcb*$theta_pc];
# set theta_pc_P $th_pc;
# set theta_pc_N $th_pc;
# set Res [expr $presb*$Res];
# set theta_u [expr $pub*$theta_u];

# Define Uniaxial Material Modified Ibarra-Medina-Krawinkler (IMK) Model with Bilinear Hysteretic response
uniaxialMaterial Bilin $matTag $K $b_p $b_n $My_P $My_N $Lmda $Lmda $Lmda $Lmda $c_S $c_C $c_A $c_K $theta_p_P $theta_p_N $theta_pc_P $theta_pc_N $Res $Res $theta_u $theta_u $D_P $D_N
}
trainee
Posts: 8
Joined: Thu Mar 21, 2019 3:08 am
Location: Shandong University

Re: Can't get the adaptive results

Post by trainee »

If anyone want run my code ,I can make a pack and email to you.I'm really a new guy,many theory I just don't konw.For me,I really want to solve this problem,however,I really don't have any direction now.Can anyone recommend some books or papers Which are helpfu to read?
trainee
Posts: 8
Joined: Thu Mar 21, 2019 3:08 am
Location: Shandong University

Re: Can't get the adaptive results

Post by trainee »

The DFdata is the displacement history which I get from aforementioned website i.e. the displacement in the data displacement-force.
trainee
Posts: 8
Joined: Thu Mar 21, 2019 3:08 am
Location: Shandong University

Re: Can't get the adaptive results

Post by trainee »

could anyone help me?Does anyone know what problems are?Please give me some help, I will be very grateful!!
Post Reply