钢筋混凝土非线性分析第一次大作业.docx

上传人:b****6 文档编号:6463842 上传时间:2023-01-06 格式:DOCX 页数:12 大小:127.06KB
下载 相关 举报
钢筋混凝土非线性分析第一次大作业.docx_第1页
第1页 / 共12页
钢筋混凝土非线性分析第一次大作业.docx_第2页
第2页 / 共12页
钢筋混凝土非线性分析第一次大作业.docx_第3页
第3页 / 共12页
钢筋混凝土非线性分析第一次大作业.docx_第4页
第4页 / 共12页
钢筋混凝土非线性分析第一次大作业.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

钢筋混凝土非线性分析第一次大作业.docx

《钢筋混凝土非线性分析第一次大作业.docx》由会员分享,可在线阅读,更多相关《钢筋混凝土非线性分析第一次大作业.docx(12页珍藏版)》请在冰豆网上搜索。

钢筋混凝土非线性分析第一次大作业.docx

钢筋混凝土非线性分析第一次大作业

HarbinInstituteofTechnology

钢筋混凝土结构非线性分析课程作业

 

院系:

姓名:

学号:

时间:

©哈尔滨工业大学

基于Opensees钢混柱结构滞回曲线比较分析

一、试验资料

本实验结构如下图所示,柱净高

,截面尺寸为

,采用

混凝土材料,受力纵筋采用

,箍筋采用

柱子采用

根直径为

级钢筋,柱身箍筋采用直径

级钢筋,箍筋间距为

混凝土保护层厚度为

竖向施加

荷载,轴压比为

混凝土强度:

钢筋力学性能:

试验测得的滞回曲线:

二、Opensees建模过程

1、主程序

wipe;

sourceUnits.tcl;

sourceGeometricParameters.tcl;

sourceMaterial.tcl;

sourceFiberSection.tcl;

sourceElements.tcl;

sourceRecorderRC.tcl;

sourcePointGravityLoad.tcl;

sourceEx4.Portal2D.analyze.Static.Cycle.tcl;

2、定义量纲

setNT1.0;

setmm1.0;

setsec1.0;

setkN[expr1000.0*$NT];

setMPa[expr1.0*$NT/pow($mm,2)];

setm[expr1000.0*$mm];

setmm2[expr$mm*$mm];

setmm4[expr$mm*$mm*$mm*$mm];

setcm[expr10.0*$mm];

setPI[expr2*asin(1.0)];

setUbig1.e10;

setUsmall[expr1/$Ubig];

puts"||Unitsdefinedcompletely||"

3、定义节点

modelBasicBuilder-ndm2-ndf3;

node100;#node#,X,Y

node20$Lb;

fix1111;

fix2000;#nodeDXDYRZ

puts"||GeometricParametersandNodalcoordinatesdefinedcompletely||"

4、定义几何参数

setB[expr250.*$mm];

setH[expr250.*$mm];

setAb[expr$B*$H];

setIzb[expr1./12.*$B*pow($H,3)];

setLb[expr875.*$mm];

setCover[expr25.*$mm];

setBcore[expr($B-2*$Cover)];

setHcore[expr($H-2*$Cover)];

setAcor[expr$Bcore*$Hcore];

setNmBar_124;

setDlbar_12[expr12*$mm];

setAlbar_12[expr$PI*pow($Dlbar_12,2)/4.0];

setCAlbar_12[expr$NmBar_12*$Albar_12];

setCAlbar[expr$CAlbar_12];

setFy_12[expr380.2*$MPa];

setEs_12[expr200000.*$MPa];

setDhbar[expr6.*$mm];

setAsh[expr$PI*pow($Dhbar,2)/4.0];

setFyh[expr588.3*$MPa];

setEsh[expr210000*$MPa];

setxyt[expr$Fyh/$Esh];

setLDhb[expr2*($Bcore-$Dhbar)+2*($Hcore-$Dhbar)];

setSV[expr50*$mm];

setSVc[expr$SV-$Dhbar];

puts"||Sectiongeometrycompletelydefined||"

5、定义材料本构关系

setIDsteel_121;

setIDcoverC3;

setIDcoreC4;

setfc[expr45.4*$MPa];

setx00.002;

setft[expr$fc/10.];

setEt[expr$ft/0.002];

setfc0-$fc;

setxc0-$x0;

setfcu0[expr0.2*$fc0];

setxcu0-0.006;

setlambda0.10;

uniaxialMaterialConcrete01$IDcoverC$fc0$xc0$fcu0$xcu0;

