#--Example # 1 - "A shear wall supported by a strip footing"
#--Written by Prishati Raychowdhury (UCSD)
#--units: N,m
wipe
wipeAnalysis
# Create ModelBuilder
model BasicBuilder -ndm 2 -ndf 3
# Set wall and footing dimensions
set LengthWall 0.5;
set WidthWall 0.2;
set HeightWall 5.0;
# Set structural nodes
node 1 0. 0.
node 2 0. $HeightWall
# set wall properties
set AWall [expr $WidthWall*$LengthWall]
set EWall [expr 2.15*pow(10,10)]; #----[N/m^2] concrete
set IWall [expr $WidthWall*pow($LengthWall,3)/12.]
# set wall material
uniaxialMaterial Elastic 1 $EWall
# set geometric transformation
geomTransf Linear 1
# set wall element
#element elasticBeamColumn $eleTag $iNode $jNode $A $E $Iz $transfTag
element elasticBeamColumn 1 1 2 $AWall $EWall $IWall 1
# set wall mass
set MWall 1200.0; #---mass of structure (kg)
mass 2 $MWall $MWall 1
#
#
#-------------------------------------------------
# Use ShallowFoundationGen command to
# attach shallow foundation with Foundation tag=1
# at node 1
#--------------------------------------------------
#
#ShallowFoundationGen $FoundationTag $ConectNode $InputFileName $FootCondition
ShallowFoundationGen 1 1 "Input1.txt" 5
source Foundation_$FoundationTag.tcl
set MassFooting 1200.0
mass 1 $MassFooting $MassFooting 1
#-------------------------------
# Eigen Value Analysis
#-------------------------------
set PI 3.1415926
set lambdax [eigen 1]
set lambda [lindex $lambdax 0]
set omega [expr pow($lambda,0.5)]
set Tn [expr 2*$PI/$omega]
set fn [expr 1/$Tn]
puts "1st mode, Tn=$Tn sec, fn=$fn Hz"
#-------------------------------
# Recorder
#-------------------------------
###-wall
recorder Node -time -file WallRoofdisp.dat -node 2 -dof 1 disp
recorder Element -file WallElementforce.dat -time -ele 1 localForce
###-Spring
recorder Node -time -file EndSprLdisp.dat -node $endFootNodeL_1 -dof 1 2 3 disp
recorder Element -file EndSpringLforce.dat -time -ele $endSprEleL_1 force
#-----------------------
# Gravity LOAD PATTERNS
#-----------------------
set gacc 9.87
set FSv 5.0
set deadLoad [expr ($MassFooting+$MWall)*$gacc*$FSv]; #---total gravity load on footing (footing+wall)
#puts $deadLoad
pattern Plain 1 "Linear" {
load 2 0. [expr -$deadLoad] 0.
}
#--------------------
# gravity analysis
#--------------------
system UmfPack
constraints Plain
test NormDispIncr 1.0e-8 40 0
algorithm Newton
numberer RCM
integrator LoadControl 0.1
analysis Static
analyze 10; #use 10 analysis steps
#--------------------
# Pushover analysis
#--------------------
#loadConst
loadConst -time 0.0
#----------------------------------------------------
# Start of Load Control
#----------------------------------------------------
pattern Plain 2 "Linear" {
load 2 -10.0 0.0 0.
}
analyze 100
##----------------------------------------------------
## End of Load Control
##----------------------------------------------------
#----------------------------------------------------
# Start of Displacement Control
#----------------------------------------------------
#Set some parameters
set dU -0.005; # Displacement increment
##integrator DisplacementControl node dof init Jd min max
integrator DisplacementControl 2 1 $dU 3 [expr $dU/2.0] $dU
analyze 300
#set dU 0.005; # Displacement increment
###integrator DisplacementControl node dof init Jd min max
#integrator DisplacementControl 2 1 $dU 3 [expr $dU/2.0] $dU
#analyze 200
#----------------------------------------------------
# End of Displacement Control
#----------------------------------------------------