Search found 6 matches

by sumitanand
Tue May 05, 2015 6:45 pm
Forum: OpenSees.exe Users
Topic: Adaptive pushover script
Replies: 1
Views: 3478

Adaptive pushover script

Hello,

I am trying to conduct an adaptive pushover on a simple three storey, reinforced concrete frame. The upper two storey are modeled as elastic and the bottom storey as inelastic. Can you please review the following script and comment if I have it right? I am not very confident, as the plot of roof disp vs. base shear shows the curve go horizontal at 200mm roof displacement (i.e. no increase in load factor)! I am pushing the frame to a total of 400mm roof displacement.

Other question:
- Is it ok to use the 'linear' algorithm to solve a nonlinear model? The 'Newton' or 'ModifiedNewton' were not converging. So I tried 'Linear' and obtained full convergence with results being exactly the same up to the point of convergence for other nonlinear algorithms. Perhaps you can point me to some theory, as I am not sure where the 'Linear' algorithm would be appropriate.

SCRIPT

#Units N,m
model BasicBuilder -ndm 2 -ndf 3

# Node tag xCrd yCrd
node 1 +0.000000E+000 +0.000000E+000
node 2 +0.000000E+000 +4.000000E+000
node 3 +6.000000E+000 +0.000000E+000
node 4 +6.000000E+000 +4.000000E+000
node 5 +0.000000E+000 +7.000000E+000
node 6 +6.000000E+000 +7.000000E+000
node 7 +0.000000E+000 +1.000000E+001
node 8 +6.000000E+000 +1.000000E+001

# SPC tag Dx Dy Rz
fix 1 1 1 1
fix 3 1 1 1

# Mass tag mx my mIz
mass 2 +7.200000E+003 +0.000000E+000 +0.000000E+000
mass 4 +7.200000E+003 +0.000000E+000 +0.000000E+000
mass 5 +7.200000E+003 +0.000000E+000 +0.000000E+000
mass 6 +7.200000E+003 +0.000000E+000 +0.000000E+000
mass 7 +5.000000E+003 +0.000000E+000 +0.000000E+000
mass 8 +5.000000E+003 +0.000000E+000 +0.000000E+000


# Material "ElasticDefault": matTag E eta
uniaxialMaterial Elastic 1 +2.900000E+004 +0.000000E+000
# Material "cover": matTag fc' epsc0 fcu' epsu lambda ft Ets
uniaxialMaterial Concrete02 2 -3.500000E+007 -2.366000E-003 -7.000000E+006 -2.920000E-003 +1.000000E-001 +0.000000E+000 +0.000000E+000
# Material "core": matTag fc' epsc0 fcu' epsu lambda ft Ets
uniaxialMaterial Concrete02 3 -3.500000E+007 -2.366000E-003 -7.000000E+006 -3.810000E-002 +1.000000E-001 +0.000000E+000 +0.000000E+000
# Material "rebar": matTag Fy E b R0 cR1 cR2 <a1 a2 a3 a4> <sig0>
uniaxialMaterial Steel02 4 +4.500000E+008 +2.100000E+011 +4.200000E-003 +1.800000E+001 +9.250000E-001 +1.500000E-001 +0.000000E+000 +1.000000E+000 +0.000000E+000 +1.000000E+000 +0.000000E+000


