WARNING insufficient arguments (with geomTransf function)

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
gookki
Posts: 6
Joined: Thu Aug 27, 2020 8:05 pm

WARNING insufficient arguments (with geomTransf function)

Post by gookki » Thu Mar 04, 2021 2:21 am

I have warning message
WARNING insufficient arguments - want: geomTransf type? tag? vecxzPlaneX? vecxzPlaneY? vecxzPlaneZ? <-jntOffset dXi? dYi? dZi? dXj? dYj? dZj? >
how can I fix it?

here is the code with error

Code: Select all

# --------------------------------------------------------------------------------------------------

# SET UP ----------------------------------------------------------------------------
wipe;               # clear memory of all past model definitions
model BasicBuilder -ndm 3 -ndf 6;   # Define the model builder, ndm=#dimension, ndf=#dofs
set dataDir Data;          # set up name of data directory (you can remove this)
file mkdir $dataDir;            # create data directory
set GMdir "../GMfiles/";      # ground-motion file directory
# set ViewScale 0.25;
source LibUnits_SI.tcl;         # define units
# source BuildRCrectSection.tcl;      # procedure for definining RC fiber section
# source DisplayPlane.tcl;        # procedure for displaying a plane in model
# source DisplayModel3D.tcl;      # procedure for displaying 2D perspective of model

# define GEOMETRY -------------------------------------------------------------
# define structure-geometry paramters
set LCol [expr 3.300*$m];   # column height
set LBeam [expr 4.500*$m];  # beam length
set LGird1 [expr 7.500*$m];  # girder length(class room)
set LGird2 [expr 2.700*$m];  # girder length(hallway)

# frame configuration
# Set up parameters that are particular to the model for displacement control
# set IDctrlNode 141;     # node where displacement is read for displacement control
# set IDctrlDOF 1;        # degree of freedom of displacement read for displacement control
set NStory 5;       # number of stories above ground level
set NBayX 11;        # number of bays (16 for both building between EJ)
set NBayY 2;
# set LBuilding [expr $LCol*$Nstory];      # total building height
puts "Number of Stories in Z: $NStory; Number of bays in X: $NBayX; Number of bays in Y: $NBayY"

# # calculate locations of beam/column intersections:
# set X1 0.;
# set X2 [expr $X1 + $LBeam];
# set X3 [expr $X2 + $LBeam];
# set X4 [expr $X3 + $LBeam];
# set X5 [expr $X4 + $LBeam];
# set X6 [expr $X5 + $LBeam];
# set X7 [expr $X6 + $LBeam];
# set X8 [expr $X7 + $LBeam];
# set X9 [expr $X8 + $LBeam];
# set X10 [expr $X9 + $LBeam];
# set X11 [expr $X10 + $LBeam];       
# set X12 [expr $X11 + $LBeam];
# #set X13 [expr $X12 + $LBeam];  # left side of EJ(Expansion Joint)
# #set X14 [expr $X13 + $LBeam];
# #set X15 [expr $X14 + $LBeam];
# #set X16 [expr $X15 + $LBeam];
# #set X17 [expr $X16 + $LBeam];
# set Y1 0.;
# set Y2 [expr $Y1 + $LGird1];
# set Y3 [expr $Y2 + $LGird2];
# set Z1 0.;
# set Z2 [expr $Z1 + Lcol];
# set Z3 [expr $Z2 + Lcol];
# set Z4 [expr $Z3 + Lcol];


# define node of frame
source Nodes.tcl


# BOUNDARY CONDITIONS
fixZ 0.0    1 1 1 1 1 1; # fix all Z=0.0 nodes

# rigid diaphragm nodes
source rigid_Diaphragm.tcl


# Define SECTIONS -------------------------------------------------------------
# Column


# 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 
set BeamTransfType Linear;


################# I got error message in here##############
geomTransf $ColTransfType $IDColTransf  ;   # only columns can have PDelta effects (gravity effects)
geomTransf $BeamTransfType $IDBeamTransf;
################# I got error message in here##############

# define element of frame
source element_col.tcl     

