Search found 2 matches

by PratikSDeogekar
Mon Sep 12, 2016 8:29 am
Forum: Useful Scripts.
Topic: Moment Curvature - obtain stress strain
Replies: 0
Views: 8112

Moment Curvature - obtain stress strain

In the example Moment Curvature script given in the basic examples manual, it is possible to obtain Moment Curvature for a fiber section. However, on setting the recorders for the fiber section, no stress strain value is obtained at any location on the section! Is there anyway to obtain this using zero section length element?
by PratikSDeogekar
Sat Apr 02, 2016 4:58 pm
Forum: OpenSees.exe Users
Topic: 2D Frame with rotational spring
Replies: 1
Views: 1528

2D Frame with rotational spring

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