当前位置:文档之家› 钢筋混凝土非线性分析第一次大作业

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

Harbin Institute of Technology钢筋混凝土结构非线性分析课程作业院系:姓名:学号:时间:©哈尔滨工业大学基于Opensees 钢混柱结构滞回曲线比较分析一、试验资料本实验结构如下图所示,柱净高850mm ,截面尺寸为250*250mm mm ,采用40C 混凝土材料,受力纵筋采用335HRB ,箍筋采用235HPB 。

柱子采用6根直径为12mm 的335HRB 级钢筋,柱身箍筋采用直径6mm 的235HPB 级钢筋,箍筋间距为50mm 。

混凝土保护层厚度为25mm 。

竖向施加760KN 荷载,轴压比为0.268。

混凝土强度:钢筋力学性能:试验测得的滞回曲线:二、Opensees建模过程1、主程序wipe;source Units.tcl;source GeometricParameters.tcl;source Material.tcl;source FiberSection.tcl;source Elements.tcl;source RecorderRC.tcl;source PointGravityLoad.tcl;source Ex4.Portal2D.analyze.Static.Cycle.tcl;2、定义量纲set NT 1.0;set mm 1.0;set sec 1.0;set kN [expr 1000.0*$NT];set MPa [expr 1.0*$NT/pow($mm,2)];set m [expr 1000.0*$mm];set mm2 [expr $mm*$mm];set mm4 [expr $mm*$mm*$mm*$mm];set cm [expr 10.0*$mm];set PI [expr 2*asin(1.0)];set Ubig 1.e10;set Usmall [expr 1/$Ubig];puts "|| Units defined completely ||"3、定义节点model BasicBuilder -ndm 2 -ndf 3;node 1 0 0; # node#, X, Ynode 2 0 $Lb;fix 1 1 1 1;fix 2 0 0 0; # node DX DY RZ puts "|| Geometric Parameters and Nodal coordinates defined completely ||"4、定义几何参数set B [expr 250.*$mm];set H [expr 250.*$mm];set Ab [expr $B*$H];set Izb [expr 1./12.*$B*pow($H,3)];set Lb [expr 875.*$mm];set Cover [expr 25.*$mm];set Bcore [expr ($B-2*$Cover)];set Hcore [expr ($H-2*$Cover)];set Acor [expr $Bcore*$Hcore];set NmBar_12 4;set Dlbar_12 [expr 12*$mm];set Albar_12 [expr $PI*pow($Dlbar_12,2)/4.0];set CAlbar_12 [expr $NmBar_12*$Albar_12];set CAlbar [expr $CAlbar_12];set Fy_12 [expr 380.2*$MPa];set Es_12 [expr 200000.*$MPa];set Dhbar [expr 6.*$mm];set Ash [expr $PI*pow($Dhbar,2)/4.0];set Fyh [expr 588.3*$MPa];set Esh [expr 210000*$MPa];set xyt [expr $Fyh/$Esh];set LDhb [expr 2*($Bcore-$Dhbar)+2*($Hcore-$Dhbar)];set SV [expr 50*$mm];set SVc [expr $SV-$Dhbar];puts "|| Section geometry completely defined ||"5、定义材料本构关系set IDsteel_12 1;set IDcoverC 3;set IDcoreC 4;set fc [expr 45.4*$MPa];set x0 0.002;set ft [expr $fc/10.];set Et [expr $ft/0.002];set fc0 -$fc;set xc0 -$x0;set fcu0 [expr 0.2*$fc0];set xcu0 -0.006;set lambda 0.10;uniaxialMaterial Concrete01 $IDcoverC $fc0 $xc0 $fcu0 $xcu0;set ps [expr $CAlbar/$Ab];set pcc [expr $CAlbar/$Acor];set pst [expr $Ash*$LDhb*1.5/($Acor*$SV)];set lmda [expr $pst*$Fyh/$fc];set fcc [expr $fc0*(1+0.5*$lmda)];set xcc [expr $xc0*(1+2.5*$lmda)];set fcu [expr 0.35*$fcc];set xcu [expr 20*$xcc];uniaxialMaterial Concrete01 $IDcoreC $fcc $xcc $fcu $xcu;set R0 18.5;set cR1 0.925;set cR2 0.15;set haRatio 0.0037;uniaxialMaterial Steel02 $IDsteel_12 $Fy_12 $Es_12 $haRatio $R0 $cR1 $cR2;puts "|| Material parameters defined completely ||"6、定义纤维截面set RCSecTag 1;set b1 20;set b2 1;set h1 20;set h2 1;set hs1 [expr $Hcore/2-$Dhbar-$Dlbar_12/2];set bs1 [expr $Bcore/2-$Dhbar-$Dlbar_12/2];set coverY [expr $H/2];set coverZ [expr $B/2];set coreY [expr $Hcore/2];set coreZ [expr $Bcore/2];section Fiber $RCSecTag {;patch quad $IDcoreC $b1 $h1 -$coreY $coreZ -$coreY -$coreZ $coreY -$coreZ $coreY $coreZ;patch quad $IDcoverC $b1 $h2 -$coverY $coverZ -$coverY -$coverZ -$coreY -$coverZ -$coreY $coverZ;patch quad $IDcoverC $b1 $h2 $coreY $coverZ $coreY -$coverZ$coverY -$coverZ $coverY $coverZ;patch quad $IDcoverC $b2 $h1 -$coreY $coverZ -$coreY $coreZ $coreY $coreZ $coreY $coverZ;patch quad $IDcoverC $b2 $h1 -$coreY -$coreZ -$coreY -$coverZ$coreY -$coverZ $coreY -$coreZ;layer straight $IDsteel_12 3 $Albar_12 $hs1 $bs1 $hs1 -$bs1;layer straight $IDsteel_12 3 $Albar_12 -$hs1 $bs1 -$hs1 -$bs1;};puts "|| Fiber sections defined completely ||"7、定义单元set IDColTransf 1;set IDBeamTransf 2;geomTransf PDelta $IDColTransf;geomTransf Linear $IDBeamTransf;set nP 4;element nonlinearBeamColumn 1 1 2 $nP $RCSecTag $IDColTransf;puts "|| Elements defined compoletely ||"8、定义输出set dataDir1 EleNode;file mkdir $dataDir1;for {set NodeI 1} {$NodeI<=2} {incr NodeI 1} {;recorder Node -file $dataDir1/Node$NodeI.txt -time -node $NodeI -dof 12 3 disp;};recorder Node -file $dataDir1/RBase1.txt -time -node 1 -dof 1 2 3reaction;puts "|| Recorder defined completely ||"9、定义荷载set IDctrlNode 2;set FN [expr -760*$kN];pattern Plain 1 Linear {load $IDctrlNode 0 $FN 0};set Tol 1.0e-15; # convergence tolerance for testconstraints Plain; # how it handles boundary conditions numberer Plain;test system BandGeneral; # how to store andsolve the test NormDispIncr $Tol 6 0;algorithm Newton;set NstepGravity 10; # apply gravity in 10 stepsset DGravity [expr 1./$NstepGravity]; # first load increment;integrator LoadControl $DGravity;analysis Static;initialize;analyze $NstepGravity;# -------------- maintain constant gravity loads and reset time tozero------------------------------------------loadConst -time 0.0puts "|| Model built completed ||"10、位移控制分析variable constraintsTypeStatic Plain; # default;if { [info exists RigidDiaphragm] == 1} {if {$RigidDiaphragm=="ON"} {variable constraintsTypeStatic Lagrange;# for large model, try Transformation};# if rigid diaphragm is on};# if rigid diaphragm existsconstraints $constraintsTypeStaticset numbererTypeStatic RCMnumberer $numbererTypeStaticset systemTypeStatic BandGeneral; # try UmfPack for large model system $systemTypeStaticvariable TolStatic 1.e-8; # Convergence Test: tolerancevariable maxNumIterStatic 6; # Convergence Test: maximum number of iterations that will be performed before "failure to converge" is returnedvariable printFlagStatic 0; # Convergence Test: flag used to print information on convergence (optional) # 1: print information on each step;variable testTypeStatic EnergyIncr ;# Convergence-test typetest $testTypeStatic $TolStatic $maxNumIterStatic $printFlagStatic;# for improved-convergence procedure:variable maxNumIterConvergeStatic 2000;variable printFlagConvergeStatic 0;variable algorithmTypeStatic Newtonalgorithm $algorithmTypeStatic;integrator DisplacementControl$IDctrlNode $IDctrlDOF $Dincr set analysisTypeStatic Staticanalysis $analysisTypeStaticset IDctrlNode 2; # node where displacement is read for displacement controlset IDctrlDOF 1; # degree of freedom of displacement read for displacement contro# characteristics of cyclic analysisset iDmax " 2 3 10 15 20 22 30 35"; # vector of displacement-cycle peaks, in terms of storey drift ratioset Dincr [expr 0.05]; # displacement increment for pushover. you want this to be very small, but not too small to slow down the analysisset Fact 1; # scale drift ratio by storey height for displacement cyclesset CycleType Full; # you can do Full / Push / Half cycles with the procset Ncycles 2; # specify the number of cycles at each peak # create load pattern for lateral pushover loadset Hload [expr $FN]; # define the lateral load as a proportion of the weight so that the pseudo time equals the lateral-load coefficient when using linear load patternset iPushNode 2; # define nodes where lateral load is applied in static lateral analysispattern Plain 200 Linear {; # define load pattern -- generalized foreach PushNode $iPushNode {load $PushNode $Hload 0.0 0.0}}# ----------- set up analysis parameterssource LibAnalysisStaticParameters.tcl;#constraintsHandler,DOFnumberer,system-ofequations,convergenceTest, solutionAlgorithm,integrator# --------------------------------- perform Static Cyclic Displacements Analysissource LibGeneratePeaks.tclset fmt1 "%s Cyclic analysis: CtrlNode %.3i, dof %.1i, Disp=%.4f %s";# format for screen/file output of DONE/PROBLEM analysis foreach Dmax $iDmax {set iDstep [GeneratePeaks $Dmax $Dincr $CycleType $Fact];# this proc is defined abovefor {set i 1} {$i <= $Ncycles} {incr i 1} {set zeroD 0set D0 0.0foreach Dstep $iDstep {set D1 $Dstepset Dincr [expr $D1 - $D0]integrator DisplacementControl$IDctrlNode $IDctrlDOF $Dincranalysis Static# ----------------------------------------------first analyze command------------------------set ok [analyze 1]# ----------------------------------------------if convergence failure-------------------------if {$ok != 0} {# if analysis fails, we try some other stuff# performance is slower inside this loop global maxNumIterStatic; # max no. of iterations performed before "failure to converge" is ret'dif {$ok != 0} {puts "Trying Newton with Initial Tangent .."test NormDispIncr$Tol 2000 0algorithm Newton -initialset ok [analyze 1]test $testTypeStatic $TolStatic $maxNumIterStatic 0algorithm $algorithmTypeStatic}if {$ok != 0} {puts "Trying Broyden .."algorithm Broyden 8set ok [analyze 1 ]algorithm $algorithmTypeStatic}if {$ok != 0} {puts "Trying NewtonWithLineSearch .."algorithm NewtonLineSearch 0.8set ok [analyze 1]algorithm $algorithmTypeStatic}if {$ok != 0} {set putout [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]puts $putoutreturn -1}; # end if}; # end if#-----------------------------------------------------------------------------------------------------set D0 $D1; # move to next step}; # end Dstep}; # end i};# end of iDmaxCycl#----------------------------------------------------------------------------------------------------set LunitTXT "mm";if {$ok != 0 } {puts [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]} else {puts [format $fmt1 "DONE" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]}11、绘制滞回曲线三、比较分析试验测得的数据和Opensees计算所得数据偏差比较大,可能是因为实验数据不准确引起的,或者试验中给定的参数与实际实验参数的误差引起的,因此试验时的参数测量一定要准确,这样才能精确的反映材料的变形关系,不然会对计算结果有很大的影响。

相关主题