Anoterh Question: How to apply ground motion to several supp

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

Moderators: silvia, selimgunay, Moderators

Post Reply
cctvcctv
Posts: 48
Joined: Mon Apr 04, 2005 9:45 pm
Location: UC Irvine-Utah State University

Anoterh Question: How to apply ground motion to several supp

Post by cctvcctv » Fri Jun 03, 2005 10:09 pm

Anoterh Question: How to apply ground motion to several supports, such as to the bases of different piers of bridge?

Thanks!

silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia » Sat Jun 04, 2005 5:47 am

here is an example of that, you can only impose displacement, though:
set GroundFile "H-e12140" ; # ground-motion filenames
# read a PEER strong motion database file, extracts dt from the header and converts the file
# to the format OpenSees expects for Unifform ground motions
set outFile $GMdir$GroundFile.acc; # set variable holding new filename (PEER files have .at2 extension)


set inFile $GMdir$GroundFile.dt2
ReadSMDFile $inFile $outFile dt; # call procedure to convert the ground-motion file
set GMscale [expr $cm*$GMfact]; # data in input file is in cm Unifts -- DISPLACEMENT TH
set dispSeries "Series -dt $dt -filePath $outFile -factor $GMscale"; # time series information
pattern MultipleSupport $IDloadTagA {
set IDgm 100
groundMotion $IDgm Plain -disp $dispSeries
foreach SupNode $iSupNode {
imposedSupportMotion $SupNode $IDdofA $IDgm
}
}; # end pattern
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104

cctvcctv
Posts: 48
Joined: Mon Apr 04, 2005 9:45 pm
Location: UC Irvine-Utah State University

Post by cctvcctv » Sat Jun 04, 2005 12:47 pm

thanks!

and how to analyze the mutli-supports?

constraint plain is not suitable?
so...

thanks!

silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia » Sun Jun 05, 2005 7:40 am

here is the rest:
# determine DAMPING parameters from $xDamp --SDOF system, we already have calculated omega
set xDamp 0.02; # modal damping ratio
set alphaM 0; # stiffness-prop. RAYLEIGH damping parameter; D = alphaM*M
set betaK 0; # stiffness proportional damping; +beatK*KCurrent
set betaKcomm [expr 2.*$xDamp/$omega]; # mass-prop. RAYLEIGH damping parameter; +betaKcomm*KlastCommitt
set betaKinit 0; # initial-stiffness proportional damping +beatKinit*Kini
puts betaKcomm$betaKcomm
rayleigh $alphaM $betaK $betaKinit $betaKcomm


# create the analysis
wipeAnalysis
constraints Transformation
numberer Plain
system SparseGeneral -piv; # Create the system of equation storage and solver
test NormDispIncr 1.0e-8 10
algorithm Newton
integrator Newmark 0.5 0.25
analysis Transient
set Nsteps [expr int($TmaxGround/$DtAnalysis)];
set ok [analyze $Nsteps $DtAnalysis]
# if analysis fails, we try some other stuff, performance is slower inside this loop
if {$ok != 0} {
source LibConvergeTime.tcl
}

set endTime [getTime]
puts doneGroundMotion...endTime$endTime
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104

cctvcctv
Posts: 48
Joined: Mon Apr 04, 2005 9:45 pm
Location: UC Irvine-Utah State University

Post by cctvcctv » Mon Jun 06, 2005 12:18 am

Thank you!

and where can I find LibConvergeTime.tcl
?

silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia » Mon Jun 06, 2005 3:11 am

here is what I have:

LibConvergeTime.tcl
# convergeTime.tcl
# ---------------------------------------------------------------------------- set up convergence
# Silvia Mazzoni, FMK, 10 May 2004
# run different analyses to find convergence for Time-driven analysis



# if analysis fails, we try some other stuff
# performance is slower inside this loop
set ok 0;

set maxT $TmaxGround
set controlTime [getTime];


test NormDispIncr 1.0e-8 20 0
while {$controlTime < $maxT && $ok == 0} {
set ok [analyze 1 $DtAnalysis]
set controlTime [getTime]

if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr 1.0e-8 1000 1
algorithm Newton -initial
set ok [analyze 1 $DtAnalysis]
test NormDispIncr 1.0e-8 20 0
algorithm Newton
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 $DtAnalysis]
algorithm Newton
}

if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch .8
set ok [analyze 1 $DtAnalysis]
algorithm Newton
}

}
# -------------------------------------------------------------------------------------------------------------------- end of CONVERGENCE
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104

Post Reply