Problem with the period
Moderators: silvia, selimgunay, Moderators
Problem with the period
Hi : i have a problem with the period of the structure i have the same model in sap2000 is a rc frame with rubber isolators in sap2000 the periods it the one i designed the isolator for 2.7 s but in opensees i cant make it bigger than 1.4 s can you help me find the mistake in the code i tried many things but nothing worked. Here is my code
# SET UP ----------------------------------------------------------------------------
wipe # clear memory of all past model definitions
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
set dataDir Output
file mkdir $dataDir
set sismoDir sismo1;
file mkdir $dataDir/$sismoDir
set GMdir "GMfiles"; # ground-motion file directory
source Units.tcl; # define units
source SteelArea.tcl; #define the steel area in SI units
source BuildRCrectSection.tcl; # procedure for definining RC fiber section
# define GEOMETRY -------------------------------------------------------------
# define structure-geometry paramters
set Lbeam [expr 7*$m]
set Lcol [expr 3.6*$m]
# calculate locations of beam/column intersections:
set P0 0
set P1 [expr 0.20*$m]
set P2 [expr 1*$Lcol+$P1]
set P3 [expr 2*$Lcol+$P1]
set P4 [expr 3*$Lcol+$P1]
set P5 [expr 4*$Lcol+$P1]
set P6 [expr 5*$Lcol+$P1]
# define nodal coordinates
# X Y
# Interfaz de aislacion
node 101 0 $P0
node 102 $Lbeam $P0
node 103 [expr 2*$Lbeam] $P0
node 104 [expr 3*$Lbeam] $P0
node 105 [expr 4*$Lbeam] $P0
node 106 [expr 5*$Lbeam] $P0
node 107 [expr 6*$Lbeam] $P0
node 108 [expr 7*$Lbeam] $P0
node 109 [expr 8*$Lbeam] $P0
# Primer piso
node 1 0 $P1
node 2 $Lbeam $P1
node 3 [expr 2*$Lbeam] $P1
node 4 [expr 3*$Lbeam] $P1
node 5 [expr 4*$Lbeam] $P1
node 6 [expr 5*$Lbeam] $P1
node 7 [expr 6*$Lbeam] $P1
node 8 [expr 7*$Lbeam] $P1
node 9 [expr 8*$Lbeam] $P1
# Segundo piso
node 10 0 $P2
node 11 $Lbeam $P2
node 12 [expr 2*$Lbeam] $P2
node 13 [expr 3*$Lbeam] $P2
node 14 [expr 4*$Lbeam] $P2
node 15 [expr 5*$Lbeam] $P2
node 16 [expr 6*$Lbeam] $P2
node 17 [expr 7*$Lbeam] $P2
node 18 [expr 8*$Lbeam] $P2
# Tercer piso
node 19 0 $P3
node 20 $Lbeam $P3
node 21 [expr 2*$Lbeam] $P3
node 22 [expr 3*$Lbeam] $P3
node 23 [expr 4*$Lbeam] $P3
node 24 [expr 5*$Lbeam] $P3
node 25 [expr 6*$Lbeam] $P3
node 26 [expr 7*$Lbeam] $P3
node 27 [expr 8*$Lbeam] $P3
# Cuarto piso
node 28 0 $P4
node 29 $Lbeam $P4
node 30 [expr 2*$Lbeam] $P4
node 31 [expr 3*$Lbeam] $P4
node 32 [expr 4*$Lbeam] $P4
node 33 [expr 5*$Lbeam] $P4
node 34 [expr 6*$Lbeam] $P4
node 35 [expr 7*$Lbeam] $P4
node 36 [expr 8*$Lbeam] $P4
# Quinto piso
node 37 0 $P5
node 38 $Lbeam $P5
node 39 [expr 2*$Lbeam] $P5
node 40 [expr 3*$Lbeam] $P5
node 41 [expr 4*$Lbeam] $P5
node 42 [expr 5*$Lbeam] $P5
node 43 [expr 6*$Lbeam] $P5
node 44 [expr 7*$Lbeam] $P5
node 45 [expr 8*$Lbeam] $P5
#Techo
node 46 0 $P6
node 47 $Lbeam $P6
node 48 [expr 2*$Lbeam] $P6
node 49 [expr 3*$Lbeam] $P6
node 50 [expr 4*$Lbeam] $P6
node 51 [expr 5*$Lbeam] $P6
node 52 [expr 6*$Lbeam] $P6
node 53 [expr 7*$Lbeam] $P6
node 54 [expr 8*$Lbeam] $P6
# Condiciones de borde / nodal constraints
# tag DX DY RZ
fix 101 1 1 1
fix 102 1 1 1
fix 103 1 1 1
fix 104 1 1 1
fix 105 1 1 1
fix 106 1 1 1
fix 107 1 1 1
fix 108 1 1 1
fix 109 1 1 1
## Define SECTIONS ------------------------------------------------------------- Falta
set SectionType FiberSection; # options: Elastic FiberSection
# define section tags:
set ColSecTag 1
set ColSecTag2 2
set BeamSecTag 3
# Section Properties:
set HCol [expr 0.6*$m]; # square-Column width
set BCol $HCol
set HCol1 [expr 0.6*$m]; # square-Column width
set BCol1 $HCol
set HBeam [expr 0.8*$m]; # Beam depth -- perpendicular to bending axis
set BBeam [expr 0.4*$m]; # Beam width -- parallel to bending axis
# MATERIAL parameters
source LibMaterialsRC.tcl; # define library of Reinforced-concrete Materials
# FIBER SECTION properties
# Column section geometry:
set cover [expr 2.5*$cm]; # rectangular-RC-Column cover
set numBarsTopCol 2; # number of longitudinal-reinforcement bars on top layer
set numBarsBotCol 2; # number of longitudinal-reinforcement bars on bottom layer
set numBarsIntCol 2; # TOTAL number of reinforcing bars on the intermediate layers
set barAreaTopCol $phi22; # longitudinal-reinforcement bar area
set barAreaBotCol $phi22; # longitudinal-reinforcement bar area
set barAreaIntCol $phi22; # longitudinal-reinforcement bar area
set numBarsTopBeam 2; # number of longitudinal-reinforcement bars on top layer
set numBarsBotBeam 2; # number of longitudinal-reinforcement bars on bottom layer
set numBarsIntBeam 2; # TOTAL number of reinforcing bars on the intermediate layers
set barAreaTopBeam $phi22; # longitudinal-reinforcement bar area
set barAreaBotBeam $phi22; # longitudinal-reinforcement bar area
set barAreaIntBeam $phi22; # longitudinal-reinforcement bar area
set nfCoreY 20; # number of fibers in the core patch in the y direction
set nfCoreZ 20; # number of fibers in the core patch in the z direction
set nfCoverY 20; # number of fibers in the cover patches with long sides in the y direction
set nfCoverZ 20; # number of fibers in the cover patches with long sides in the z direction
# rectangular section with one layer of steel evenly distributed around the perimeter and a confined core.
BuildRCrectSection $ColSecTag $HCol $BCol $cover $cover $IDconcCore $IDconcCover $IDSteel $numBarsTopCol $barAreaTopCol $numBarsBotCol $barAreaBotCol $numBarsIntCol $barAreaIntCol $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ
BuildRCrectSection $ColSecTag2 $HCol1 $BCol1 $cover $cover $IDconcCore $IDconcCover $IDSteel $numBarsTopCol1 $barAreaTopCol1 $numBarsBotCol1 $barAreaBotCol1 $numBarsIntCol1 $barAreaIntCol1 $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ
BuildRCrectSection $BeamSecTag $HBeam $BBeam $cover $cover $IDconcCore $IDconcCover $IDSteel $numBarsTopBeam $barAreaTopBeam $numBarsBotBeam $barAreaBotBeam $numBarsIntBeam $barAreaIntBeam $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ
# define ELEMENTS
# set up geometric transformations of element
# separate columns and beams, in case of P-Delta analysis for columns
set IDColTransf 1; # all columns
set IDBeamTransf 2; # all beams
set ColTransfType Linear ; # options, Linear PDelta Corotational
geomTransf $ColTransfType $IDColTransf ; # only columns can have PDelta effects (gravity effects)
geomTransf Linear $IDBeamTransf
# Define Beam-Column Elements
set np 5; # number of Gauss integration points for nonlinear curvature distribution-- np=2 for linear distribution ok
# columns
#Conectividad Vertical Columnas
# elemento numero nodo i nodo j np gauss Tag Col Transferencia geometrica
#Primer Piso
element nonlinearBeamColumn 101 1 10 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 102 2 11 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 103 3 12 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 104 4 13 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 105 5 14 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 106 6 15 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 107 7 16 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 108 8 17 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 109 9 18 $np $ColSecTag $IDColTransf;
#Segundo piso
element nonlinearBeamColumn 201 10 19 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 202 11 20 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 203 12 21 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 204 13 22 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 205 14 23 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 206 15 24 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 207 16 25 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 208 17 26 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 209 18 27 $np $ColSecTag $IDColTransf;
#Tercer Piso
element nonlinearBeamColumn 301 19 28 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 302 20 29 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 303 21 30 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 304 22 31 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 305 23 32 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 306 24 33 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 307 25 34 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 308 26 35 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 309 27 36 $np $ColSecTag $IDColTransf;
#Cuarto piso
element nonlinearBeamColumn 401 28 37 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 402 29 38 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 403 30 39 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 404 31 40 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 405 32 41 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 406 33 42 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 407 34 43 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 408 35 44 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 409 36 45 $np $ColSecTag $IDColTransf;
#Quinto Piso
element nonlinearBeamColumn 501 37 46 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 502 38 47 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 503 39 48 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 504 40 49 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 505 41 50 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 506 42 51 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 507 43 52 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 508 44 53 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 509 45 54 $np $ColSecTag $IDColTransf;
# beams
#Conectividad Horizontal Vigas
# elemento numero nodo i nodo j np gauss Tag Col Transferencia geometrica
#Primer Piso
element nonlinearBeamColumn 1101 1 2 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1102 2 3 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1103 3 4 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1104 4 5 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1105 5 6 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1106 6 7 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1107 7 8 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1108 8 9 $np $BeamSecTag $IDBeamTransf;
#Segundo piso
element nonlinearBeamColumn 2101 10 11 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2102 11 12 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2103 12 13 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2104 13 14 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2105 14 15 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2106 15 16 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2107 16 17 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2108 17 18 $np $BeamSecTag $IDBeamTransf;
#Tercer Piso
element nonlinearBeamColumn 3101 19 20 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3102 20 21 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3103 21 22 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3104 22 23 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3105 23 24 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3106 24 25 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3107 25 26 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3108 26 27 $np $BeamSecTag $IDBeamTransf;
#Cuarto piso
element nonlinearBeamColumn 4101 28 29 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4102 29 30 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4103 30 31 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4104 31 32 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4105 32 33 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4106 33 34 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4107 34 35 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4108 35 36 $np $BeamSecTag $IDBeamTransf;
#Quinto Piso
element nonlinearBeamColumn 5101 37 38 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5102 38 39 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5103 39 40 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5104 40 41 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5105 41 42 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5106 42 43 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5107 43 44 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5108 44 45 $np $BeamSecTag $IDBeamTransf;
#Techo
element nonlinearBeamColumn 6101 46 47 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6102 47 48 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6103 48 49 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6104 49 50 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6105 50 51 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6106 51 52 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6107 52 53 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6108 53 54 $np $BeamSecTag $IDBeamTransf;
# General Material parameters
set Ev1 [expr 7194*$kgf/($cm*$cm)];
set Ev2 [expr 7194*$kgf/($cm*$cm)];
set matTagRubber1 4;
set matTagRubber2 5;
set matTagRubber3 6;
uniaxialMaterial Elastic $matTagRubber1 $Ev1;
uniaxialMaterial Elastic $matTagRubber2 $Ev2;
uniaxialMaterial Elastic $matTagRubber3 0.0;
set fy1 [expr 19.467*$tonf];
set fy2 [expr 1*$tonf];
set kInit1 [expr 959*$tonf/$m];
set kInit2 [expr 99.45*$tonf/$m];
set alpha1 0.1;
set alpha2 1;
#aisladores
element elastomericBearing 901 101 1 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 902 102 2 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 903 103 3 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 904 104 4 $kInit2 $fy2 $alpha2 -P $matTagRubber2 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 905 105 5 $kInit2 $fy2 $alpha2 -P $matTagRubber2 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 906 106 6 $kInit2 $fy2 $alpha2 -P $matTagRubber2 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 907 107 7 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 908 108 8 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 909 109 9 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
# Define GRAVITY LOADS, weight and masses
# calculate dead load of frame, assume this to be an internal frame (do LL in a similar manner)
# calculate distributed weight along the beam length
set GammaConcrete [expr 2.5*$tonf/pow($m,3)]; # Reinforced-Concrete floor slabs
set Tslab20 [expr 20*$cm]; # 6-inch slab
set Tslab16 [expr 16*$cm]; # 6-inch slab
set Lslab [expr 2*$Lbeam/2]; # assume slab extends a distance of $LBeam1/2 in/out of plane
set PM [expr 0.2*$Lslab*$tonf/$m]; # Carga muerta adicional 200 kg/m2 todos los pisos
set Qslab20 [expr $GammaConcrete*$Tslab20*$Lslab];
set Qslab16 [expr $GammaConcrete*$Tslab16*$Lslab];
set QdlCol [expr $GammaConcrete*$HCol*$BCol]; # self weight of Column, weight per length
set QBeam [expr $GammaConcrete*$HBeam*$BBeam]; # self weight of Beam, weight per length
set SC1 [expr 0.4*$Lslab*$tonf/$m]; # Sobre carga de uso pisos 1 a 5 0.4 tonf/m2
set SC2 [expr 1*$Lslab*$tonf/$m]; # Sobre carga de uso pisos 1 a 2 1 tonf/m2
set SC3 [expr 0.1*$Lslab*$tonf/$m]; # Sobre carga de uso techo
set QdlBeam1 [expr $Qslab20 + $QBeam+0.25*$SC1+0.25*$SC2+$PM]; # dead load distributed along beam.
set QdlBeam2 [expr $Qslab20 + $QBeam+0.25*$SC1+0.25*$SC2+$PM]; # dead load distributed along beam.
set QdlBeam3 [expr $Qslab16 + $QBeam+0.25*$SC1+$PM]; # dead load distributed along beam.
set QdlBeam4 [expr $Qslab16 + $QBeam+0.25*$SC1+$PM]; # dead load distributed along beam.
set QdlBeam5 [expr $Qslab16 + $QBeam+0.25*$SC1+$PM]; # dead load distributed along beam.
set QdlBeam6 [expr $Qslab16 + $QBeam+0.25*$SC3+$PM]; # dead load distributed along beam.
set WeightCol [expr $QdlCol*$Lcol]; # total Column weight
set WeightBeam1 [expr $QdlBeam1*$Lbeam]; # total Beam weight
set WeightBeam2 [expr $QdlBeam2*$Lbeam]; # total Beam weight
set WeightBeam3 [expr $QdlBeam3*$Lbeam]; # total Beam weight
set WeightBeam4 [expr $QdlBeam4*$Lbeam]; # total Beam weight
set WeightBeam5 [expr $QdlBeam5*$Lbeam]; # total Beam weight
set WeightBeam6 [expr $QdlBeam6*$Lbeam]; # total Beam weight
# assign masses to the nodes that the columns are connected to
# each connection takes the mass of 1/2 of each element framing into it (mass=weight/$g)
#mass tag mass x mass y mass z
# Primer Piso
# Primer Piso
mass 1 3.33 0. 0. 0. 0. 0.
mass 2 6.24 0. 0. 0. 0. 0.
mass 3 6.24 0. 0. 0. 0. 0.
mass 4 6.24 0. 0. 0. 0. 0.
mass 5 6.24 0. 0. 0. 0. 0.
mass 6 6.24 0. 0. 0. 0. 0.
mass 7 6.24 0. 0. 0. 0. 0.
mass 8 6.24 0. 0. 0. 0. 0.
mass 9 3.33 0. 0. 0. 0. 0.
#Segundo Piso
mass 10 3.75 0. 0. 0. 0. 0.
mass 11 6.66 0. 0. 0. 0. 0.
mass 12 6.66 0. 0. 0. 0. 0.
mass 13 6.66 0. 0. 0. 0. 0.
mass 14 6.66 0. 0. 0. 0. 0.
mass 15 6.66 0. 0. 0. 0. 0.
mass 16 6.66 0. 0. 0. 0. 0.
mass 17 6.66 0. 0. 0. 0. 0.
mass 18 3.75 0. 0. 0. 0. 0.
# Tercer Piso
mass 19 2.88 0. 0. 0. 0. 0.
mass 20 4.91 0. 0. 0. 0. 0.
mass 21 4.91 0. 0. 0. 0. 0.
mass 22 4.91 0. 0. 0. 0. 0.
mass 23 4.91 0. 0. 0. 0. 0.
mass 24 4.91 0. 0. 0. 0. 0.
mass 25 4.91 0. 0. 0. 0. 0.
mass 26 4.91 0. 0. 0. 0. 0.
mass 27 2.88 0. 0. 0. 0. 0.
#Cuarto Piso
mass 28 2.88 0. 0. 0. 0. 0.
mass 29 4.91 0. 0. 0. 0. 0.
mass 30 4.91 0. 0. 0. 0. 0.
mass 31 4.91 0. 0. 0. 0. 0.
mass 32 4.91 0. 0. 0. 0. 0.
mass 33 4.91 0. 0. 0. 0. 0.
mass 34 4.91 0. 0. 0. 0. 0.
mass 35 4.91 0. 0. 0. 0. 0.
mass 36 2.88 0. 0. 0. 0. 0.
#Quinto piso
mass 37 2.88 0. 0. 0. 0. 0.
mass 38 4.91 0. 0. 0. 0. 0.
mass 39 4.91 0. 0. 0.
mass 40 4.91 0. 0. 0. 0. 0.
mass 41 4.91 0. 0. 0. 0. 0.
mass 42 4.91 0. 0. 0. 0. 0.
mass 43 4.91 0. 0. 0. 0. 0.
mass 44 4.91 0. 0. 0. 0. 0.
mass 45 2.88 0. 0. 0. 0. 0.
#Techo
mass 46 2.27 0. 0. 0. 0. 0.
mass 47 4.12 0. 0. 0. 0. 0.
mass 48 4.12 0. 0. 0. 0. 0.
mass 49 4.12 0. 0. 0. 0. 0.
mass 50 4.12 0. 0. 0. 0. 0.
mass 51 4.12 0. 0. 0. 0. 0.
mass 52 4.12 0. 0. 0. 0. 0.
mass 53 4.12 0. 0. 0. 0. 0.
mass 54 2.27 0. 0. 0. 0. 0.
#############################################################################
# define GRAVITY -------------------------------------------------------------
# GRAVITY LOADS # define gravity load applied to beams and columns -- eleLoad applies loads in local coordinate axis
pattern Plain 101 Linear {
#Primer Piso
eleLoad -ele 1101 1102 1103 1104 1105 1106 1107 1108 -type -beamUniform -$QdlBeam1
#Segundo Piso
eleLoad -ele 2101 2102 2103 2104 2105 2106 2107 2108 -type -beamUniform -$QdlBeam2
#Tercer Piso
eleLoad -ele 3101 3102 3103 3104 3105 3106 3107 3108 -type -beamUniform -$QdlBeam3
#Cuarto Piso
eleLoad -ele 4101 4102 4103 4104 4105 4106 4107 4108 -type -beamUniform -$QdlBeam4
#Quinto piso
eleLoad -ele 5101 5102 5103 5104 5105 5106 5107 5108 -type -beamUniform -$QdlBeam5
# Techo
eleLoad -ele 6101 6102 6103 6104 6105 6106 6107 6108 -type -beamUniform -$QdlBeam6
}
# perform eigen analysis
#-----------------------------
set lambda [eigen 4];
# calculate frequencies and periods of the structure
#---------------------------------------------------
set omega {}
set f {}
set T {}
set pi 3.141593
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
puts "periods are $T"
# Gravity-analysis parameters -- load-controlled static analysis
set Tol 1.0e-8; # convergence tolerance for test
variable constraintsTypeGravity Plain; # default;
if { [info exists RigidDiaphragm] == 1} {
if {$RigidDiaphragm=="ON"} {
variable constraintsTypeGravity Lagrange; # large model: try Transformation
}; # if rigid diaphragm is on
}; # if rigid diaphragm exists
constraints $constraintsTypeGravity ; # how it handles boundary conditions
numberer RCM; # 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 (large model: try UmfPack)
test NormDispIncr $Tol 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
set NstepGravity 10; # apply gravity in 10 steps
set DGravity [expr 1./$NstepGravity]; # first load increment;
integrator LoadControl $DGravity; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient
analyze $NstepGravity; # apply gravity
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
loadConst -time 0.0
puts "Model Built"
SteelArea.tcl
######################################################
# Areas de acero en cm para barras de diametro phi en mm
# Debugging Status: ok
#####################################################
set phi8 [expr 0.50*$cm*$cm];
set phi10 [expr 0.79*$cm*$cm];
set phi12 [expr 1.13*$cm*$cm];
set phi16 [expr 2.01*$cm*$cm];
set phi18 [expr 2.54*$cm*$cm];
set phi22 [expr 3.80*$cm*$cm];
set phi25 [expr 4.91*$cm*$cm];
set phi28 [expr 6.16*$cm*$cm];
set phi32 [expr 8.04*$cm*$cm];
set phi36 [expr 10.18*$cm*$cm];
#fin del codigo
Units.tcl
# --------------------------------------------------------------------------------------------------
# LibUnits.tcl -- define system of units// define el sistema de unidades
# Felipe Toledo -- 2012
#Debugging Status: ok
# define UNITS ----------------------------------------------------------------------------
set m 1.; # define basic units -- output units
set tonf 100.; # define basic units -- output units
set sec 1.; # define basic units -- output units
set LunitTXT "m"; # define basic-unit text for output
set FunitTXT "Tonf"; # define basic-unit text for output
set TunitTXT "sec"; # define basic-unit text for output
set cm [expr $m/100.]; # metros
set mm [expr $cm/10.]; # milimetros
set N [expr $tonf/9807]; # Newtons
set MPa [expr $N/($mm*$mm)]; # MegaPascales
set kgf [expr $tonf/1000.]; # kilogramo fuerza
set m2 [expr $m*$m]; # m^2
set m3 [expr $m*$m*$m];
set cm2 [expr $cm*$cm]; # cm^2
set cm4 [expr $cm*$cm*$cm*$cm]; # cm^4
set PI [expr 2*asin(1.0)]; # PI
set g [expr 9.81*$m/($sec*$sec)]; # aceleracion de gravedad
set Ubig 1.e10; # a really large number
set Usmall [expr 1/$Ubig]; # a really small number
LibMaterialsRC.tcl
# General Material parameters
# General Material parameters
set G $Ubig; # make stiff shear modulus
set J 1.0; # torsional section stiffness (G makes GJ large)
set GJ [expr $G*$J];
# -----------------------------------------------------------------------------------------------------# confined and unconfined CONCRETE
# nominal concrete compressive strength
set fc [expr -30*$MPa]; # concrete nominal compressive strength
set Ec [expr 4700.*$MPa*sqrt(-$fc/$MPa)]; # concrete Young's Modulus
set nu 0.2;
set Gc [expr $Ec/2./[expr 1+$nu]]; # Torsional stiffness Modulus
# confined concrete
set Kfc 1.3; # ratio of confined to unconfined concrete strength
set Kres 0.2; # ratio of residual/ultimate to maximum stress
set fc1C [expr $Kfc*$fc]; # CONFINED concrete (mander model), maximum stress
set eps1C [expr 2.*$fc1C/$Ec]; # strain at maximum stress
set fc2C [expr $Kres*$fc1C]; # ultimate stress
set eps2C [expr 20*$eps1C]; # strain at ultimate stress
set lambda 0.1; # ratio between unloading slope at $eps2 and initial slope $Ec
# unconfined concrete
set fc1U $fc; # UNCONFINED concrete (todeschini parabolic model), maximum stress
set eps1U -0.003; # strain at maximum strength of unconfined concrete
set fc2U [expr $Kres*$fc1U]; # ultimate stress
set eps2U -0.01; # strain at ultimate stress
# tensile-strength properties
set ftC [expr -0.14*$fc1C]; # tensile strength +tension
set ftU [expr -0.14*$fc1U]; # tensile strength +tension
set Ets [expr $ftU/0.002]; # tension softening stiffness
# set up library of materials
if { [info exists imat ] != 1} {set imat 0}; # set value only if it has not been defined previously.
set IDconcCore 1
set IDconcCover 2
uniaxialMaterial Concrete02 $IDconcCore $fc1C $eps1C $fc2C $eps2C $lambda $ftC $Ets; # Core concrete (confined)
uniaxialMaterial Concrete02 $IDconcCover $fc1U $eps1U $fc2U $eps2U $lambda $ftU $Ets; # Cover concrete (unconfined)
# -----------------------------------------------------------------------------------------------------# REINFORCING STEEL parameters
#
set Fy [expr 420.*$MPa]; # STEEL yield stress
set Es [expr 200000.*$MPa]; # modulus of steel
set Bs 0.01; # strain-hardening ratio
set R0 18; # control the transition from elastic to plastic branches
set cR1 0.925; # control the transition from elastic to plastic branches
set cR2 0.15; # control the transition from elastic to plastic branches
set IDSteel 3
uniaxialMaterial Steel02 $IDSteel $Fy $Es $Bs $R0 $cR1 $cR2
BuildCretSection.tcl
proc BuildRCrectSection {id HSec BSec coverH coverB coreID coverID steelID numBarsTop barAreaTop numBarsBot barAreaBot numBarsIntTot barAreaInt nfCoreY nfCoreZ nfCoverY nfCoverZ} {
################################################
# BuildRCrectSection $id $HSec $BSec $coverH $coverB $coreID $coverID $steelID $numBarsTop $barAreaTop $numBarsBot $barAreaBot $numBarsIntTot $barAreaInt $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ
################################################
# Build fiber rectangular RC section, 1 steel layer top, 1 bot, 1 skin, confined core
# Define a procedure which generates a rectangular reinforced concrete section
# with one layer of steel at the top & bottom, skin reinforcement and a
# confined core.
# by: Silvia Mazzoni, 2006
# adapted from Michael H. Scott, 2003
#
# Formal arguments
# id - tag for the section that is generated by this procedure
# HSec - depth of section, along local-y axis
# BSec - width of section, along local-z axis
# cH - distance from section boundary to neutral axis of reinforcement
# cB - distance from section boundary to side of reinforcement
# coreID - material tag for the core patch
# coverID - material tag for the cover patches
# steelID - material tag for the reinforcing steel
# numBarsTop - number of reinforcing bars in the top layer
# numBarsBot - number of reinforcing bars in the bottom layer
# numBarsIntTot - TOTAL number of reinforcing bars on the intermediate layers, symmetric about z axis and 2 bars per layer-- needs to be an even integer
# barAreaTop - cross-sectional area of each reinforcing bar in top layer
# barAreaBot - cross-sectional area of each reinforcing bar in bottom layer
# barAreaInt - cross-sectional area of each reinforcing bar in intermediate layer
# nfCoreY - number of fibers in the core patch in the y direction
# nfCoreZ - number of fibers in the core patch in the z direction
# nfCoverY - number of fibers in the cover patches with long sides in the y direction
# nfCoverZ - number of fibers in the cover patches with long sides in the z direction
#
# y
# ^
# |
# --------------------- -- --
# | o o o | | -- coverH
# | | |
# | o o | |
# z <--- | + | HSec
# | o o | |
# | | |
# | o o o o o o | | -- coverH
# --------------------- -- --
# |-------Bsec------|
# |---| coverB |---|
#
# y
# ^
# |
# ---------------------
# |\ cover /|
# | \------Top------/ |
# |c| |c|
# |o| |o|
# z <-----|v| core |v| HSec
# |e| |e|
# |r| |r|
# | /-------Bot------\ |
# |/ cover \|
# ---------------------
# Bsec
#
#
# Notes
# The core concrete ends at the NA of the reinforcement
# The center of the section is at (0,0) in the local axis system
#
set coverY [expr $HSec/2.0]; # The distance from the section z-axis to the edge of the cover concrete -- outer edge of cover concrete
set coverZ [expr $BSec/2.0]; # The distance from the section y-axis to the edge of the cover concrete -- outer edge of cover concrete
set coreY [expr $coverY-$coverH]; # The distance from the section z-axis to the edge of the core concrete -- edge of the core concrete/inner edge of cover concrete
set coreZ [expr $coverZ-$coverB]; # The distance from the section y-axis to the edge of the core concrete -- edge of the core concrete/inner edge of cover concrete
set numBarsInt [expr $numBarsIntTot/2]; # number of intermediate bars per side
# Define the fiber section
section fiberSec $id {
# Define the core patch
patch quadr $coreID $nfCoreZ $nfCoreY -$coreY $coreZ -$coreY -$coreZ $coreY -$coreZ $coreY $coreZ
# Define the four cover patches
patch quadr $coverID 2 $nfCoverY -$coverY $coverZ -$coreY $coreZ $coreY $coreZ $coverY $coverZ
patch quadr $coverID 2 $nfCoverY -$coreY -$coreZ -$coverY -$coverZ $coverY -$coverZ $coreY -$coreZ
patch quadr $coverID $nfCoverZ 2 -$coverY $coverZ -$coverY -$coverZ -$coreY -$coreZ -$coreY $coreZ
patch quadr $coverID $nfCoverZ 2 $coreY $coreZ $coreY -$coreZ $coverY -$coverZ $coverY $coverZ
# define reinforcing layers
layer straight $steelID $numBarsInt $barAreaInt -$coreY $coreZ $coreY $coreZ; # intermediate skin reinf. +z
layer straight $steelID $numBarsInt $barAreaInt -$coreY -$coreZ $coreY -$coreZ; # intermediate skin reinf. -z
layer straight $steelID $numBarsTop $barAreaTop $coreY $coreZ $coreY -$coreZ; # top layer reinfocement
layer straight $steelID $numBarsBot $barAreaBot -$coreY $coreZ -$coreY -$coreZ; # bottom layer reinforcement
}; # end of fibersection definition
}; # end of procedure
# SET UP ----------------------------------------------------------------------------
wipe # clear memory of all past model definitions
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
set dataDir Output
file mkdir $dataDir
set sismoDir sismo1;
file mkdir $dataDir/$sismoDir
set GMdir "GMfiles"; # ground-motion file directory
source Units.tcl; # define units
source SteelArea.tcl; #define the steel area in SI units
source BuildRCrectSection.tcl; # procedure for definining RC fiber section
# define GEOMETRY -------------------------------------------------------------
# define structure-geometry paramters
set Lbeam [expr 7*$m]
set Lcol [expr 3.6*$m]
# calculate locations of beam/column intersections:
set P0 0
set P1 [expr 0.20*$m]
set P2 [expr 1*$Lcol+$P1]
set P3 [expr 2*$Lcol+$P1]
set P4 [expr 3*$Lcol+$P1]
set P5 [expr 4*$Lcol+$P1]
set P6 [expr 5*$Lcol+$P1]
# define nodal coordinates
# X Y
# Interfaz de aislacion
node 101 0 $P0
node 102 $Lbeam $P0
node 103 [expr 2*$Lbeam] $P0
node 104 [expr 3*$Lbeam] $P0
node 105 [expr 4*$Lbeam] $P0
node 106 [expr 5*$Lbeam] $P0
node 107 [expr 6*$Lbeam] $P0
node 108 [expr 7*$Lbeam] $P0
node 109 [expr 8*$Lbeam] $P0
# Primer piso
node 1 0 $P1
node 2 $Lbeam $P1
node 3 [expr 2*$Lbeam] $P1
node 4 [expr 3*$Lbeam] $P1
node 5 [expr 4*$Lbeam] $P1
node 6 [expr 5*$Lbeam] $P1
node 7 [expr 6*$Lbeam] $P1
node 8 [expr 7*$Lbeam] $P1
node 9 [expr 8*$Lbeam] $P1
# Segundo piso
node 10 0 $P2
node 11 $Lbeam $P2
node 12 [expr 2*$Lbeam] $P2
node 13 [expr 3*$Lbeam] $P2
node 14 [expr 4*$Lbeam] $P2
node 15 [expr 5*$Lbeam] $P2
node 16 [expr 6*$Lbeam] $P2
node 17 [expr 7*$Lbeam] $P2
node 18 [expr 8*$Lbeam] $P2
# Tercer piso
node 19 0 $P3
node 20 $Lbeam $P3
node 21 [expr 2*$Lbeam] $P3
node 22 [expr 3*$Lbeam] $P3
node 23 [expr 4*$Lbeam] $P3
node 24 [expr 5*$Lbeam] $P3
node 25 [expr 6*$Lbeam] $P3
node 26 [expr 7*$Lbeam] $P3
node 27 [expr 8*$Lbeam] $P3
# Cuarto piso
node 28 0 $P4
node 29 $Lbeam $P4
node 30 [expr 2*$Lbeam] $P4
node 31 [expr 3*$Lbeam] $P4
node 32 [expr 4*$Lbeam] $P4
node 33 [expr 5*$Lbeam] $P4
node 34 [expr 6*$Lbeam] $P4
node 35 [expr 7*$Lbeam] $P4
node 36 [expr 8*$Lbeam] $P4
# Quinto piso
node 37 0 $P5
node 38 $Lbeam $P5
node 39 [expr 2*$Lbeam] $P5
node 40 [expr 3*$Lbeam] $P5
node 41 [expr 4*$Lbeam] $P5
node 42 [expr 5*$Lbeam] $P5
node 43 [expr 6*$Lbeam] $P5
node 44 [expr 7*$Lbeam] $P5
node 45 [expr 8*$Lbeam] $P5
#Techo
node 46 0 $P6
node 47 $Lbeam $P6
node 48 [expr 2*$Lbeam] $P6
node 49 [expr 3*$Lbeam] $P6
node 50 [expr 4*$Lbeam] $P6
node 51 [expr 5*$Lbeam] $P6
node 52 [expr 6*$Lbeam] $P6
node 53 [expr 7*$Lbeam] $P6
node 54 [expr 8*$Lbeam] $P6
# Condiciones de borde / nodal constraints
# tag DX DY RZ
fix 101 1 1 1
fix 102 1 1 1
fix 103 1 1 1
fix 104 1 1 1
fix 105 1 1 1
fix 106 1 1 1
fix 107 1 1 1
fix 108 1 1 1
fix 109 1 1 1
## Define SECTIONS ------------------------------------------------------------- Falta
set SectionType FiberSection; # options: Elastic FiberSection
# define section tags:
set ColSecTag 1
set ColSecTag2 2
set BeamSecTag 3
# Section Properties:
set HCol [expr 0.6*$m]; # square-Column width
set BCol $HCol
set HCol1 [expr 0.6*$m]; # square-Column width
set BCol1 $HCol
set HBeam [expr 0.8*$m]; # Beam depth -- perpendicular to bending axis
set BBeam [expr 0.4*$m]; # Beam width -- parallel to bending axis
# MATERIAL parameters
source LibMaterialsRC.tcl; # define library of Reinforced-concrete Materials
# FIBER SECTION properties
# Column section geometry:
set cover [expr 2.5*$cm]; # rectangular-RC-Column cover
set numBarsTopCol 2; # number of longitudinal-reinforcement bars on top layer
set numBarsBotCol 2; # number of longitudinal-reinforcement bars on bottom layer
set numBarsIntCol 2; # TOTAL number of reinforcing bars on the intermediate layers
set barAreaTopCol $phi22; # longitudinal-reinforcement bar area
set barAreaBotCol $phi22; # longitudinal-reinforcement bar area
set barAreaIntCol $phi22; # longitudinal-reinforcement bar area
set numBarsTopBeam 2; # number of longitudinal-reinforcement bars on top layer
set numBarsBotBeam 2; # number of longitudinal-reinforcement bars on bottom layer
set numBarsIntBeam 2; # TOTAL number of reinforcing bars on the intermediate layers
set barAreaTopBeam $phi22; # longitudinal-reinforcement bar area
set barAreaBotBeam $phi22; # longitudinal-reinforcement bar area
set barAreaIntBeam $phi22; # longitudinal-reinforcement bar area
set nfCoreY 20; # number of fibers in the core patch in the y direction
set nfCoreZ 20; # number of fibers in the core patch in the z direction
set nfCoverY 20; # number of fibers in the cover patches with long sides in the y direction
set nfCoverZ 20; # number of fibers in the cover patches with long sides in the z direction
# rectangular section with one layer of steel evenly distributed around the perimeter and a confined core.
BuildRCrectSection $ColSecTag $HCol $BCol $cover $cover $IDconcCore $IDconcCover $IDSteel $numBarsTopCol $barAreaTopCol $numBarsBotCol $barAreaBotCol $numBarsIntCol $barAreaIntCol $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ
BuildRCrectSection $ColSecTag2 $HCol1 $BCol1 $cover $cover $IDconcCore $IDconcCover $IDSteel $numBarsTopCol1 $barAreaTopCol1 $numBarsBotCol1 $barAreaBotCol1 $numBarsIntCol1 $barAreaIntCol1 $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ
BuildRCrectSection $BeamSecTag $HBeam $BBeam $cover $cover $IDconcCore $IDconcCover $IDSteel $numBarsTopBeam $barAreaTopBeam $numBarsBotBeam $barAreaBotBeam $numBarsIntBeam $barAreaIntBeam $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ
# define ELEMENTS
# set up geometric transformations of element
# separate columns and beams, in case of P-Delta analysis for columns
set IDColTransf 1; # all columns
set IDBeamTransf 2; # all beams
set ColTransfType Linear ; # options, Linear PDelta Corotational
geomTransf $ColTransfType $IDColTransf ; # only columns can have PDelta effects (gravity effects)
geomTransf Linear $IDBeamTransf
# Define Beam-Column Elements
set np 5; # number of Gauss integration points for nonlinear curvature distribution-- np=2 for linear distribution ok
# columns
#Conectividad Vertical Columnas
# elemento numero nodo i nodo j np gauss Tag Col Transferencia geometrica
#Primer Piso
element nonlinearBeamColumn 101 1 10 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 102 2 11 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 103 3 12 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 104 4 13 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 105 5 14 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 106 6 15 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 107 7 16 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 108 8 17 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 109 9 18 $np $ColSecTag $IDColTransf;
#Segundo piso
element nonlinearBeamColumn 201 10 19 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 202 11 20 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 203 12 21 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 204 13 22 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 205 14 23 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 206 15 24 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 207 16 25 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 208 17 26 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 209 18 27 $np $ColSecTag $IDColTransf;
#Tercer Piso
element nonlinearBeamColumn 301 19 28 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 302 20 29 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 303 21 30 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 304 22 31 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 305 23 32 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 306 24 33 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 307 25 34 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 308 26 35 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 309 27 36 $np $ColSecTag $IDColTransf;
#Cuarto piso
element nonlinearBeamColumn 401 28 37 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 402 29 38 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 403 30 39 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 404 31 40 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 405 32 41 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 406 33 42 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 407 34 43 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 408 35 44 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 409 36 45 $np $ColSecTag $IDColTransf;
#Quinto Piso
element nonlinearBeamColumn 501 37 46 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 502 38 47 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 503 39 48 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 504 40 49 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 505 41 50 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 506 42 51 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 507 43 52 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 508 44 53 $np $ColSecTag $IDColTransf;
element nonlinearBeamColumn 509 45 54 $np $ColSecTag $IDColTransf;
# beams
#Conectividad Horizontal Vigas
# elemento numero nodo i nodo j np gauss Tag Col Transferencia geometrica
#Primer Piso
element nonlinearBeamColumn 1101 1 2 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1102 2 3 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1103 3 4 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1104 4 5 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1105 5 6 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1106 6 7 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1107 7 8 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 1108 8 9 $np $BeamSecTag $IDBeamTransf;
#Segundo piso
element nonlinearBeamColumn 2101 10 11 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2102 11 12 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2103 12 13 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2104 13 14 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2105 14 15 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2106 15 16 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2107 16 17 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 2108 17 18 $np $BeamSecTag $IDBeamTransf;
#Tercer Piso
element nonlinearBeamColumn 3101 19 20 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3102 20 21 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3103 21 22 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3104 22 23 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3105 23 24 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3106 24 25 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3107 25 26 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 3108 26 27 $np $BeamSecTag $IDBeamTransf;
#Cuarto piso
element nonlinearBeamColumn 4101 28 29 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4102 29 30 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4103 30 31 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4104 31 32 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4105 32 33 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4106 33 34 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4107 34 35 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 4108 35 36 $np $BeamSecTag $IDBeamTransf;
#Quinto Piso
element nonlinearBeamColumn 5101 37 38 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5102 38 39 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5103 39 40 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5104 40 41 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5105 41 42 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5106 42 43 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5107 43 44 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 5108 44 45 $np $BeamSecTag $IDBeamTransf;
#Techo
element nonlinearBeamColumn 6101 46 47 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6102 47 48 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6103 48 49 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6104 49 50 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6105 50 51 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6106 51 52 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6107 52 53 $np $BeamSecTag $IDBeamTransf;
element nonlinearBeamColumn 6108 53 54 $np $BeamSecTag $IDBeamTransf;
# General Material parameters
set Ev1 [expr 7194*$kgf/($cm*$cm)];
set Ev2 [expr 7194*$kgf/($cm*$cm)];
set matTagRubber1 4;
set matTagRubber2 5;
set matTagRubber3 6;
uniaxialMaterial Elastic $matTagRubber1 $Ev1;
uniaxialMaterial Elastic $matTagRubber2 $Ev2;
uniaxialMaterial Elastic $matTagRubber3 0.0;
set fy1 [expr 19.467*$tonf];
set fy2 [expr 1*$tonf];
set kInit1 [expr 959*$tonf/$m];
set kInit2 [expr 99.45*$tonf/$m];
set alpha1 0.1;
set alpha2 1;
#aisladores
element elastomericBearing 901 101 1 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 902 102 2 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 903 103 3 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 904 104 4 $kInit2 $fy2 $alpha2 -P $matTagRubber2 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 905 105 5 $kInit2 $fy2 $alpha2 -P $matTagRubber2 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 906 106 6 $kInit2 $fy2 $alpha2 -P $matTagRubber2 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 907 107 7 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 908 108 8 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
element elastomericBearing 909 109 9 $kInit1 $fy1 $alpha1 -P $matTagRubber1 -Mz $matTagRubber3 -doRayleigh
# Define GRAVITY LOADS, weight and masses
# calculate dead load of frame, assume this to be an internal frame (do LL in a similar manner)
# calculate distributed weight along the beam length
set GammaConcrete [expr 2.5*$tonf/pow($m,3)]; # Reinforced-Concrete floor slabs
set Tslab20 [expr 20*$cm]; # 6-inch slab
set Tslab16 [expr 16*$cm]; # 6-inch slab
set Lslab [expr 2*$Lbeam/2]; # assume slab extends a distance of $LBeam1/2 in/out of plane
set PM [expr 0.2*$Lslab*$tonf/$m]; # Carga muerta adicional 200 kg/m2 todos los pisos
set Qslab20 [expr $GammaConcrete*$Tslab20*$Lslab];
set Qslab16 [expr $GammaConcrete*$Tslab16*$Lslab];
set QdlCol [expr $GammaConcrete*$HCol*$BCol]; # self weight of Column, weight per length
set QBeam [expr $GammaConcrete*$HBeam*$BBeam]; # self weight of Beam, weight per length
set SC1 [expr 0.4*$Lslab*$tonf/$m]; # Sobre carga de uso pisos 1 a 5 0.4 tonf/m2
set SC2 [expr 1*$Lslab*$tonf/$m]; # Sobre carga de uso pisos 1 a 2 1 tonf/m2
set SC3 [expr 0.1*$Lslab*$tonf/$m]; # Sobre carga de uso techo
set QdlBeam1 [expr $Qslab20 + $QBeam+0.25*$SC1+0.25*$SC2+$PM]; # dead load distributed along beam.
set QdlBeam2 [expr $Qslab20 + $QBeam+0.25*$SC1+0.25*$SC2+$PM]; # dead load distributed along beam.
set QdlBeam3 [expr $Qslab16 + $QBeam+0.25*$SC1+$PM]; # dead load distributed along beam.
set QdlBeam4 [expr $Qslab16 + $QBeam+0.25*$SC1+$PM]; # dead load distributed along beam.
set QdlBeam5 [expr $Qslab16 + $QBeam+0.25*$SC1+$PM]; # dead load distributed along beam.
set QdlBeam6 [expr $Qslab16 + $QBeam+0.25*$SC3+$PM]; # dead load distributed along beam.
set WeightCol [expr $QdlCol*$Lcol]; # total Column weight
set WeightBeam1 [expr $QdlBeam1*$Lbeam]; # total Beam weight
set WeightBeam2 [expr $QdlBeam2*$Lbeam]; # total Beam weight
set WeightBeam3 [expr $QdlBeam3*$Lbeam]; # total Beam weight
set WeightBeam4 [expr $QdlBeam4*$Lbeam]; # total Beam weight
set WeightBeam5 [expr $QdlBeam5*$Lbeam]; # total Beam weight
set WeightBeam6 [expr $QdlBeam6*$Lbeam]; # total Beam weight
# assign masses to the nodes that the columns are connected to
# each connection takes the mass of 1/2 of each element framing into it (mass=weight/$g)
#mass tag mass x mass y mass z
# Primer Piso
# Primer Piso
mass 1 3.33 0. 0. 0. 0. 0.
mass 2 6.24 0. 0. 0. 0. 0.
mass 3 6.24 0. 0. 0. 0. 0.
mass 4 6.24 0. 0. 0. 0. 0.
mass 5 6.24 0. 0. 0. 0. 0.
mass 6 6.24 0. 0. 0. 0. 0.
mass 7 6.24 0. 0. 0. 0. 0.
mass 8 6.24 0. 0. 0. 0. 0.
mass 9 3.33 0. 0. 0. 0. 0.
#Segundo Piso
mass 10 3.75 0. 0. 0. 0. 0.
mass 11 6.66 0. 0. 0. 0. 0.
mass 12 6.66 0. 0. 0. 0. 0.
mass 13 6.66 0. 0. 0. 0. 0.
mass 14 6.66 0. 0. 0. 0. 0.
mass 15 6.66 0. 0. 0. 0. 0.
mass 16 6.66 0. 0. 0. 0. 0.
mass 17 6.66 0. 0. 0. 0. 0.
mass 18 3.75 0. 0. 0. 0. 0.
# Tercer Piso
mass 19 2.88 0. 0. 0. 0. 0.
mass 20 4.91 0. 0. 0. 0. 0.
mass 21 4.91 0. 0. 0. 0. 0.
mass 22 4.91 0. 0. 0. 0. 0.
mass 23 4.91 0. 0. 0. 0. 0.
mass 24 4.91 0. 0. 0. 0. 0.
mass 25 4.91 0. 0. 0. 0. 0.
mass 26 4.91 0. 0. 0. 0. 0.
mass 27 2.88 0. 0. 0. 0. 0.
#Cuarto Piso
mass 28 2.88 0. 0. 0. 0. 0.
mass 29 4.91 0. 0. 0. 0. 0.
mass 30 4.91 0. 0. 0. 0. 0.
mass 31 4.91 0. 0. 0. 0. 0.
mass 32 4.91 0. 0. 0. 0. 0.
mass 33 4.91 0. 0. 0. 0. 0.
mass 34 4.91 0. 0. 0. 0. 0.
mass 35 4.91 0. 0. 0. 0. 0.
mass 36 2.88 0. 0. 0. 0. 0.
#Quinto piso
mass 37 2.88 0. 0. 0. 0. 0.
mass 38 4.91 0. 0. 0. 0. 0.
mass 39 4.91 0. 0. 0.
mass 40 4.91 0. 0. 0. 0. 0.
mass 41 4.91 0. 0. 0. 0. 0.
mass 42 4.91 0. 0. 0. 0. 0.
mass 43 4.91 0. 0. 0. 0. 0.
mass 44 4.91 0. 0. 0. 0. 0.
mass 45 2.88 0. 0. 0. 0. 0.
#Techo
mass 46 2.27 0. 0. 0. 0. 0.
mass 47 4.12 0. 0. 0. 0. 0.
mass 48 4.12 0. 0. 0. 0. 0.
mass 49 4.12 0. 0. 0. 0. 0.
mass 50 4.12 0. 0. 0. 0. 0.
mass 51 4.12 0. 0. 0. 0. 0.
mass 52 4.12 0. 0. 0. 0. 0.
mass 53 4.12 0. 0. 0. 0. 0.
mass 54 2.27 0. 0. 0. 0. 0.
#############################################################################
# define GRAVITY -------------------------------------------------------------
# GRAVITY LOADS # define gravity load applied to beams and columns -- eleLoad applies loads in local coordinate axis
pattern Plain 101 Linear {
#Primer Piso
eleLoad -ele 1101 1102 1103 1104 1105 1106 1107 1108 -type -beamUniform -$QdlBeam1
#Segundo Piso
eleLoad -ele 2101 2102 2103 2104 2105 2106 2107 2108 -type -beamUniform -$QdlBeam2
#Tercer Piso
eleLoad -ele 3101 3102 3103 3104 3105 3106 3107 3108 -type -beamUniform -$QdlBeam3
#Cuarto Piso
eleLoad -ele 4101 4102 4103 4104 4105 4106 4107 4108 -type -beamUniform -$QdlBeam4
#Quinto piso
eleLoad -ele 5101 5102 5103 5104 5105 5106 5107 5108 -type -beamUniform -$QdlBeam5
# Techo
eleLoad -ele 6101 6102 6103 6104 6105 6106 6107 6108 -type -beamUniform -$QdlBeam6
}
# perform eigen analysis
#-----------------------------
set lambda [eigen 4];
# calculate frequencies and periods of the structure
#---------------------------------------------------
set omega {}
set f {}
set T {}
set pi 3.141593
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
puts "periods are $T"
# Gravity-analysis parameters -- load-controlled static analysis
set Tol 1.0e-8; # convergence tolerance for test
variable constraintsTypeGravity Plain; # default;
if { [info exists RigidDiaphragm] == 1} {
if {$RigidDiaphragm=="ON"} {
variable constraintsTypeGravity Lagrange; # large model: try Transformation
}; # if rigid diaphragm is on
}; # if rigid diaphragm exists
constraints $constraintsTypeGravity ; # how it handles boundary conditions
numberer RCM; # 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 (large model: try UmfPack)
test NormDispIncr $Tol 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
set NstepGravity 10; # apply gravity in 10 steps
set DGravity [expr 1./$NstepGravity]; # first load increment;
integrator LoadControl $DGravity; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient
analyze $NstepGravity; # apply gravity
# ------------------------------------------------- maintain constant gravity loads and reset time to zero
loadConst -time 0.0
puts "Model Built"
SteelArea.tcl
######################################################
# Areas de acero en cm para barras de diametro phi en mm
# Debugging Status: ok
#####################################################
set phi8 [expr 0.50*$cm*$cm];
set phi10 [expr 0.79*$cm*$cm];
set phi12 [expr 1.13*$cm*$cm];
set phi16 [expr 2.01*$cm*$cm];
set phi18 [expr 2.54*$cm*$cm];
set phi22 [expr 3.80*$cm*$cm];
set phi25 [expr 4.91*$cm*$cm];
set phi28 [expr 6.16*$cm*$cm];
set phi32 [expr 8.04*$cm*$cm];
set phi36 [expr 10.18*$cm*$cm];
#fin del codigo
Units.tcl
# --------------------------------------------------------------------------------------------------
# LibUnits.tcl -- define system of units// define el sistema de unidades
# Felipe Toledo -- 2012
#Debugging Status: ok
# define UNITS ----------------------------------------------------------------------------
set m 1.; # define basic units -- output units
set tonf 100.; # define basic units -- output units
set sec 1.; # define basic units -- output units
set LunitTXT "m"; # define basic-unit text for output
set FunitTXT "Tonf"; # define basic-unit text for output
set TunitTXT "sec"; # define basic-unit text for output
set cm [expr $m/100.]; # metros
set mm [expr $cm/10.]; # milimetros
set N [expr $tonf/9807]; # Newtons
set MPa [expr $N/($mm*$mm)]; # MegaPascales
set kgf [expr $tonf/1000.]; # kilogramo fuerza
set m2 [expr $m*$m]; # m^2
set m3 [expr $m*$m*$m];
set cm2 [expr $cm*$cm]; # cm^2
set cm4 [expr $cm*$cm*$cm*$cm]; # cm^4
set PI [expr 2*asin(1.0)]; # PI
set g [expr 9.81*$m/($sec*$sec)]; # aceleracion de gravedad
set Ubig 1.e10; # a really large number
set Usmall [expr 1/$Ubig]; # a really small number
LibMaterialsRC.tcl
# General Material parameters
# General Material parameters
set G $Ubig; # make stiff shear modulus
set J 1.0; # torsional section stiffness (G makes GJ large)
set GJ [expr $G*$J];
# -----------------------------------------------------------------------------------------------------# confined and unconfined CONCRETE
# nominal concrete compressive strength
set fc [expr -30*$MPa]; # concrete nominal compressive strength
set Ec [expr 4700.*$MPa*sqrt(-$fc/$MPa)]; # concrete Young's Modulus
set nu 0.2;
set Gc [expr $Ec/2./[expr 1+$nu]]; # Torsional stiffness Modulus
# confined concrete
set Kfc 1.3; # ratio of confined to unconfined concrete strength
set Kres 0.2; # ratio of residual/ultimate to maximum stress
set fc1C [expr $Kfc*$fc]; # CONFINED concrete (mander model), maximum stress
set eps1C [expr 2.*$fc1C/$Ec]; # strain at maximum stress
set fc2C [expr $Kres*$fc1C]; # ultimate stress
set eps2C [expr 20*$eps1C]; # strain at ultimate stress
set lambda 0.1; # ratio between unloading slope at $eps2 and initial slope $Ec
# unconfined concrete
set fc1U $fc; # UNCONFINED concrete (todeschini parabolic model), maximum stress
set eps1U -0.003; # strain at maximum strength of unconfined concrete
set fc2U [expr $Kres*$fc1U]; # ultimate stress
set eps2U -0.01; # strain at ultimate stress
# tensile-strength properties
set ftC [expr -0.14*$fc1C]; # tensile strength +tension
set ftU [expr -0.14*$fc1U]; # tensile strength +tension
set Ets [expr $ftU/0.002]; # tension softening stiffness
# set up library of materials
if { [info exists imat ] != 1} {set imat 0}; # set value only if it has not been defined previously.
set IDconcCore 1
set IDconcCover 2
uniaxialMaterial Concrete02 $IDconcCore $fc1C $eps1C $fc2C $eps2C $lambda $ftC $Ets; # Core concrete (confined)
uniaxialMaterial Concrete02 $IDconcCover $fc1U $eps1U $fc2U $eps2U $lambda $ftU $Ets; # Cover concrete (unconfined)
# -----------------------------------------------------------------------------------------------------# REINFORCING STEEL parameters
#
set Fy [expr 420.*$MPa]; # STEEL yield stress
set Es [expr 200000.*$MPa]; # modulus of steel
set Bs 0.01; # strain-hardening ratio
set R0 18; # control the transition from elastic to plastic branches
set cR1 0.925; # control the transition from elastic to plastic branches
set cR2 0.15; # control the transition from elastic to plastic branches
set IDSteel 3
uniaxialMaterial Steel02 $IDSteel $Fy $Es $Bs $R0 $cR1 $cR2
BuildCretSection.tcl
proc BuildRCrectSection {id HSec BSec coverH coverB coreID coverID steelID numBarsTop barAreaTop numBarsBot barAreaBot numBarsIntTot barAreaInt nfCoreY nfCoreZ nfCoverY nfCoverZ} {
################################################
# BuildRCrectSection $id $HSec $BSec $coverH $coverB $coreID $coverID $steelID $numBarsTop $barAreaTop $numBarsBot $barAreaBot $numBarsIntTot $barAreaInt $nfCoreY $nfCoreZ $nfCoverY $nfCoverZ
################################################
# Build fiber rectangular RC section, 1 steel layer top, 1 bot, 1 skin, confined core
# Define a procedure which generates a rectangular reinforced concrete section
# with one layer of steel at the top & bottom, skin reinforcement and a
# confined core.
# by: Silvia Mazzoni, 2006
# adapted from Michael H. Scott, 2003
#
# Formal arguments
# id - tag for the section that is generated by this procedure
# HSec - depth of section, along local-y axis
# BSec - width of section, along local-z axis
# cH - distance from section boundary to neutral axis of reinforcement
# cB - distance from section boundary to side of reinforcement
# coreID - material tag for the core patch
# coverID - material tag for the cover patches
# steelID - material tag for the reinforcing steel
# numBarsTop - number of reinforcing bars in the top layer
# numBarsBot - number of reinforcing bars in the bottom layer
# numBarsIntTot - TOTAL number of reinforcing bars on the intermediate layers, symmetric about z axis and 2 bars per layer-- needs to be an even integer
# barAreaTop - cross-sectional area of each reinforcing bar in top layer
# barAreaBot - cross-sectional area of each reinforcing bar in bottom layer
# barAreaInt - cross-sectional area of each reinforcing bar in intermediate layer
# nfCoreY - number of fibers in the core patch in the y direction
# nfCoreZ - number of fibers in the core patch in the z direction
# nfCoverY - number of fibers in the cover patches with long sides in the y direction
# nfCoverZ - number of fibers in the cover patches with long sides in the z direction
#
# y
# ^
# |
# --------------------- -- --
# | o o o | | -- coverH
# | | |
# | o o | |
# z <--- | + | HSec
# | o o | |
# | | |
# | o o o o o o | | -- coverH
# --------------------- -- --
# |-------Bsec------|
# |---| coverB |---|
#
# y
# ^
# |
# ---------------------
# |\ cover /|
# | \------Top------/ |
# |c| |c|
# |o| |o|
# z <-----|v| core |v| HSec
# |e| |e|
# |r| |r|
# | /-------Bot------\ |
# |/ cover \|
# ---------------------
# Bsec
#
#
# Notes
# The core concrete ends at the NA of the reinforcement
# The center of the section is at (0,0) in the local axis system
#
set coverY [expr $HSec/2.0]; # The distance from the section z-axis to the edge of the cover concrete -- outer edge of cover concrete
set coverZ [expr $BSec/2.0]; # The distance from the section y-axis to the edge of the cover concrete -- outer edge of cover concrete
set coreY [expr $coverY-$coverH]; # The distance from the section z-axis to the edge of the core concrete -- edge of the core concrete/inner edge of cover concrete
set coreZ [expr $coverZ-$coverB]; # The distance from the section y-axis to the edge of the core concrete -- edge of the core concrete/inner edge of cover concrete
set numBarsInt [expr $numBarsIntTot/2]; # number of intermediate bars per side
# Define the fiber section
section fiberSec $id {
# Define the core patch
patch quadr $coreID $nfCoreZ $nfCoreY -$coreY $coreZ -$coreY -$coreZ $coreY -$coreZ $coreY $coreZ
# Define the four cover patches
patch quadr $coverID 2 $nfCoverY -$coverY $coverZ -$coreY $coreZ $coreY $coreZ $coverY $coverZ
patch quadr $coverID 2 $nfCoverY -$coreY -$coreZ -$coverY -$coverZ $coverY -$coverZ $coreY -$coreZ
patch quadr $coverID $nfCoverZ 2 -$coverY $coverZ -$coverY -$coverZ -$coreY -$coreZ -$coreY $coreZ
patch quadr $coverID $nfCoverZ 2 $coreY $coreZ $coreY -$coreZ $coverY -$coverZ $coverY $coverZ
# define reinforcing layers
layer straight $steelID $numBarsInt $barAreaInt -$coreY $coreZ $coreY $coreZ; # intermediate skin reinf. +z
layer straight $steelID $numBarsInt $barAreaInt -$coreY -$coreZ $coreY -$coreZ; # intermediate skin reinf. -z
layer straight $steelID $numBarsTop $barAreaTop $coreY $coreZ $coreY -$coreZ; # top layer reinfocement
layer straight $steelID $numBarsBot $barAreaBot -$coreY $coreZ -$coreY -$coreZ; # bottom layer reinforcement
}; # end of fibersection definition
}; # end of procedure
Felipe Toledo Jaureguiberry
Estudiante 6to año Ingenieria Civil
Universidad de los Andes Chile
felipe.toledo.j@gmail.com
Estudiante 6to año Ingenieria Civil
Universidad de los Andes Chile
felipe.toledo.j@gmail.com
Re: Problem with the period
The period will really depend on how have you defined the isolators in the two different applications. Run the analysis on the OpenSees model and look at the period during the analysis to see how it changes with increase of displacement of the isolator.
Re: Problem with the period
Dear vesna, am not quite following you, because if deffined the same properties of the isolators when you run a modal analysis. I would expect to have the same periods may vary a little but am having a difference of one second, i tried changing the matterials , masses but still cant get the same period.
please clarify your point.
thanks and sory for the throuble
please clarify your point.
thanks and sory for the throuble
Felipe Toledo Jaureguiberry
Estudiante 6to año Ingenieria Civil
Universidad de los Andes Chile
felipe.toledo.j@gmail.com
Estudiante 6to año Ingenieria Civil
Universidad de los Andes Chile
felipe.toledo.j@gmail.com
Re: Problem with the period
Form your previous post I did not understand that your isolators were modeled the same way in both applications, OpenSees and SAP. If that is the case, I can not help you with your problem. You will have to find the inconsistencies between the two models yourself.
Re: Problem with the period
The periods are different because SAP uses "effective stiffness" to perform eigen analysis while OpenSees will be using your "initial stiffness". Make your "effective stiffness" in SAP = "initial stiffness" in OpenSees and see.
Re: Problem with the period
Thank you, thank you thank you!! you just saved my life.
I did what you told me and i worked.
"effective stiffness" in SAP = "initial stiffness" Open Sees
I did what you told me and i worked.
"effective stiffness" in SAP = "initial stiffness" Open Sees
Felipe Toledo Jaureguiberry
Estudiante 6to año Ingenieria Civil
Universidad de los Andes Chile
felipe.toledo.j@gmail.com
Estudiante 6to año Ingenieria Civil
Universidad de los Andes Chile
felipe.toledo.j@gmail.com
Re: Problem with the period
andreascj wrote:
> The periods are different because SAP uses "effective stiffness"
> to perform eigen analysis while OpenSees will be using your "initial
> stiffness". Make your "effective stiffness" in SAP =
> "initial stiffness" in OpenSees and see.
Just one question, Am ok for modal analysis.
But what happens when i perform a time history analysis, should i keep the same effective stiffnesn as the Kinitial of the isolator , or stablish the the Kinitial of the isolator that i have in SAP
> The periods are different because SAP uses "effective stiffness"
> to perform eigen analysis while OpenSees will be using your "initial
> stiffness". Make your "effective stiffness" in SAP =
> "initial stiffness" in OpenSees and see.
Just one question, Am ok for modal analysis.
But what happens when i perform a time history analysis, should i keep the same effective stiffnesn as the Kinitial of the isolator , or stablish the the Kinitial of the isolator that i have in SAP
Felipe Toledo Jaureguiberry
Estudiante 6to año Ingenieria Civil
Universidad de los Andes Chile
felipe.toledo.j@gmail.com
Estudiante 6to año Ingenieria Civil
Universidad de los Andes Chile
felipe.toledo.j@gmail.com
Re: Problem with the period
If you would like to model isolators with bilinear model for time history analysis then use K initial and K post-elastic don't use K effective.
Re: Problem with the period
Thanks that's what i thougth.
Felipe Toledo Jaureguiberry
Estudiante 6to año Ingenieria Civil
Universidad de los Andes Chile
felipe.toledo.j@gmail.com
Estudiante 6to año Ingenieria Civil
Universidad de los Andes Chile
felipe.toledo.j@gmail.com