You are on page 1of 5

# connectivity: (make A very large, 10e6 times its actual value)

element elasticBeamColumn 1 1 3 3600000000 4227 1080000 1; # element


elasticBeamColumn $eleTag $iNode $jNode $A $E $Iz $transfTag
element elasticBeamColumn 2 2 4 3600000000 4227 1080000 1
element elasticBeamColumn 3 3 4 5760000000 4227 4423680 1

# Define RECORDERS -------------------------------------------------------------


recorder Node -file Data/DFree.out -time -node 3 4 -dof 1 2 3 disp; #
displacements of free nodes
recorder Node -file Data/DBase.out -time -node 1 2 -dof 1 2 3 disp; #
displacements of support nodes
recorder Node -file Data/RBase.out -time -node 1 2 -dof 1 2 3 reaction; # support
reaction
recorder Drift -file Data/Drift.out -time -iNode 1 2 -jNode 3 4 -dof 1 -perpDirn 2 ; #
lateral drift
recorder Element -file Data/FCol.out -time -ele 1 2 globalForce; # element
forces -- column
recorder Element -file Data/FBeam.out -time -ele 3 globalForce; # element
forces -- beam

# define GRAVITY -------------------------------------------------------------


pattern Plain 1 Linear {
eleLoad -ele 3 -type -beamUniform -7.94 ; # distributed superstructure-weight on beam
}

constraints Plain; # how it handles boundary conditions


numberer Plain; # renumber dof's to minimize band-
width (optimization), if you want to
system BandGeneral; # how to store and solve the system of
equations in the analysis
test NormDispIncr 1.0e-8 6 ; # determine if convergence has been
achieved at the end of an iteration step
algorithm Newton; # use Newton's solution algorithm:
updates tangent stiffness at every iteration
integrator LoadControl 0.1; # determine the next time step for an
analysis, # apply gravity in 10 steps
analysis Static # define type of analysis static or transient
analyze 1; # perform gravity analysis
loadConst -time 0.0; # hold gravity constant and restart time

# define LATERAL load -------------------------------------------------------------


# Lateral load pattern
pattern Plain 2 Linear {
load 3 2000. 0.0 0.0; # node#, FX FY MZ -- representative lateral
load at top nodes
load 4 2000. 0.0 0.0; # place 1/2 of the weight for each node to get
shear coefficient
}

# pushover: diplacement controlled static analysis


integrator DisplacementControl 3 1 0.1; # switch to displacement control, for
node 11, dof 1, 0.1 increment
analyze 100 0.1; # apply 100 steps of pushover analysis
to a displacement of 10

puts "Done!"

wipe
model Basic -ndm 2 -ndf 3
set dataDir data
file mkdir $dataDir
puts "modelo definido"
set Lcol1 425
set Lcol2 850
set Lcol3 350
set Lcol4 500
set Lmuro1 425
set Lmuro2 500
set Lmuro3 350
set Lviga1 500
set Lviga2 900
set Bcol 20
set Bmuro 20
set Hcol 60
set Hmuro 100
set Acol [ expr $Hcol * $Bcol]
set Amuro [ expr $Hmuro * $Bmuro]
set Aviga 2885
set E 220
set Icol [ expr $Bcol/12*pow($Hcol,3)]
set Imuro [expr $Bmuro/12 * pow($Hcol,3)]
set Iviga 2157218.7
set q 0.0203
set kh 0.64
set kv 243
set g 9.81
puts "parametros definidos"
node 1 0 0
node 2 500 0
node 3 1400 0
node 4 0 425
node 5 500 425
node 6 1400 425
node 7 500 925
node 8 1400 925
node 9 0 1275
node 10 500 1275
node 11 1400 1275
node 12 0 1625
node 13 500 1625
node 14 1400 1625
node 111 0 0
node 222 500 0
node 333 1400 0
fix 1 1 1 1
fix 2 1 1 1
fix 3 1 1 1
fix 111 1 1 1
fix 222 1 1 1
fix 333 1 1 1
puts "nodos creados y restringidos"
geomTransf Linear 1
uniaxialMaterial Elastic 1 $E $kh
uniaxialMaterial Elastic 2 $E $kv
#------------------------tag iNode jNode A E Iz transftag
element elasticBeamColumn 1 4 5 $Aviga $E $Iviga 1
element elasticBeamColumn 2 5 6 $Aviga $E $Iviga 1
element elasticBeamColumn 3 7 8 $Aviga $E $Iviga 1
element elasticBeamColumn 4 9 10 $Aviga $E $Iviga 1
element elasticBeamColumn 5 10 11 $Aviga $E $Iviga 1
element elasticBeamColumn 6 12 13 $Aviga $E $Iviga 1
element elasticBeamColumn 7 13 14 $Aviga $E $Iviga 1
element elasticBeamColumn 8 1 4 $Acol $E $Icol 1
element elasticBeamColumn 9 4 9 $Acol $E $Icol 1
element elasticBeamColumn 10 9 12 $Acol $E $Icol 1
element elasticBeamColumn 11 2 5 $Amuro $E $Imuro 1
element elasticBeamColumn 12 5 7 $Amuro $E $Imuro 1
element elasticBeamColumn 13 7 10 $Amuro $E $Imuro 1
element elasticBeamColumn 14 10 13 $Amuro $E $Imuro 1
element elasticBeamColumn 15 3 6 $Acol $E $Icol 1
element elasticBeamColumn 16 6 8 $Acol $E $Icol 1
element elasticBeamColumn 17 8 11 $Acol $E $Icol 1
element elasticBeamColumn 18 11 14 $Acol $E $Icol 1
element elasticBeamColumn 19 1 2 $Aviga $E $Iviga 1
element elasticBeamColumn 20 2 3 $Aviga $E $Iviga 1
element zeroLength 1111 111 1 1 2 1 2
element zeroLength 2222 222 2 1 2 1 2
element zeroLength 3333 333 3 1 2 1 2
puts "elementos creados"
recorder Node -file $dataDir/Dlilbre.out -time -node 4 5 6 7 8 9 10 11 12 13 14 -dof 1 2 3
disp
recorder Node -file $dataDir/Rbase.out -time -node 1 2 3 -dof 1 2 3 reaction
recorder Drift -file $dataDir/Deriv.out -time -iNode 1 4 9 2 5 7 10 3 6 8 11 -jNode 4 9 12 5
7 10 13 6 8 11 14 -dof 1 -perpDirn 2
recorder Element -file $dataDir/Fcol.out -time -ele 8 9 10 11 12 13 14 15 16 17 18
globalForce
recorder Element -file $dataDir/Fviga.out -time -ele 1 2 3 4 5 6 7 globalForce
puts "recorders definidos"
pattern Plain 1 Linear {
eleLoad -ele 1 2 3 4 5 6 7 -type -beamUniform -$q
}
constraints Plain
numberer Plain
system BandGeneral
test NormDispIncr 1e-8 6
algorithm Newton
integrator LoadControl 0.1
analysis Static
analyze 1
loadConst -time 0

pattern Plain 2 Constant {


load 12 30 0 0
load 9 20 0 0
load 4 10 0 0
}
wipeAnalysis
integrator LoadControl 1
constraints Plain
numberer Plain
system BandGeneral
test NormDispIncr 1e-8 6
algorithm Newton
analysis Static
analyze 1
loadConst -time 0
puts "analisis gravitatorio y lateral realizado"
print resultado.txt

You might also like