# Section "ElasticDefault": secTag E A Iz
section Elastic 1 +2.900000E+004 +1.800000E+002 +4.860000E+003
# Section "beam": secTag
section Fiber 2 {
# PatchQuad "beamcore": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz
patch quad 3 1 20 -2.500000E-001 +3.000000E-001 -2.500000E-001 -3.000000E-001 +2.500000E-001 -3.000000E-001 +2.500000E-001 +3.000000E-001
# PatchQuad "beamtopcover": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz
patch quad 2 1 12 +2.500000E-001 +3.000000E-001 +2.500000E-001 -3.000000E-001 +3.000000E-001 -3.000000E-001 +3.000000E-001 +3.000000E-001
# PatchQuad "beambottomcover": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz
patch quad 2 1 12 -3.000000E-001 +3.000000E-001 -3.000000E-001 -3.000000E-001 -2.500000E-001 -3.000000E-001 -2.500000E-001 +3.000000E-001
# LayerStraight "top": matTag numBar areaBar yStart zStart yEnd zEnd
layer straight 4 4 +4.908700E-004 +2.500000E-001 +2.500000E-001 +2.500000E-001 -2.500000E-001
# LayerStraight "middle": matTag numBar areaBar yStart zStart yEnd zEnd
layer straight 4 2 +4.908700E-004 +0.000000E+000 +2.500000E-001 +0.000000E+000 -2.500000E-001
# LayerStraight "bottom": matTag numBar areaBar yStart zStart yEnd zEnd
layer straight 4 4 +4.908700E-004 -2.500000E-001 +2.500000E-001 -2.500000E-001 -2.500000E-001
}
# Section "column": secTag
section Fiber 3 {
# PatchQuad "columntopcover": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz
patch quad 2 1 16 +3.500000E-001 +4.000000E-001 +3.500000E-001 -4.000000E-001 +4.000000E-001 -4.000000E-001 +4.000000E-001 +4.000000E-001
# PatchQuad "columnbottomcover": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz
patch quad 2 1 16 -4.000000E-001 +4.000000E-001 -4.000000E-001 -4.000000E-001 -3.500000E-001 -4.000000E-001 -3.500000E-001 +4.000000E-001
# PatchQuad "columncore": matTag NSIJ NSJK Iy Iz Jy Jz Ky Kz Ly Lz
patch quad 3 1 20 -3.500000E-001 +4.000000E-001 -3.500000E-001 -4.000000E-001 +3.500000E-001 -4.000000E-001 +3.500000E-001 +4.000000E-001
# LayerStraight "top": matTag numBar areaBar yStart zStart yEnd zEnd
layer straight 4 4 +4.908700E-004 +3.500000E-001 +3.500000E-001 +3.500000E-001 -3.500000E-001
# LayerStraight "middle": matTag numBar areaBar yStart zStart yEnd zEnd
layer straight 4 2 +4.908700E-004 +0.000000E+000 +3.500000E-001 +0.000000E+000 -3.500000E-001
# LayerStraight "bottom": matTag numBar areaBar yStart zStart yEnd zEnd
layer straight 4 4 +4.908700E-004 -3.500000E-001 +3.500000E-001 -3.500000E-001 -3.500000E-001
}

# GeoTran type tag
geomTransf Corotational 1


# Element "column": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element nonlinearBeamColumn 1 1 2 5 3 1 -mass +1.536000E+003 -iter 25 +1.000000E+001
# Element "column": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element nonlinearBeamColumn 2 3 4 5 3 1 -mass +1.536000E+003 -iter 25 +1.000000E+001
# Element "beam": eleTag NodeI NodeJ NIP secTag geoTranTag <-mass massDens> <-iter maxIters tol>
element nonlinearBeamColumn 3 2 4 5 2 1 -mass +8.650000E+002 -iter 25 +1.000000E+001
# Element "800x800column": eleTag NodeI NodeJ A E Iz geoTranTag <alpha d> <-mass massDens>
element elasticBeamColumn 4 2 5 +6.400000E-001 +2.958000E+010 +3.410000E-002 1 +0.000000E+000 +8.000000E-001 -mass +1.536000E+003
# Element "600x600beam": eleTag NodeI NodeJ A E Iz geoTranTag <alpha d> <-mass massDens>
element elasticBeamColumn 5 5 6 +3.600000E-001 +2.958000E+010 +1.080000E-002 1 +0.000000E+000 +6.000000E-001 -mass +8.640000E+002
# Element "800x800column": eleTag NodeI NodeJ A E Iz geoTranTag <alpha d> <-mass massDens>
element elasticBeamColumn 6 4 6 +6.400000E-001 +2.958000E+010 +3.410000E-002 1 +0.000000E+000 +8.000000E-001 -mass +1.536000E+003
# Element "800x800column": eleTag NodeI NodeJ A E Iz geoTranTag <alpha d> <-mass massDens>
element elasticBeamColumn 7 5 7 +6.400000E-001 +2.958000E+010 +3.410000E-002 1 +0.000000E+000 +8.000000E-001 -mass +1.536000E+003
# Element "600x600beam": eleTag NodeI NodeJ A E Iz geoTranTag <alpha d> <-mass massDens>
element elasticBeamColumn 8 7 8 +3.600000E-001 +2.958000E+010 +1.080000E-002 1 +0.000000E+000 +6.000000E-001 -mass +8.640000E+002
# Element "800x800column": eleTag NodeI NodeJ A E Iz geoTranTag <alpha d> <-mass massDens>
element elasticBeamColumn 9 6 8 +6.400000E-001 +2.958000E+010 +3.410000E-002 1 +0.000000E+000 +8.000000E-001 -mass +1.536000E+003


