truss force element recorder

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

Moderators: silvia, selimgunay, Moderators

Post Reply
speich
Posts: 4
Joined: Mon Sep 11, 2006 12:17 pm
Location: Georgia Tech

truss force element recorder

Post by speich »

I am trying to do something very simple...run a SDOF type system thru an EQ and record the displacement and forces. The recorder for the element forces comes up with a long column of zeros? Why? Whats a better approach to this simple problem that works?
Thanks!
Matthew

(note, the code calls la21 ground motion)
code:


# Start of model generation
model BasicBuilder -ndm 2 -ndf 2
node 1 0.0 0.0
node 2 10.0 0.0
fix 1 1 1
fix 2 0 1
uniaxialMaterial Steel01 1 60.0 29000.0 0.1; #units are N/mm^2
section Uniaxial 1 1 P ; # $sectag $mat $string
#geomTransf Linear 1
element truss 1 1 2 1;
#Define mass
mass 2 1000.0 0.0
#Define load pattern (Fixed End Forces)
pattern Plain 1 Linear {
load 2 1.0 0.0 0.0
}
# ------------------------------
# Start of analysis generation
# ------------------------------
# Create the system of equation, a sparse solver with partial pivoting
system BandGeneral
# Create the constraint handler, the transformation method
constraints Transformation
# Create the DOF numberer, the reverse Cuthill-McKee algorithm
numberer RCM
# Create the convergence test, the norm of the residual with a tolerance of
# 1e-12 and a max number of iterations of 10
test NormDispIncr 1.0e-12 10 3
# Create the solution algorithm, a Newton-Raphson algorithm
algorithm Newton
# Create the integration scheme, the LoadControl scheme using steps of 0.1
integrator LoadControl 0.1
# Create the analysis object
analysis Static
# perform the gravity load analysis, requires 10 steps to reach the load level
analyze 10
# Print out the state of nodes 3 and 4
print node 2
# Print out the state of element 1
print ele 2

puts "static analysis complete"
puts " "
puts "begin dynamic analysis"
puts " "

# --------------------------
# Nonlinear dynamic analysis
# --------------------------

set EQ la_21.acc ; # accelerogram input file
set scale 1.000 ; # scaling factor
set dtacc 0.02 ; # acquisition time step (from the record)
set npoint 4500 ; # number of points of the record
set nn 20 ; # number of subdivisions
set deltat [expr $dtacc/$nn] ; # integration time step
set a0 0.884098 ; # parameter a0 for Rayleigh damping
set a1 0.002254 ; # parameter a1 for Rayleigh damping
set tCurrent [getTime] ; # get current time
set tFinal [expr $npoint*$dtacc] ; # compute final time
set g [expr 9810.0*$scale] ; # compute acceleration (mm/sec^2)
set Series "Path -filePath $EQ -dt $dtacc -factor $g"
# $tag $dir $accel series
pattern UniformExcitation 2 1 -accel $Series
rayleigh $a0 0.0 0.0 $a1
wipeAnalysis
recorder Element -file ele.out -ele all force
recorder Node disp.out disp -time -node 2 -dof 1
integrator Newmark 0.5 0.25
test NormDispIncr 1.0e-5 20 0
algorithm Newton
constraints Plain
numberer RCM
system UmfPack
analysis Transient

# Perform an eigenvalue analysis before the transient analysis

puts " "
puts " Eigenvalues at the beginning of transient analysis: [eigen 2]"

set ok 0

# Perform the transient analysis
while {$ok == 0 && $tCurrent < $tFinal} {

set ok [analyze 1 $deltat]

if {$ok != 0} {
puts "***** regular newton failed .. lets try an initail stiffness for this step"
test NormDispIncr 1.0e-3 500 0
#algorithm ModifiedNewton -initial
set ok [analyze 1 [expr 0.1*$deltat]]
if {$ok == 0} {puts "***** Newton with Initial Tangent worked .. back to regular newton"}
test NormDispIncr 1.0e-5 20 0
algorithm Newton
}
if {$ok != 0} {
puts "***** Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch .8
set ok [analyze 1 $deltat]
if {$ok == 0} {puts "***** NewtonWithLineSearch worked .. back to regular newton"}
algorithm Newton
}
if {$ok != 0} {
puts "***** Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 $deltat]
if {$ok == 0} {puts "***** Broyden worked .. back to regular newton"}
algorithm Newton
}

set tCurrent [getTime]
puts " $tCurrent"

}

# Print a message to indicate if analysis succesfull or not
if {$ok == 0} {
puts " "
puts " Transient analysis completed SUCCESSFULLY";
} else {
puts " "
puts " Transient analysis completed FAILED";
}

# Perform an eigenvalue analysis

puts " "
puts " Eigenvalues at the end of transient analysis: [eigen 2]"
puts " "
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

i have tested your script with a different ground motion (i dont' have yours), and i don't get zeros with the latest version of OPenSees (1.7.3).
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
speich
Posts: 4
Joined: Mon Sep 11, 2006 12:17 pm
Location: Georgia Tech

Post by speich »

:D
I was using and older version of OpenSees. Does the element recorder not work for older versions? Thanks.
speich
Posts: 4
Joined: Mon Sep 11, 2006 12:17 pm
Location: Georgia Tech

Post by speich »

:D
I was using and older version of OpenSees. Does the element recorder not work for older versions? Thanks.
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

i guess not....
newer versions are always more reliable, as many errors get fixed.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
Post Reply