eigen command

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

Moderators: silvia, selimgunay, Moderators

Post Reply
archeura
Posts: 12
Joined: Tue Feb 14, 2006 6:27 am
Location: Facolt� di Ingegneria Bologna

eigen command

Post by archeura »

Hi all,
what's the problem with an eigenvalue analysis outputting error:
'domain error: argument not in valid range'?

I'm on an adaptive PO where the forces are updated during the analysis.
The algorithm is:
1. apply a force distribution to the structure
2. reach a first target displacement (with disp.integrator)
3. set constant the load pattern
4. do an eigenvalue analysis (with load or disp.integrator)
5. determine modal shapes, parteciping factor and spectral ampl. (the last included into an external file .txt)
6. apply a new load pattern linear
7. re-do 2.=>6. until a final target disp. is reached

The analysis stops at about disp.at top=1.5%Ht (I need more!) outputting the error. Can it be a problem with eigen-solutor? I think it crashes when negative slope is reached. If it so, how I can 'by-pass' the problem?

I don't post the files 'cause they are a lot!
Thanks!
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

the eigensolver does have it's problems for sure!!!!
still, you should only be doing an eigenvalue analysis at a converged step.
please do send me the files and i'll have a look.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk »

could be a bug in the eigenvalue code or it could be the state of the model .. you can check
by not doing any eigenvalue analysis up until the point of failure of the eigen command .. if it
works it is probably a bug; if it fails it's the state of the model (K,M) matrices.
bufa
Posts: 6
Joined: Mon Jul 04, 2005 11:47 pm

Post by bufa »

I built a force-based adaptive pushover algorithm finding similar troubles. Opensees gives back eigenvalues even if they are negative. Clearly when this happen, it's impossible to model a new distribution of lateral forces.
I overcome this, forcing to consider eigenvalues at the previous step when they become negative.
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

I have found that the program returns a negative eigenvalue when it cannot decide between two consecutive ones that are the same, or close.
try asking for more eigenvalues than what you need, N+1, and just choose the one you want.
please let me know if this works.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
amir70007
Posts: 58
Joined: Sat Sep 20, 2008 11:13 pm
Location: Tehran-Amir Kabir University of Technology (Tehran Polytechnic)
Contact:

Re: eigen command

Post by amir70007 »

Hi All,
I have a few problems with finding periods in my model.
How can I get the periods values?
And how can I save these values in a text file?



model basic -ndm 2 -ndf 3




# tag X Y
node 1 0 0
node 2 3 0
node 3 5 0
node 4 0 3
node 5 3 3
node 6 5 3
node 7 0 5
node 8 3 5

#\\\\\\\\\\\\\\\\\\\\\\\\\
#Restraints (Supports)
#/////////////////////////

# node tag DX DY RZ
fix 1 1 1 1
fix 2 1 1 1
fix 3 1 1 1

#geomTransf Linear $transfTag
geomTransf Linear 1



#Elastic Beam Column Element eleTag iNode jNode A E Iz TransferTag

#Column elements:
element elasticBeamColumn 1 1 4 0.08 2.33E+9 1.067E-3 1
element elasticBeamColumn 2 2 5 0.08 2.33E+9 1.067E-3 1
element elasticBeamColumn 3 3 6 0.08 2.33E+9 1.067E-3 1
element elasticBeamColumn 6 4 7 0.08 2.33E+9 1.067E-3 1
element elasticBeamColumn 7 5 8 0.08 2.33E+9 1.067E-3 1


element elasticBeamColumn 4 4 5 0.06 2.33E+9 4.5E-4 1
element elasticBeamColumn 5 5 6 0.06 2.33E+9 4.5E-4 1
element elasticBeamColumn 8 7 8 0.06 2.33E+9 4.5E-4 1




# perform eigen analysis
#-----------------------------
set lambda [eigen 2];

# calculate frequencies and periods of the structure
#---------------------------------------------------
set omega {}
set f {}
set T {}
set pi 3.141593

foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}

puts "periods are $T"

# write the output file cosisting of periods
#--------------------------------------------
set period "Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods

recorder Node -file reaction.out -time -node 1 -dof 1 2 3 reaction
recorder Element -file Element1.out -time -ele 8 localForce


timeSeries Constant 1


pattern Plain 1 1 {
load 7 5000 0 0
eleLoad -ele 8 -type -beamUniform -2000
}


analysis Static
analyze 10
loadConst -time 0.0
kostast88
Posts: 49
Joined: Tue Jan 31, 2012 1:20 pm
Location: University of Patras

Re: eigen command

Post by kostast88 »

Amir, your model has no mass.Eigenproblem K-x*M=0, can't be solved with M=0.
amir70007
Posts: 58
Joined: Sat Sep 20, 2008 11:13 pm
Location: Tehran-Amir Kabir University of Technology (Tehran Polytechnic)
Contact:

Re: eigen command

Post by amir70007 »

Thank you...
Suppose that I have a beam with a uniform load.(w)
total weight on beam=wl
mass of each node=(wl)/(2g)
Is it correct?
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: eigen command

Post by fmk »

yes.
Post Reply