# TimeSeries "LinearDefault": tsTag cFactor
timeSeries Linear 1 -factor +1.000000E+000

initialize

# LoadPattern "gravity": patternTag tsTag
pattern Plain 1 1 {
# Load nodeTag LoadValues
load 2 +0.000000E+000 -7.063200E+004 +0.000000E+000
load 4 +0.000000E+000 -7.063200E+004 +0.000000E+000
load 5 +0.000000E+000 -7.063200E+004 +0.000000E+000
load 6 +0.000000E+000 -7.063200E+004 +0.000000E+000
load 7 +0.000000E+000 -4.905000E+004 +0.000000E+000
load 8 +0.000000E+000 -4.905000E+004 +0.000000E+000
}


# Node Recorder "DefoShape": fileName <nodeTag> dof respType
recorder Node -file gravityanalysiscase_Node_DefoShape_Dsp.out -time -nodeRange 1 8 -dof 1 2 3 disp
# BeamColumn Recorder "Elementsectionresponse": fileName <eleTag> arguments
recorder Element -file gravityanalysiscase_BeamColumn_Elementsectionresponse_GlbForc.out -time -ele 1 2 3 4 5 6 7 8 9 force
recorder Element -file gravityanalysiscase_BeamColumn_Elementsectionresponse_LocForc.out -time -ele 1 2 3 4 5 6 7 8 9 localForce
# Node Recorder "Reactions": fileName <nodeTag> dof respType
recorder Node -file gravityanalysiscase_Node_Reactions_RFrc.out -time -nodeRange 1 8 -dof 1 2 3 reaction


# AnalysisOptn "gravityanalysisoptions": Type: Static
# ---------------------------------------------------
# Constraint Handler
constraints Plain
# Convergence Test
test NormDispIncr +1.000000E-006 25 0 2
# Integrator
integrator LoadControl +1.000000E-001 1 +1.000000E-001 +1.000000E-001
# Solution Algorithm
algorithm Newton
# DOF Numberer
numberer Plain
# System of Equations
system BandGeneral
# Analysis Type
analysis Static

set numSteps 10
analyze $numSteps

loadConst -time 0.0
remove recorders
wipeAnalysis

# Set pushover recorders

# Node Recorder "DefoShape": fileName <nodeTag> dof respType
recorder Node -file pushoveranalysiscase_Node_DefoShape_Dsp.out -time -nodeRange 1 8 -dof 1 2 3 disp
# BeamColumn Recorder "Elementsectionresponse": fileName <eleTag> arguments
recorder Element -file pushoveranalysiscase_BeamColumn_Elementsectionresponse_GlbForc.out -time -ele 1 2 3 4 5 6 7 8 9 force
recorder Element -file pushoveranalysiscase_BeamColumn_Elementsectionresponse_LocForc.out -time -ele 1 2 3 4 5 6 7 8 9 localForce
# Node Recorder "Reactions": fileName <nodeTag> dof respType
recorder Node -file pushoveranalysiscase_Node_Reactions_RFrc.out -time -nodeRange 1 8 -dof 1 2 3 reaction


# Start adaptive pushover loop
#----------------------------------------------------------------------------------------------------------------