setps[expr$CAlbar/$Ab];

setpcc[expr$CAlbar/$Acor];

setpst[expr$Ash*$LDhb*1.5/($Acor*$SV)];

setlmda[expr$pst*$Fyh/$fc];

setfcc[expr$fc0*(1+0.5*$lmda)];

setxcc[expr$xc0*(1+2.5*$lmda)];

setfcu[expr0.35*$fcc];

setxcu[expr20*$xcc];

uniaxialMaterialConcrete01$IDcoreC$fcc$xcc$fcu$xcu;

setR018.5;

setcR10.925;

setcR20.15;

sethaRatio0.0037;

uniaxialMaterialSteel02$IDsteel_12$Fy_12$Es_12$haRatio$R0$cR1$cR2;

puts"||Materialparametersdefinedcompletely||"

6、定义纤维截面

setRCSecTag1;

setb120;

setb21;

seth120;

seth21;

seths1[expr$Hcore/2-$Dhbar-$Dlbar_12/2];

setbs1[expr$Bcore/2-$Dhbar-$Dlbar_12/2];

setcoverY[expr$H/2];

setcoverZ[expr$B/2];

setcoreY[expr$Hcore/2];

setcoreZ[expr$Bcore/2];

sectionFiber$RCSecTag{;

patchquad$IDcoreC$b1$h1-$coreY$coreZ-$coreY-$coreZ$coreY-$coreZ$coreY$coreZ;

patchquad$IDcoverC$b1$h2-$coverY$coverZ-$coverY-$coverZ-$coreY-$coverZ-$coreY$coverZ;

patchquad$IDcoverC$b1$h2$coreY$coverZ$coreY-$coverZ$coverY-$coverZ$coverY$coverZ;

patchquad$IDcoverC$b2$h1-$coreY$coverZ-$coreY$coreZ$coreY$coreZ$coreY$coverZ;

patchquad$IDcoverC$b2$h1-$coreY-$coreZ-$coreY-$coverZ$coreY-$coverZ$coreY-$coreZ;

layerstraight$IDsteel_123$Albar_12$hs1$bs1$hs1-$bs1;

layerstraight$IDsteel_123$Albar_12-$hs1$bs1-$hs1-$bs1;

};

puts"||Fibersectionsdefinedcompletely||"

7、定义单元

setIDColTransf1;

setIDBeamTransf2;

geomTransfPDelta$IDColTransf;

geomTransfLinear$IDBeamTransf;

setnP4;

elementnonlinearBeamColumn112$nP$RCSecTag$IDColTransf;

puts"||Elementsdefinedcompoletely||"

8、定义输出

setdataDir1EleNode;

filemkdir$dataDir1;

for{setNodeI1}{$NodeI<=2}{incrNodeI1}{;

recorderNode-file$dataDir1/Node$NodeI.txt-time-node$NodeI-dof123disp;

};

recorderNode-file$dataDir1/RBase1.txt-time-node1-dof123reaction;

puts"||Recorderdefinedcompletely||"

9、定义荷载

setIDctrlNode2;

setFN[expr-760*$kN];

patternPlain1Linear{

load$IDctrlNode0$FN0

};

setTol1.0e-15;#convergencetolerancefortest

constraintsPlain;#howithandlesboundaryconditionsnumbererPlain;

testsystemBandGeneral;#howtostoreandsolvethetestNormDispIncr$Tol60;

algorithmNewton;

setNstepGravity10;#applygravityin10steps

setDGravity[expr1./$NstepGravity];#firstloadincrement;

integratorLoadControl$DGravity;

analysisStatic;

initialize;

analyze$NstepGravity;

#--------------maintainconstantgravityloadsandresettimetozero------------------------------------------

loadConst-time0.0

puts"||Modelbuiltcompleted||"

10、位移控制分析

variableconstraintsTypeStaticPlain;#default;

if{[infoexistsRigidDiaphragm]==1}{

if{$RigidDiaphragm=="ON"}{

variableconstraintsTypeStaticLagrange;#forlargemodel,tryTransformation

};#ifrigiddiaphragmison

};#ifrigiddiaphragmexists

constraints$constraintsTypeStatic

setnumbererTypeStaticRCM

numberer$numbererTypeStatic

setsystemTypeStaticBandGeneral;#tryUmfPackforlargemodel

system$systemTypeStatic

variableTolStatic1.e-8;#ConvergenceTest:

tolerance

variablemaxNumIterStatic6;#ConvergenceTest:

maximumnumberofiterationsthatwillbeperformedbefore"failuretoconverge"isreturned

variableprintFlagStatic0;#ConvergenceTest:

flagusedtoprintinformationonconvergence(optional)#1:

printinformationoneachstep;

variabletestTypeStaticEnergyIncr;#Convergence-testtype

test$testTypeStatic$TolStatic$maxNumIterStatic$printFlagStatic;

#forimproved-convergenceprocedure:

variablemaxNumIterConvergeStatic2000;

variableprintFlagConvergeStatic0;

 

variablealgorithmTypeStaticNewton

algorithm$algorithmTypeStatic;

integratorDisplacementControl$IDctrlNode$IDctrlDOF$Dincr

setanalysisTypeStaticStatic

analysis$analysisTypeStatic

setIDctrlNode2;#nodewheredisplacementisreadfordisplacementcontrol

setIDctrlDOF1;#degreeoffreedomofdisplacementreadfordisplacementcontro

#characteristicsofcyclicanalysis

setiDmax"23101520223035";#vectorofdisplacement-cyclepeaks,intermsofstoreydriftratio

setDincr[expr0.05];#displacementincrementforpushover.youwantthistobeverysmall,butnottoosmalltoslowdowntheanalysis

setFact1;#scaledriftratiobystoreyheightfordisplacementcycles

setCycleTypeFull;#youcandoFull/Push/Halfcycleswiththeproc

setNcycles2;#specifythenumberofcyclesateachpeak

#createloadpatternforlateralpushoverload

setHload[expr$FN];#definethelateralloadasaproportionoftheweightsothatthepseudotimeequalsthelateral-loadcoefficientwhenusinglinearloadpattern

setiPushNode2;#definenodeswherelateralloadisappliedinstaticlateralanalysis

patternPlain200Linear{;#defineloadpattern--generalized

foreachPushNode$iPushNode{

load$PushNode$Hload0.00.0}

}

#-----------setupanalysisparameters

sourceLibAnalysisStaticParameters.tcl;#constraintsHandler,DOFnumberer,system-ofequations,convergenceTest,solutionAlgorithm,integrator

#---------------------------------performStaticCyclicDisplacementsAnalysis

sourceLibGeneratePeaks.tcl

setfmt1"%sCyclicanalysis:

CtrlNode%.3i,dof%.1i,Disp=%.4f%s";#formatforscreen/fileoutputofDONE/PROBLEManalysis

foreachDmax$iDmax{

setiDstep[GeneratePeaks$Dmax$Dincr$CycleType$Fact];#thisprocisdefinedabove

for{seti1}{$i<=$Ncycles}{incri1}{

setzeroD0

setD00.0

foreachDstep$iDstep{

setD1$Dstep

setDincr[expr$D1-$D0]

integratorDisplacementControl$IDctrlNode$IDctrlDOF$Dincr

analysisStatic

#----------------------------------------------firstanalyzecommand------------------------

setok[analyze1]

#----------------------------------------------ifconvergencefailure-------------------------

if{$ok!

=0}{

#ifanalysisfails,wetrysomeotherstuff

#performanceisslowerinsidethisloopglobalmaxNumIterStatic;#maxno.ofiterationsperformedbefore"failuretoconverge"isret'd

if{$ok!

=0}{

puts"TryingNewtonwithInitialTangent.."

testNormDispIncr$Tol20000

algorithmNewton-initial

setok[analyze1]

test$testTypeStatic$TolStatic$maxNumIterStatic0

algorithm$algorithmTypeStatic

}

if{$ok!

=0}{

puts"TryingBroyden.."

algorithmBroyden8

setok[analyze1]

algorithm$algorithmTypeStatic

}

if{$ok!

=0}{

puts"TryingNewtonWithLineSearch.."

algorithmNewtonLineSearch0.8

setok[analyze1]

algorithm$algorithmTypeStatic

}

if{$ok!

=0}{

setputout[format$fmt1"PROBLEM"$IDctrlNode$IDctrlDOF[nodeDisp$IDctrlNode$IDctrlDOF]$LunitTXT]

puts$putout

return-1

};#endif

};#endif

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

setD0$D1;#movetonextstep

};#endDstep

};#endi

};#endofiDmaxCycl

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

setLunitTXT"mm";

if{$ok!

=0}{

puts[format$fmt1"PROBLEM"$IDctrlNode$IDctrlDOF[nodeDisp$IDctrlNode$IDctrlDOF]$LunitTXT]

}else{

puts[format$fmt1"DONE"$IDctrlNode$IDct

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1