eigen command
Moderators: silvia, selimgunay, Moderators
eigen command
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!
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!
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.
I overcome this, forcing to consider eigenvalues at the previous step when they become negative.
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.
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
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
-
- Posts: 58
- Joined: Sat Sep 20, 2008 11:13 pm
- Location: Tehran-Amir Kabir University of Technology (Tehran Polytechnic)
- Contact:
Re: eigen command
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
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
Re: eigen command
Amir, your model has no mass.Eigenproblem K-x*M=0, can't be solved with M=0.
-
- Posts: 58
- Joined: Sat Sep 20, 2008 11:13 pm
- Location: Tehran-Amir Kabir University of Technology (Tehran Polytechnic)
- Contact:
Re: eigen command
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?
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?
Re: eigen command
yes.