for {set i 1} {$i <= 4} {incr i} {

# Carry out eigen analysis and establish load pattern

# AnalysisOptn "Eigen": Type: Eigen
constraints Plain
test NormDispIncr +1.000000E-012 25 0 2
integrator Newmark +5.000000E-001 +2.500000E-001
algorithm Newton
numberer RCM
system BandGeneral
analysis Transient

# Period
set lambda [eigen 1]
set omega [expr sqrt($lambda)]
set T [expr (2*3.141593)/$omega]

#Eigen Vector
eigen 1
set x [nodeEigenvector 2 1 1]
set y [nodeEigenvector 5 1 1]
set z [nodeEigenvector 7 1 1]
#Normalized Eigen Vector
set x [expr $x/$z]
set y [expr $y/$z]
set z [expr $z/$z]
puts "Period = $T, Eigenvector = $z $y $x"
#Force vector ~ proportional to interstorey displacement
set z [expr $z-$y]
set y [expr $y-$x]
set x [expr $x-0]
puts "Forcevector = $z $y $x"

# LoadPattern "pushover": patternTag tsTag
set tag [expr $i+1]
pattern Plain $tag 1 {
# Load nodeTag LoadValues
load 2 $x +0.000000E+000 +0.000000E+000
load 4 $x +0.000000E+000 +0.000000E+000
load 5 $y +0.000000E+000 +0.000000E+000
load 6 $y +0.000000E+000 +0.000000E+000
load 7 $z +0.000000E+000 +0.000000E+000
load 8 $z +0.000000E+000 +0.000000E+000
}

wipeAnalysis
# AnalysisOptn "pushoveranalysisoptions": Type: Static
constraints Plain
test EnergyIncr +1.000000E-006 50 0 2
integrator DisplacementControl 8 1 +4.000000E-003 1 +4.000000E-003 +4.000000E-003
algorithm Linear
numberer Plain
system BandGeneral
analysis Static


analyze 25


loadConst -time 0.0
wipeAnalysis

}

#------------------------------------------------------------------------------------------------------------------

wipe
exit



Your input will be extremely helpful.

Regards

Sumit
by sumitanand
Sat Mar 10, 2012 4:47 pm
Forum: OpenSees.exe Users
Topic: Rigid floor diaphragm with nonlinear elements
Replies: 1
Views: 2142

Rigid floor diaphragm with nonlinear elements

Hello,

I have looked at the presentation 'Modeling Diaphragms in 2D Models with Linear and Nonlinear Elements' by Vesna Terzic.

But if you take away the rigid diaphragm constraint for nonlinear RC frames, the number of free dofs increases which gives unrealistic mode shapes? How do you overcome this problem?

Regards

Sumit
by sumitanand
Sat Feb 11, 2012 11:27 pm
Forum: OpenSees.exe Users
Topic: BuildingTcl
Replies: 1
Views: 2106

BuildingTcl

Hello,

Is it possible to save the 'OpenSees input files' that are generated by BuildingTcl?

I want to be able to edit and add items and then run the tcl files manually using opensees. I know that opensees navigator creates wonderful set of tcl files in a logical format. Is it possible with BuildingTcl?

Thank you

sumit
by sumitanand
Fri Feb 10, 2012 5:29 pm
Forum: OpenSees.exe Users
Topic: BuildingTcl 1.9 Has been released!!!
Replies: 101
Views: 876266

Re: BuildingTcl 1.9 Has been released!!!

Opensees87 wrote:
> I can't download buildingtcl.....the download page does'nt open. Is there
> any other way to download it?

You have to download TortoiseSVN and checkout the BuildingTcl files using the URL svn://opensees.berkeley.edu/usr/local/svn/BuildingTcl/trunk BuildingTcl

To run you have to install using 'BuildingTclInstall.bat'; put the 'BuildingTcl.tcl' (located in bin) and 'LibBuildingTclLibraryFiles.tcl' (located in libMainLibFile) in the 'programFiles' folder; and run the 'BuildingTcl.tcl' file using OpenSeesTk.
by sumitanand
Fri Feb 10, 2012 5:16 pm
Forum: OpenSees.exe Users
Topic: BuildingTcl 1.9 Has been released!!!
Replies: 101
Views: 876266

Re: BuildingTcl 1.9 Has been released!!!

Hello,

Is it possible to save the 'OpenSees input files', that are generated by BuildingTcl in the background?

I want to be able to edit and add items and then run the tcl files manually using opensees. I know that opensees navigator creates wonderful set of tcl files in a logical format. Is it possible with BuildingTcl?

Thank you

sumit
by sumitanand
Sat Jan 28, 2012 4:51 pm
Forum: OpenSees.exe Users
Topic: BMD
Replies: 1
Views: 2372

BMD

Hi, I have performed a pushover analysis of a simple 2d frame with forcebased beamcolumn elements using 5 integration points and a RC fibre section.

I want to be able to plot the bending moment diagram for the entire frame at selected pseudo time intervals throughout the pushover.

What is the best recorders i can use to achieve this output? I can only think of:

recorder Element -file pushoveranalysiscase_BeamColumn_Elementsectionresponse_SecForc_Sec1.out -time -ele 1 2 3 section 1 2 3 4 5 force

Is there a better way?

Regards