Hi am defining a beam section using the following command. The problem with this is that it sets the beam with the same steel top and bottom, and i want to set different at top and at bottom.
How can i do this?
set EIBeam [expr $Ec*$IzBeam]; # EI, for moment-curvature relationship
set EABeam [expr $Ec*$ABeam]; # EA, for axial-force-strain relationship
set MyBeam [expr 47*$tonf*$m]; # yield moment
set PhiYBeam [expr 0.0036/$m]; # yield curvature
set PhiYBeam [expr $MyBeam/$EIBeam]; # yield curvature
set EIBeamCrack [expr $MyBeam/$PhiYBeam]; # cracked section inertia
set b 0.01 ; # strain-hardening ratio (ratio between post-yield tangent and initial elastic tangent)
uniaxialMaterial Steel01 $BeamMatTagFlex2 $MyBeam $EIBeamCrack $b; # bilinear behavior for flexure
uniaxialMaterial Elastic $BeamMatTagAxial2 $EABeam; # this is not used as a material, this is an axial-force-strain response
section Aggregator $BeamSecTag2 $BeamMatTagAxial2 P $BeamMatTagFlex2 Mz; # combine axial and flexural behavior into one section (no P-M interaction here)
Beams Materials
Moderators: silvia, selimgunay, Moderators
Beams Materials
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: Beams Materials
use a fiber section. here is a simple example.
http://opensees.berkeley.edu/wiki/index ... re_Example
http://opensees.berkeley.edu/wiki/index ... re_Example
Re: Beams Materials
Forgot to mention am coming from there cause my model modeled as fiber has convergence problem for some seismic records that am scalling, thats why i wanted to go one step back and specify the capcacities.
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: Beams Materials
doesn't change my answer! did you write scripts to deal with failure of the analysis? what material did you use to model the steel??
Re: Beams Materials
When i used the fiber model this is the model i used for the steel and after that the analysis script am using
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 20; # 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 1
uniaxialMaterial Steel02 $IDSteel $Fy $Es $Bs $R0 $cR1 $cR2 0 1 0 1 0
this is my analysis script
# --------------------------------------------------------------------------------------------------
# Uniform EQ ground motion
# execute this file after you have built the model, and after you apply gravity
#
# Uniform Earthquake ground motion (uniform acceleration input at all support nodes)
set GMdirection 1; # ground-motion direction
set GMfile "CC1" ; # ground-motion filenames
set GMfact 1; # ground-motion scaling factor
set dt 0.005;
puts "Ejecutando: $GMfile"
puts "Guardando en $sismoDir"
puts "Sismo escalado a: $GMfact"
# display deformed shape:
set ViewScale 5; # amplify display of deformed shape
DisplayModel2D NodeNumbers $ViewScale 750 10 700 350 ; # display deformed shape, the scaling factor needs to be adjusted for each model
DisplayModel2D DeformedShape $ViewScale 10 400 700 350; # display deformed shape, the scaling factor needs to be adjusted for each model
DisplayModel2D ModeShape $ViewScale 750 400 700 350 ; # display deformed shape, the scaling factor needs to be adjusted for each model
#recorder plot $dataDir/Dfree.out Displacements 400 10 600 600 -columns 1 2; # a window to plot the nodal displacements versus time
# set up ground-motion-analysis parameters
set DtAnalysis [expr 0.1*$sec]; # time-step Dt for lateral analysis
set TmaxAnalysis [expr 100.*$sec]; # maximum duration of ground-motion analysis -- should be 50*$sec
# ------------ define & apply damping
# RAYLEIGH damping parameters, Where to put M/K-prop damping, switches (http://opensees.berkeley.edu/OpenSees/m ... l/1099.htm)
# D=$alphaM*M + $betaKcurr*Kcurrent + $betaKcomm*KlastCommit + $beatKinit*$Kinitial
set xDamp 0.02; # damping ratio
set MpropSwitch 1.0;
set KcurrSwitch 0.0;
set KcommSwitch 0.0;
set KinitSwitch 1.0;
set nEigenI 1; # mode 1
set nEigenJ 3; # mode 10
set lambdaN [eigen [expr $nEigenJ]]; # eigenvalue analysis for nEigenJ modes
set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; # eigenvalue mode i
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j
set omegaI [expr pow($lambdaI,0.5)];
set omegaJ [expr pow($lambdaJ,0.5)];
set alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)];
puts "alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)]"; # M-prop. damping; D = alphaM*M
set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # current-K; +beatKcurr*KCurrent
#puts "betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]";
set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # last-committed K; +betaKcomm*KlastCommitt
#puts "betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]"
set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)];
puts "betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)]"; # initial-K; +beatKinit*Kini
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm;
# --------------------------------- perform Dynamic Ground-Motion Analysis
set IDloadTag 400; # for uniformSupport excitation
set outFile $GMdir/$GMfile.dat; # set variable holding new filename
set GMfatt [expr $g*$GMfact]; # data in input file is in g Unifts -- ACCELERATION TH
set AccelSeries "Series -dt $dt -filePath $outFile -factor $GMfatt"; # time series information
pattern UniformExcitation $IDloadTag $GMdirection -accel $AccelSeries ; # create Unifform excitation
set Nsteps [expr int($TmaxAnalysis/$DtAnalysis)];
set ok [analyze $Nsteps $DtAnalysis]; # actually perform analysis; returns ok=0 if analysis was successful
if {$ok != 0} { ; # analysis was not successful.
# --------------------------------------------------------------------------------------------------
# change some analysis parameters to achieve convergence
# performance is slower inside this loop
# Time-controlled analysis
set ok 0;
set controlTime [getTime];
while {$controlTime < $TmaxAnalysis && $ok == 0} {
set controlTime [getTime]
set ok [analyze 1 $DtAnalysis]
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr $TolDynamic 1000 0
algorithm Newton -initial
set ok [analyze 1 $DtAnalysis]
test $testTypeDynamic $TolDynamic $maxNumIterDynamic 0
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch .6
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying ModifiedNewton .."
algorithm ModifiedNewton
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying BFGS.."
algorithm BFGS
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
}
}; # end if ok !0
puts "Ground Motion Done. End Time: [getTime]"
wipe
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 20; # 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 1
uniaxialMaterial Steel02 $IDSteel $Fy $Es $Bs $R0 $cR1 $cR2 0 1 0 1 0
this is my analysis script
# --------------------------------------------------------------------------------------------------
# Uniform EQ ground motion
# execute this file after you have built the model, and after you apply gravity
#
# Uniform Earthquake ground motion (uniform acceleration input at all support nodes)
set GMdirection 1; # ground-motion direction
set GMfile "CC1" ; # ground-motion filenames
set GMfact 1; # ground-motion scaling factor
set dt 0.005;
puts "Ejecutando: $GMfile"
puts "Guardando en $sismoDir"
puts "Sismo escalado a: $GMfact"
# display deformed shape:
set ViewScale 5; # amplify display of deformed shape
DisplayModel2D NodeNumbers $ViewScale 750 10 700 350 ; # display deformed shape, the scaling factor needs to be adjusted for each model
DisplayModel2D DeformedShape $ViewScale 10 400 700 350; # display deformed shape, the scaling factor needs to be adjusted for each model
DisplayModel2D ModeShape $ViewScale 750 400 700 350 ; # display deformed shape, the scaling factor needs to be adjusted for each model
#recorder plot $dataDir/Dfree.out Displacements 400 10 600 600 -columns 1 2; # a window to plot the nodal displacements versus time
# set up ground-motion-analysis parameters
set DtAnalysis [expr 0.1*$sec]; # time-step Dt for lateral analysis
set TmaxAnalysis [expr 100.*$sec]; # maximum duration of ground-motion analysis -- should be 50*$sec
# ------------ define & apply damping
# RAYLEIGH damping parameters, Where to put M/K-prop damping, switches (http://opensees.berkeley.edu/OpenSees/m ... l/1099.htm)
# D=$alphaM*M + $betaKcurr*Kcurrent + $betaKcomm*KlastCommit + $beatKinit*$Kinitial
set xDamp 0.02; # damping ratio
set MpropSwitch 1.0;
set KcurrSwitch 0.0;
set KcommSwitch 0.0;
set KinitSwitch 1.0;
set nEigenI 1; # mode 1
set nEigenJ 3; # mode 10
set lambdaN [eigen [expr $nEigenJ]]; # eigenvalue analysis for nEigenJ modes
set lambdaI [lindex $lambdaN [expr $nEigenI-1]]; # eigenvalue mode i
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j
set omegaI [expr pow($lambdaI,0.5)];
set omegaJ [expr pow($lambdaJ,0.5)];
set alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)];
puts "alphaM [expr $MpropSwitch*$xDamp*(2*$omegaI*$omegaJ)/($omegaI+$omegaJ)]"; # M-prop. damping; D = alphaM*M
set betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # current-K; +beatKcurr*KCurrent
#puts "betaKcurr [expr $KcurrSwitch*2.*$xDamp/($omegaI+$omegaJ)]";
set betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]; # last-committed K; +betaKcomm*KlastCommitt
#puts "betaKcomm [expr $KcommSwitch*2.*$xDamp/($omegaI+$omegaJ)]"
set betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)];
puts "betaKinit [expr $KinitSwitch*2.*$xDamp/($omegaI+$omegaJ)]"; # initial-K; +beatKinit*Kini
rayleigh $alphaM $betaKcurr $betaKinit $betaKcomm;
# --------------------------------- perform Dynamic Ground-Motion Analysis
set IDloadTag 400; # for uniformSupport excitation
set outFile $GMdir/$GMfile.dat; # set variable holding new filename
set GMfatt [expr $g*$GMfact]; # data in input file is in g Unifts -- ACCELERATION TH
set AccelSeries "Series -dt $dt -filePath $outFile -factor $GMfatt"; # time series information
pattern UniformExcitation $IDloadTag $GMdirection -accel $AccelSeries ; # create Unifform excitation
set Nsteps [expr int($TmaxAnalysis/$DtAnalysis)];
set ok [analyze $Nsteps $DtAnalysis]; # actually perform analysis; returns ok=0 if analysis was successful
if {$ok != 0} { ; # analysis was not successful.
# --------------------------------------------------------------------------------------------------
# change some analysis parameters to achieve convergence
# performance is slower inside this loop
# Time-controlled analysis
set ok 0;
set controlTime [getTime];
while {$controlTime < $TmaxAnalysis && $ok == 0} {
set controlTime [getTime]
set ok [analyze 1 $DtAnalysis]
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr $TolDynamic 1000 0
algorithm Newton -initial
set ok [analyze 1 $DtAnalysis]
test $testTypeDynamic $TolDynamic $maxNumIterDynamic 0
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch .6
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying ModifiedNewton .."
algorithm ModifiedNewton
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
if {$ok != 0} {
puts "Trying BFGS.."
algorithm BFGS
set ok [analyze 1 $DtAnalysis]
algorithm $algorithmTypeDynamic
}
}
}; # end if ok !0
puts "Ground Motion Done. End Time: [getTime]"
wipe
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