source Element_X_y2.tcl
source Element_X_y3.tcl
source Strut_X_y1.tcl
source Strut_X_y3.tcl


 # Define DISPLAY -------------------------------------------------------------
 DisplayModel2D NodeNumbers

# puts "Do you wish to continue y/n ?"; # include if want to pause at analysis failure
# gets stdin ans; # not recommended in parameter study

    
# 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 23540*$N/pow($m,3)];        # Reinforced-Concrete floor slabs
set Tslab [expr 0.130*$m];
set Lslab $LBeam;
set Hslab1 [expr 3.75*$m];  # y1 line slab width
set Hslab2 [expr 3.75*$m+1.35*$m];  # y2 line slab width
set Hslab3 [expr 1.35*$m];  # y3 line slab width
set Qslab1 [expr $GammaConcrete*$Tslab*$Hslab1*$N/$m];
set Qslab2 [expr $GammaConcrete*$Tslab*$Hslab2*$N/$m];
set Qslab3 [expr $GammaConcrete*$Tslab*$Hslab3*$N/$m];    
set QBeam [expr $GammaConcrete*$HBeam*$BBeam*$N/$m];     # weight per length for Beam
set Tstrut [expr 0.200*$m];
set Qstrut1 [expr $GammaConcrete*$Tstrut*$Y1_strut*$N/$m];     # weight per length for masonry wall Y1
set Qstrut3 [expr $GammaConcrete*$Tstrut*$Y1_strut2*$N/$m];    # weight per length for masonry wall Y3
set QdlBeam1 [expr $Qslab1 + $QBeam + $Qstrut1];     # dead load distributed along beam.
set QdlBeam2 [expr $Qslab2 + $QBeam];
set QdlBeam3 [expr $Qslab3 + $QBeam + $Qstrut3];
set QdlCol1 [expr $GammaConcrete*$HCol_X_y1*$BCol_X_y1*$N/$m];     # weight per length for C1
set QdlCol2 [expr $GammaConcrete*$HCol_X_y2*$BCol_X_y2*$N/$m];
set QdlCol3 [expr $GammaConcrete*$HCol_X_y3*$BCol_X_y3*$N/$m];
set WeightCol1 [expr $QdlCol1*$LCol];         # total Column weight
set WeightCol2 [expr $QdlCol2*$LCol];
set WeightCol3 [expr $QdlCol3*$LCol];
set WeightBeam1 [expr $QdlBeam1*$LBeam];  # total Beam weight
set WeightBeam2 [expr $QdlBeam2*$LBeam];
set WeightBeam3 [expr $QdlBeam3*$LBeam];

set Weighty1y2end [expr $GammaConcrete*0.400*3.3*7.5*$N/$m];  # Masonry Wall Y1Y2 line End (col #1212 1312 1412 2212 2312 2412 - 1/2 of weight loaded)
set Weighty2y3end [expr $GammaConcrete*0.400*3.3*2.7*$N/$m];  # Masonry Wall Y2Y3 line End (2212 2312 2412 3212 3312 3412)
set Weighty1y2class [expr $GammaConcrete*0.200*3.3*7.5*$N/$m];  # Masonry Wall Y1Y2 line Class (121 122 124 126 128 1210 1211 131 132 134 136 138 1310 1311 141 142 144 146 148 1410 1411 221...)

