I am trying to model beam column connections using rotational spring but I am getting errors. Can anybody help me with it. Please find below the script:-
wipe
# Create ModelBuilder (with two-dimensions and 3 DOF/node)
model basic -ndm 2 -ndf 3
# SI units are used
# mass = kg, time = seconds, length = metres, Force = newton
# Create nodes
# ------------
# Set height of the column and length of the beam
set LCol 2.00; #Height of Column is 2 m
set LBeam 4.00; #Length of Beam is 4 m
#Create nodes
set ColEle 10; #Number of elements in each column
set BeamEle 20; #Number of elements in each beam
#Creating nodes for left column
for {set i 1} {$i < [expr $ColEle + 2]} {incr i 1} {
node $i 0.0 [expr ($i-1)*$LCol/$ColEle]
#print node $i
}
set CtrlNode1 [expr $ColEle + 1]; #Node at top of left column
for {set i [expr $CtrlNode1+1]} {$i< [expr $CtrlNode1+$BeamEle+2]} {incr i 1} {
node $i [expr $LBeam*($i -$CtrlNode1-1)/$BeamEle] $LCol
#print node $i
}
set CtrlNode2 [expr $ColEle+$BeamEle+3]
set LastNode [expr $CtrlNode2+$ColEle]
for {set i [expr $CtrlNode2]} {$i< [expr $CtrlNode2+$ColEle+1]} {incr i 1} {
node $i $LBeam [expr $LCol*($LastNode-$i)/$ColEle]
#print node $i
}
# tag DX DY RZ
fix 1 1 1 1
fix 43 1 1 1
# Define materials for nonlinear columns
# STEEL
# Column Steel
set fyc 320e6; #Yield stress
set Ec 2e11; #Young's modulus
set bc 0.003; #Ratio of post yield stiffness to pre yield stiffness
# tag fy E0 b R0 cR1 cR2
uniaxialMaterial Steel02 1 $fyc $Ec $bc 18 0.925 0.15
# Beam Steel
set fyb 275e6; #Yield stress
set Eb 2e11; #Young's modulus
set bb 0.003;
# tag fy E0 b R0 cR1 cR2
uniaxialMaterial Steel02 2 $fyb $Eb $bb 18 0.925 0.15
#Rotational Spring
set fys 3.8e4; #Spring yield in N-m
set Es 0.8e7; #Spring stiffness in N-m/rad
set bs 0.03; #Ratio of post yield stiffness to pre yield stiffness
# tag fy E0 b R0 cR1 cR2
uniaxialMaterial Steel02 3 $fys $Es $bs 18 0.925 0.15
#uniaxialMaterial MinMax $matTag $otherTag <-min $minStrain> <-max $maxStrain>
uniaxialMaterial MinMax 4 3 -min -0.16 -max 0.16
#Define cross-section for non-linear beams and columns
#section 1 is column section
#section 2 is beam section
#Column section
set dc 0.15; # d = nominal depth (along local y) = 150 mm = 0.15m
set bfc 0.15; # bf = flange width = 150 mm = 0.15m
set tfc 0.01; # tf = flange thickness = 10 mm = 0.01m
set twc 0.007; # tw = web thickness = 7 mm = 0.007m
set nfdwc 20; # nfdw = number of fibers along web depth
set nftwc 1; # nftw = number of fibers along web thickness
set nfbfc 1; # nfbf = number of fibers along flange width
set nftfc 10; # nftf = number of fibers along flange thickness
source WSection.tcl
# secID matID d bf tf tw nfdw nftw nfbf nftf
WSection 1 1 $dc $bfc $tfc $twc $nfdwc $nftwc $nfbfc $nftfc
#Beam section
set db 0.25; # d = nominal depth (along local y) = 250 mm = 0.25m
set bfb 0.13; # bf = flange width = 130 mm = 0.13m
set tfb 0.009; # tf = flange thickness = 9 mm = 0.009m
set twb 0.009; # tw = web thickness = 9 mm = 0.009m
set nfdwb 20; # nfdw = number of fibers along web depth
set nftwb 1; # nftw = number of fibers along web thicknesss
set nfbfb 1; # nfbf = number of fibers along flange width
set nftfb 10; # nftf = number of fibers along flange thickness
# secID matID d bf tf tw nfdw nftw nfbf nftf
WSection 2 2 $db $bfb $tfb $twb $nfdwb $nftwb $nfbfb $nftfb
# Define beam column elements
# ----------------------
geomTransf PDelta 1
# Number of integration points along length of element, by default the Gauss-Lobatto integration is used
set np 5
set eleType forceBeamColumn
for {set j 1} {$j < [expr $ColEle+1]} {incr j 1} {
# e tag ndI ndJ nsecs secID transfTag
#element $eleType $j $j [expr $j+1] $np 1 1
print ele $j
}
for {set j [expr $ColEle+1]} {$j < [expr $ColEle+$BeamEle+1]} {incr j 1} {
# e tag ndI ndJ nsecs secID transfTag
element $eleType $j [expr $j+1] [expr $j+2] $np 2 1
print ele $j
}
for {set j [expr $ColEle+$BeamEle+1]} {$j < [expr $ColEle+$BeamEle+$ColEle+1]} {incr j 1} {
# e tag ndI ndJ nsecs secID transfTag
element $eleType $j [expr $j+2] [expr $j+3] $np 1 1
print ele $j
}
source rotSpring2D.tcl
rotSpring2D [expr $ColEle+$BeamEle+$ColEle+1] [expr $CtrlNode1] [expr $CtrlNode1+1] 4
rotSpring2D [expr $ColEle+$BeamEle+$ColEle+2] [expr $CtrlNode2] [expr $CtrlNode2-1] 4
#equalDOF 11 12 1 2 3
#equalDOF 32 33 1 2 3
# Define gravity loads
# --------------------
# Set a parameter for the axial load
set P 0; # 25% of axial capacity of columns
# Create a Plain load pattern with a Linear TimeSeries
pattern Plain 1 "Linear" {
load 11 0.0 [expr -$P] 0.0
load 33 0.0 [expr -$P] 0.0
}
# ------------------------------
# End of model generation
# ------------------------------
# ------------------------------
# Start of analysis generation
# ------------------------------
# Create the system of equation, a sparse solver with partial pivoting
system BandGeneral
# Create the constraint handler, the transformation method
constraints Transformation
# Create the DOF numberer, the reverse Cuthill-McKee algorithm
numberer RCM
# Create the convergence test, the norm of the residual with a tolerance of
# 1e-12 and a max number of iterations of 10
test NormDispIncr 1.0e-15 10 3
# Create the solution algorithm, a Newton-Raphson algorithm
algorithm Newton
# Create the integration scheme, the LoadControl scheme using steps of 0.1
integrator LoadControl 0.1
# Create the analysis object
analysis Static
analyze 10
2D Frame with rotational spring
Moderators: silvia, selimgunay, Moderators
-
- Posts: 2
- Joined: Wed Aug 26, 2015 6:30 am
- Location: University of Illinois - Urbana Champaign
Re: 2D Frame with rotational spring
and what errors are you getting???????
and post the rot2D script.
and post the rot2D script.