increasing cyclic displacement

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

Moderators: silvia, selimgunay, Moderators

Post Reply
nparsaeifard
Posts: 22
Joined: Sun Jul 10, 2011 2:08 am

increasing cyclic displacement

Post by nparsaeifard »

Dear all,
I've modeled a steel structure using fiber dispBeamColumn elements (3D model). I want to apply cyclic displacement (with increasing amplitude at each cycle) to a column to obtain the buckling load of the column using nonlinear static analysis. I've written the following code. Is it correct?
I also want to record the axial displacement and force of the column at each cycle.
(The cyclic displacement is applied in y direction and the node No. of two ends of the column are 116 and 216)

pattern Plain 1 Linear {
load 216 0.0 1.0 0 0 0 0;
}
# Set up analysis parameters
constraints Transformation ;
numberer RCM ;
system UmfPack ;
test NormDispIncr 0.01 100 0;
algorithm Newton ;

set controlnode 216
set loaddirection 2
set currentDisp 0.0
set ratio [expr 1./1000.]

foreach DincrT {0.0000375 -0.000075 0.0000375 0.0000375 -0.000075 0.0000375 0.0000375 -0.000075 0.0000375 0.0000375 -0.000075 0.0000375 0.0000375 -0.000075 0.0000375 0.0000375 -0.000075 0.0000375 0.00005 -0.0001 0.00005 0.00005 -0.0001 0.00005 0.00005 -0.0001 0.00005 0.00005 -0.0001 0.00005 0.00005 -0.0001 0.00005 0.00005 -0.0001 0.00005 0.000075 -0.00015 0.000075 0.000075 -0.00015 0.000075 0.000075 -0.00015 0.000075 0.000075 -0.00015 0.000075 0.000075 -0.00015 0.000075 0.000075 -0.00015 0.000075 0.0001 -0.0002 0.0001 0.0001 -0.0002 0.0001 0.0001 -0.0002 0.0001 0.0001 -0.0002 0.0001 0.00015 -0.0003 0.00015 0.00015 -0.0003 0.00015 0.0002 -0.0004 0.0002 0.0002 -0.0004 0.0002 0.0003 -0.0006 0.0003 0.0003 -0.0006 0.0003 0.0004 -0.0008 0.0004 0.0004 -0.0008 0.0004} {

recorder Node -file Data/deformation_node216.txt -node 216 -dof 2 deformation
recorder Node -file Data/reaction_node116.txt -node 116 -dof 2 reaction


set nSteps 1
set Dincr [expr $ratio*$DincrT/$nSteps]
integrator DisplacementControl $controlnode $loaddirection $Dincr
analysis Static
if { $Dincr > 0 } {
set Dmax [expr $Dincr*$nSteps]
set ok 0
while {$ok == 0 && $currentDisp < $Dmax} {
set ok [analyze 1]
if {$ok != 0} {
}
} elseif { $Dincr < 0 } {
set Dmax [expr $Dincr*$nSteps/2]
set ok 0
while {$ok == 0 && $currentDisp > $Dmax} {
set ok [analyze 1]
if {$ok != 0} {
}

set currentDisp [nodeDisp $controlnode $loaddirection]

}
}
}
Looking forward to your guidance
Thank you
mhscott
Posts: 880
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: increasing cyclic displacement

Post by mhscott »

I don't know if what you are doing is correct, but why are you defining the recorders inside the loop?
nparsaeifard
Posts: 22
Joined: Sun Jul 10, 2011 2:08 am

Re: increasing cyclic displacement

Post by nparsaeifard »

Dear Professor Michael H. Scott
Thank you very much for your concern
I just want to obtain displacements of the element at each cycle, to plot the displacement history of element due to cyclic loading.
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: increasing cyclic displacement

Post by fmk »

you either need the recorder command outside the foreach or append a $DincrT to the filename .. if you don't and keep as is, the only data contained in the file at the end will be for the last DincrT
nparsaeifard
Posts: 22
Joined: Sun Jul 10, 2011 2:08 am

Re: increasing cyclic displacement

Post by nparsaeifard »

Dear fmk I appreciate your response.
Post Reply