# 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 121 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;          # level 2
mass 122 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 123 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 124 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 125 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 126 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 127 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 128 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 129 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 1210 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 1211 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 1212 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$Weighty1y2end/2)/$g] 0. 0.;
mass 131 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;          # level 3
mass 132 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 133 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 134 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 135 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 136 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 137 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 138 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 139 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 1310 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 1311 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 1312 [expr ($WeightCol1/2 + $WeightCol1/2 +$WeightBeam1/2 +$Weighty1y2end/2)/$g] 0. 0.;
mass 141 [expr ($WeightCol1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;                 # level 4
mass 142 [expr ($WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 143 [expr ($WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 144 [expr ($WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 145 [expr ($WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 146 [expr ($WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 147 [expr ($WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 148 [expr ($WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 149 [expr ($WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2)/$g] 0. 0.;
mass 1410 [expr ($WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 1411 [expr ($WeightCol1/2 +$WeightBeam1/2 +$WeightBeam1/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 1412 [expr ($WeightCol1/2 +$WeightBeam1/2 +$Weighty1y2end/2)/$g] 0. 0.;

mass 221 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;          # level 2
mass 222 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 223 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 224 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 225 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 226 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 227 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 228 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 229 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 2210 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 2211 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 2212 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$Weighty1y2end/2 +$Weighty2y3end/2)/$g] 0. 0.;
mass 231 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;          # level 3
mass 232 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 233 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 234 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 235 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 236 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 237 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 238 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 239 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 2310 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 2311 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 2312 [expr ($WeightCol2/2 + $WeightCol2/2 +$WeightBeam2/2 +$Weighty1y2end/2 +$Weighty2y3end/2)/$g] 0. 0.;
mass 241 [expr ($WeightCol2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;                 # level 4
mass 242 [expr ($WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 243 [expr ($WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 244 [expr ($WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 245 [expr ($WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 246 [expr ($WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 247 [expr ($WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 248 [expr ($WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 249 [expr ($WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2)/$g] 0. 0.;
mass 2410 [expr ($WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 2411 [expr ($WeightCol2/2 +$WeightBeam2/2 +$WeightBeam2/2 +$Weighty1y2class/2)/$g] 0. 0.;
mass 2412 [expr ($WeightCol2/2 +$WeightBeam2/2 +$Weighty1y2end/2 +$Weighty2y3end/2)/$g] 0. 0.;

mass 321 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2)/$g] 0. 0.;          # level 2
mass 322 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 323 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 324 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 325 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 326 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 327 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 328 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 329 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 3210 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 3211 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 3212 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$Weighty2y3end/2)/$g] 0. 0.;
mass 331 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2)/$g] 0. 0.;          # level 3
mass 332 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 333 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 334 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 335 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 336 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 337 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 338 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 339 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 3310 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 3311 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 3312 [expr ($WeightCol3/2 + $WeightCol3/2 +$WeightBeam3/2 +$Weighty2y3end/2)/$g] 0. 0.;
mass 341 [expr ($WeightCol3/2 +$WeightBeam3/2)/$g] 0. 0.;                 # level 4
mass 342 [expr ($WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 343 [expr ($WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 344 [expr ($WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 345 [expr ($WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 346 [expr ($WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 347 [expr ($WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 348 [expr ($WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 349 [expr ($WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 3410 [expr ($WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 3411 [expr ($WeightCol3/2 +$WeightBeam3/2 +$WeightBeam3/2)/$g] 0. 0.;
mass 3412 [expr ($WeightCol3/2 +$WeightBeam3/2 +$Weighty2y3end/2)/$g] 0. 0.;

# calculate total Floor Mass
set WeightFloor2 [expr $WeightCol1*12/2+$WeightCol1*12/2+11*$WeightBeam1 + $WeightCol2*12/2+$WeightCol2*12/2+11*$WeightBeam2 + $WeightCol3*12/2+$WeightCol3*12/2+11*$WeightBeam3 + $Weighty1y2end + $Weighty2y3end + $Weighty1y2class*7];         # level 2 weight for 3 Line
set WeightFloor3 [expr $WeightCol1*12/2+$WeightCol1*12/2+11*$WeightBeam1 + $WeightCol2*12/2+$WeightCol2*12/2+11*$WeightBeam2 + $WeightCol3*12/2+$WeightCol3*12/2+11*$WeightBeam3 + $Weighty1y2end + $Weighty2y3end + $Weighty1y2class*7];
set WeightFloor4 [expr $WeightCol1*12/2+11*$WeightBeam1 + $WeightCol2*12/2+11*$WeightBeam2 + $WeightCol3*12/2+11*$WeightBeam3 + $Weighty1y2end + $Weighty2y3end + $Weighty1y2class*7];
set WeightTotal [expr $WeightFloor2 + $WeightFloor3 + $WeightFloor4];           # total frame weight
set MassFloor2 [expr $WeightFloor2/$g];
set MassFloor3 [expr $WeightFloor3/$g];
set MassFloor4 [expr $WeightFloor4/$g];
set MassTotal [expr $MassFloor2+$MassFloor3+$MassFloor4];               # total frame mass
puts "Weight of 1 column1: $WeightCol1"
puts "Weight of 1 column2: $WeightCol2"
puts "Weight of 1 column3: $WeightCol3"
puts "Weight of 1 beam1: $WeightBeam1"
puts "Weight of 1 beam2: $WeightBeam2"
puts "Weight of 1 beam3: $WeightBeam3"
puts "Total 2F: $WeightFloor2"
puts "Total 3F: $WeightFloor3"
puts "Total Roof: $WeightFloor4"
puts "Total Weight: $WeightTotal"
puts "Total Mass: $MassTotal"

# LATERAL-LOAD distribution for static pushover analysis
# calculate distribution of lateral load based on mass/weight distributions along building height
# Fj = WjHj/sum(WiHi)  * Weight   at each floor j
set sumWiHi [expr $WeightFloor2*$Y2 + $WeightFloor3*$Y3 + $WeightFloor4*$Y4];   # denominator
set Fj2 [expr $WeightFloor2*$Y2/$sumWiHi*$WeightTotal];     # total for floor 2
set Fj3 [expr $WeightFloor3*$Y3/$sumWiHi*$WeightTotal];     # total for floor 3
set Fj4 [expr $WeightFloor4*$Y4/$sumWiHi*$WeightTotal];     # total for floor 4
set Fi2 [expr $Fj2/12];         # per node on floor 2
set Fi3 [expr $Fj3/12];         # per node on floor 3
set Fi4 [expr $Fj4/12];         # per node on floor 4
set iFi "$Fi2 $Fi3 $Fi4";           # vectorize
puts "Lateral Load per node on floors: $iFi";

# Define RECORDERS -------------------------------------------------------------
recorder Node -file $dataDir/DFree.out -time -node 1113 -dof 1 2 disp;          # displacements of free node
# recorder Node -file $dataDir/DBase.out -time -node 11 12 13 14 -dof 1 2 3 disp;       # displacements of support nodes
recorder Node -file $dataDir/RBase1.out -time -node 111 112 113 114 115 116 117 118 119 1110 1111 1112 -dof 1 2 3 reaction;       # support reaction
recorder Node -file $dataDir/RBase2.out -time -node 211 212 213 214 215 216 217 218 219 2110 2111 2112 -dof 1 2 3 reaction;       # support reaction
recorder Node -file $dataDir/RBase3.out -time -node 311 312 313 314 315 316 317 318 319 3110 3111 3112 -dof 1 2 3 reaction;       # support reaction
# recorder Node -file $dataDir/Node1.out -time -node 111 112 113 114 115 116 117 118 119 1110 1111 1112 121 122 123 124 125 126 127 128 129 1210 1211 1212 131 132 133 134 135 136 137 138 139 1310 1311 1312 141 142 143 144 145 146 147 148 149 1410 1411 1412 -dof 1 reaction;
recorder Drift -file $dataDir/LateralDrift.out -time -iNode 111 -jNode 141 -dof 1 -perpDirn 2;      # lateral drift
recorder Element -file $dataDir/GlobalForce1.out -time -ele 1101 1102 1103 1104 1105 1106 1107 1108 1109 11010 111011 11012 globalForce;                         # element forces in global coordinates
recorder Element -file $dataDir/GlobalForce2.out -time -ele 1201 globalForce;                         # element forces in global coordinates
recorder Element -file $dataDir/GlobalForce3.out -time -ele 1301 globalForce;                         # element forces in global coordinates
# recorder Element -file $dataDir/Fel1.out -time -ele 111 localForce;               # element forces in local coordinates
recorder Element -file $dataDir/ForceEle1sec1.out -time -ele 1101 section 1 force;         # section forces, axial and moment, node i
# recorder Element -file $dataDir/DefoEle1sec1.out -time -ele 10101 local deformation;          # section deformations, axial and curvature, node i
recorder Element -file $dataDir/ForceEle1sec5.out -time -ele 1101 section 5 force;           # section forces, axial and moment, node j
# recorder Element -file $dataDir/DefoEle1sec5.out -time -ele 10101 section 5 deformation;      # section deformations, axial and curvature, node j
# recorder Element -file $dataDir/SSEle1sec1.out -time -ele 111 section $np fiber 0 0 $IDSteel  stressStrain;   # steel fiber stress-strain, node i

# define GRAVITY -------------------------------------------------------------
# GRAVITY LOADS # define gravity load applied to beams and columns -- eleLoad applies loads in local coordinate axis
pattern Plain 1 Constant {
   eleLoad -ele 12001 12002 12003 12004 12005 12006 12007 12008 12009 120010 120011 -type -beamUniform -$QdlBeam1; # beams level 2 (in -ydirection)
   eleLoad -ele 13001 13002 13003 13004 13005 13006 13007 13008 13009 130010 130011 -type -beamUniform -$QdlBeam1; 
   eleLoad -ele 14001 14002 14003 14004 14005 14006 14007 14008 14009 140010 140011  -type -beamUniform -$QdlBeam1;
   eleLoad -ele 1101 1102 1103 1104 1105 1106 1107 1108 1109 11010 11011 11012 -type -beamUniform 0 -$QdlCol1; # columns level 1-2 (in -xdirection)
   eleLoad -ele 1201 1202 1203 1204 1205 1206 1207 1208 1209 12010 12011 12012 -type -beamUniform 0 -$QdlCol1; 
   eleLoad -ele 1301 1302 1303 1304 1305 1306 1307 1308 1309 13010 13011 13012 -type -beamUniform 0 -$QdlCol1;

   eleLoad -ele 22001 22002 22003 22004 22005 22006 22007 22008 22009 220010 220011 -type -beamUniform -$QdlBeam2; # beams level 2 (in -ydirection)
   eleLoad -ele 23001 23002 23003 23004 23005 23006 23007 23008 23009 230010 230011 -type -beamUniform -$QdlBeam2; 
   eleLoad -ele 24001 24002 24003 24004 24005 24006 24007 24008 24009 240010 240011 -type -beamUniform -$QdlBeam2;
   eleLoad -ele 2101 2102 2103 2104 2105 2106 2107 2108 2109 21010 21011 21012 -type -beamUniform 0 -$QdlCol2; # columns level 1-2 (in -xdirection)
   eleLoad -ele 2201 2202 2203 2204 2205 2206 2207 2208 2209 22010 22011 22012 -type -beamUniform 0 -$QdlCol2; 
   eleLoad -ele 2301 2302 2303 2304 2305 2306 2307 2308 2309 23010 23011 23012 -type -beamUniform 0 -$QdlCol2; 

   eleLoad -ele 32001 32002 32003 32004 32005 32006 32007 32008 32009 320010 320011 -type -beamUniform -$QdlBeam3; # beams level 2 (in -ydirection)
   eleLoad -ele 33001 33002 33003 33004 33005 33006 33007 33008 33009 330010 330011 -type -beamUniform -$QdlBeam3; 
   eleLoad -ele 34001 34002 34003 34004 34005 34006 34007 34008 34009 340010 340011 -type -beamUniform -$QdlBeam3;
   eleLoad -ele 3101 3102 3103 3104 3105 3106 3107 3108 3109 31010 31011 31012 -type -beamUniform 0 -$QdlCol3; # columns level 1-2 (in -xdirection)
   eleLoad -ele 3201 3202 3203 3204 3205 3206 3207 3208 3209 32010 32011 32012 -type -beamUniform 0 -$QdlCol3; 
   eleLoad -ele 3301 3302 3303 3304 3305 3306 3307 3308 3309 33010 33011 33012 -type -beamUniform 0 -$QdlCol3; 
}


source Gravity_anal.tcl


source Pushover_anal.tcl


# #============================================IDA=====================================================

# source IDA_Parameter.tcl

# # set ieq 1
# #---------------Set parameters for ground motion---------------
# # set array (earthquake ID, total number of points, time step)
# set para(1,1) 11; set para(1,2) 5435; set para(1,3) 0.01;    
# set para(2,1) 12; set para(2,2) 8000; set para(2,3) 0.005; 
# set para(3,1) 13; set para(3,2) 9041; set para(3,3) 0.005; 
# set para(4,1) 14; set para(4,2) 6181; set para(4,3) 0.01; 
# set para(5,1) 15; set para(5,2) 3697; set para(5,3) 0.01; 
# set para(6,1) 16; set para(6,2) 2857; set para(6,3) 0.01; 
# set para(7,1) 17; set para(7,2) 8000; set para(7,3) 0.005; 
# set para(8,1) 18; set para(8,2) 1050; set para(8,3) 0.02; 
# set para(9,1) 19; set para(9,2) 6382; set para(9,3) 0.01; 
# set para(10,1) 20; set para(10,2) 2453; set para(10,3) 0.01; 
# set para(11,1) 21; set para(11,2) 8512; set para(11,3) 0.0029; 
# set para(12,1) 22; set para(12,2) 11824; set para(12,3) 0.0029; 
# set para(13,1) 23; set para(13,2) 12816; set para(13,3) 0.0029; 
# set para(14,1) 24; set para(14,2) 16392; set para(14,3) 0.0024; 
# set para(15,1) 25; set para(15,2) 15028; set para(15,3) 0.0029; 
# set para(16,1) 26; set para(16,2) 5999; set para(16,3) 0.01; 
# set para(17,1) 27; set para(17,2) 6499; set para(17,3) 0.01; 
# set para(18,1) 28; set para(18,2) 5999; set para(18,3) 0.01; 
# set para(19,1) 29; set para(19,2) 5673; set para(19,3) 0.005; 
# set para(20,1) 30; set para(20,2) 5673; set para(20,3) 0.005; 

# #========================================earthquake load input=========================================

# # set  g 980.6 ;                         # Gravitational constant (cm/sec^2)  already annouced in LibUnits_SI.tcl
# # set  sf 0.548 ;                        # Scale factor for ground motion

# set accelSeries "Path -filePath peer_$para($ieq,1).txt -dt $para($ieq,3) -factor [expr $inc]"

# # Define the ground motion excitation using Tabas fault parallel and fault normal records
# #                     patternTag dir         accel series args
# pattern UniformExcitation  3     1   -accel $accelSeries


# # recorder Node -file nodedisp_$para($ieq,1).out -time -node 121 131 141 -dof 1 disp
# recorder Node -file nodedisp_$ieq.out -time -node 121 131 141 -dof 1 disp


# source Dynamic_anal.tcl

# ################################################
#  # get damping coefficient
# # define damping coeffieicnt
# set damping 0.05
# proc getDampingConst { damping } {
#     set eigs [eigen 3]
#     puts $eigs
#     set w1 [expr sqrt([lindex $eigs 0])]
#    puts $w1
#     set w2 [expr sqrt([lindex $eigs 1])]
#    puts $w2
#     set a0 [expr $damping*2.0*$w1*$w2/($w1+$w2)]
#     set a1 [expr $damping*2.0/($w1+$w2)]
#     set rtn [list $a0 $a1 ]
#     return $rtn
# }

# set alpha [getDampingConst $damping]
# set alpha_m   [lindex $alpha 0]
# set alpha_k1  [lindex $alpha 1]


# rayleigh $alpha_m  0.0  $alpha_k1  0.0

# set xDamp 0.05;   # damping ratio (0.02-0.05-typical)

# set lambda [eigen 1]

# set omega [expr pow($lambda,0.5)]

# set Tperiod [expr 2*$PI/$omega];  # period (sec.)

# puts $Tperiod

# puts $PI



mhscott
Posts: 872
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: WARNING insufficient arguments (with geomTransf function)

Post by mhscott » Thu Mar 04, 2021 6:30 am

For 3D models, you have to specify a vector in the x-z plane.

https://youtu.be/1IMasmvlVwc

Post Reply