Hi experts,
Suppose that I have one brace in my structure that I would like to divide it into two segments, one completely rigid and the other as an ordinary steel. When I try to model such behavior the responses are not correct. I am trying to avoid buckling. Now the question is this. Should I define some boundary conditions between the brace segments or no? For simplifying the problem I reduced it to one bar element under tensile load and I divided it into two segments. Could you please help me and see if there is something that I am not considering?
Thanks in advance
wipe all;
model BasicBuilder -ndm 2 -ndf 3
source LibUnits.tcl; # Define units
#Define the geometry
set L1 [expr 25*$cm];
set IDctrlNode 2; # Node where displacement is read for disp control
set IDctrlDOF 1; # Degree of freedom of displacement read
#Define the coordinates
set x0 0.0;
set xL 0.0;
set y0 0.0;
set yL $L1;
set xL2 [expr 2*$xL];
set yL2 [expr 2*$yL];
#Define nodal coordinates
node 1 $x0 $y0
node 2 $xL $yL
node 3 $xL2 $yL2
#Boundary conditions
fix 1 1 1 1
#Parameters for brace cross-section
set Abr1 [expr 10*($cm*$cm)]
set Ibr1 [expr 10*($cm*$cm*$cm*$cm)]
set Rb1 [expr 1*$cm]
set FyB [expr 2500.0*($kg/($cm*$cm))]; # Steel yield stress
set EsB [expr 2000000*($kg/($cm*$cm))]; # Steel Modulus of Elasticity
set Bbrace 0.12; # The hardening ratio
set IDSteelB 4;
uniaxialMaterial Steel02 $IDSteelB $FyB $EsB $Bbrace
#uniaxialMaterial Steel01 $IDSteelB $FyB $EsB $Bbrace
set Brace1Tag 1
section Fiber $Brace1Tag {
patch quadr $IDSteelB 10 10 [expr -1.0*$cm] [expr 1.0*$cm] [expr -1.0*$cm] [expr -1.0*$cm] [expr 1.0*$cm] [expr -1.0*$cm] [expr 1.0*$cm] [expr 1.0*$cm]
}
geomTransf Linear 1;
set locationB1 "0.0 1.0"
set SecTagB1 "$Brace1Tag $Brace1Tag"
set integrationB1 "FixedLocation 2 $SecTagB1 $locationB1"
#element elasticBeamColumn $eleTag $iNode $jNode $A $E $Iz $transfTag
element nonlinearBeamColumn 111 1 2 1 $integrationB1
element nonlinearBeamColumn 112 2 3 1 $integrationB1
recorder Node -file pushUniaxial.txt -time -node 2 -dof 2 disp;
recorder Element -file ss.out -time -ele 111 section 1 forces
recorder Element -file Element1.out -time -ele 111 section 1 fiber 0.10 0.10 stressStrain
constraints Plain; # how it handles boundary conditions
numberer Plain; # 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
test NormDispIncr 1.0e-8 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
integrator LoadControl 0.1; # determine the next time step for an analysis, # apply gravity in 10 steps
analysis Static # define type of analysis static or transient
analyze 0; # perform gravity analysis
loadConst -time 0.0; # hold gravity constant and restart time
# define LATERAL load -------------------------------------------------------------
# Lateral load pattern
pattern Plain 2 Linear {
load 3 0.0 1 0.0; # node#, FX FY MZ -- representative lateral load at top node
}
# pushover: diplacement controlled static analysis
integrator LoadControl 0.5; # switch to displacement control, for node 11, dof 1, 0.1 increment
analyze 100; # apply 100 steps of pushover analysis to a displacement of 10
puts "Tensile Loading Done!"
set currentFactor [getTime]
set dLambda [expr -$currentFactor/50.]
integrator LoadControl $dLambda
analyze 50
puts "Tensile Unloading Done!"
How to divide one Brace element into two segments?
Moderators: silvia, selimgunay, Moderators
-
- Posts: 16
- Joined: Tue Mar 07, 2017 4:18 am
Re: How to divide one Brace element into two segments?
you mean you get responses, but they do not match some a) experiment or b) theory? If a) your modeling approach needs to be tossed. I have seen people model braces by breaking into segments, but never with a rigid element that long. b) your input model and your math assumptions are not in agreement.