########################################################################### # restrained beam half of which is subjected to uniform heating # two elements with rectangular section # left element at elevated temperature, right element ambient temperature # aimed to use the dispBeamColumn2dThermal to conduct thermal analysis # Written: Jian Jiang # December 2010, University of Edinburgh #------------------------------------------------------------------------------ # Geometric model # ________ # left ele1 3 right ele2 | | 2 fibers in section # 1 |------------o-----------|2 |________| 0.1 # |<----------2m---------->| | | # |________| # 0.1 #------------------------------------------------------------------------------ wipe; file mkdir Data1; # create data directory model BasicBuilder -ndm 2 -ndf 3;# 2 dimension and 3 dofs per node ##source DisplayPlane.tcl; # procedure for displaying a plane in model ##source DisplayModel2D.tcl; # procedure for displaying 2D perspective of model #define node node 1 0 0; node 2 2000 0; node 3 1000 0; #define boundary condition; fix 1 1 1 1; fix 2 1 1 1; fix 3 0 1 1; #define an elastic material with Tag=1 and E=2e11. uniaxialMaterial Steel02Thermal 1 1860 195000 0.02 15 0.925 0.15 0 1 0 1 637 #uniaxialMaterial Steel01Thermal 1 2e11 2e11 0.01; #define fibred section; Two fibres: fiber $yLoc $zLoc $A $matTag set secTag 1; section FiberThermal $secTag { fiber -25 0 5000 1; fiber 25 0 5000 1; }; #define coordinate transforamtion: geomTransf $type $TransfTag; #three transformation types can be chosen: Linear, PDelta, Corotational) geomTransf Linear 1 ; #define beam element: dispBeamColumnThermal $eleTag $iNode $jNode $numIntgrPts $secTag $TransfTag; #"numIntgrPts" is the number of integration points along the element; #"TransfTag" is pre-defined coordinate-transformation; element dispBeamColumnThermal 1 1 3 3 1 1; element dispBeamColumnThermal 2 3 2 3 1 1; #define output recorder Node -file Data/DFree31.out -time -node 3 -dof 1 disp; # displacements of free nodes #define thermal load (i.e. temperature distribution in section) #-beamThermal $T1 $LocY1 $T2 LocY2....; two temperature means uniform or linear temperature distribution #T1=bottom temperature;T2=top temperature pattern Plain 1 Linear { #eleLoad -ele 1 -type -beamThermal 1000 -50 1000 50 #eleLoad -ele 2 -type -beamThermal 20 -50 20 50 eleLoad -ele 1 -type -beamThermal -source fire1.txt -50 50 eleLoad -ele 2 -type -beamThermal -source fire2.txt -50 50 }; constraints Plain; numberer Plain; system BandGeneral; test NormDispIncr 1 100 ; algorithm Newton; integrator LoadControl 0.1; analysis Static; analyze 10; loadConst -time 0.0