something different of the eigen command compared with previ

For developers writing C++, Fortran, Java, code who have questions or comments to make.

Moderators: silvia, selimgunay, Moderators

Post Reply
neallee
Posts: 62
Joined: Sun Aug 14, 2005 4:50 am
Location: Tianjin University

something different of the eigen command compared with previ

Post by neallee »

something different of the eigen command compared with the previous version.

when i sourced some old but worked well tcl script, the eigen command gives warning like this:
WARNING StaticAnalysis::eigen() - no EigenSOE has been set

this warning promoted after the gravity load analysis procedure.

whenever and whatever the SOE and Analysis classes specified, the eigen command inputted and the warning information displayed.

Could you please check it?

Thanks!

Best regards,

Ning.
Li Ning, Ph.D. and Professor of Civil Engineering
TJU, China
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk »

can you post a small example where this happens .. the operative word being small, i.e. a single element example if possible.
neallee
Posts: 62
Joined: Sun Aug 14, 2005 4:50 am
Location: Tianjin University

Post by neallee »

Sorry,i have made some mistak here. The previous scripts works well.
now i past the warning scripts

[code]
wipe;
file mkdir Data;
model BasicBuilder -ndm 3 -ndf 6;
set LCol 3; # column length
set Weight 2.e8; # superstructure weight
set PCol $Weight; # nodal dead-load weight per column
set g 9.81; # g.
set Mass [expr $PCol/$g]; # nodal mass
node 1 0 0 0; # node#, X, Y
node 2 0 0 $LCol
fix 1 1 1 1 1 1 1; # node DX DY RZ
fix 2 0 0 1 1 1 1;
# nodal masses:
mass 2 $Mass $Mass 1e-9 1e-9 1e-9 [expr $Mass*3.4] ;

# Define ELEMENTS & SECTIONS -------------------------------------------------------------
uniaxialMaterial Steel01 1 +3.250000E+008 +2.000000E+011 +5.000000E-002

set ColSecTag 1;
# Section "Col_C3_45F": secTag
section Fiber $ColSecTag {
patch quad 1 30 2 -1.630000E-001 +1.630000E-001 +1.630000E-001 +1.630000E-001 +1.630000E-001 +1.750000E-001 -1.630000E-001 +1.750000E-001
patch quad 1 30 2 -1.630000E-001 -1.750000E-001 +1.630000E-001 -1.750000E-001 +1.630000E-001 -1.630000E-001 -1.630000E-001 -1.630000E-001
patch quad 1 2 30 -1.750000E-001 -1.630000E-001 -1.630000E-001 -1.630000E-001 -1.630000E-001 +1.630000E-001 -1.750000E-001 +1.630000E-001
patch quad 1 2 30 +1.630000E-001 -1.630000E-001 +1.750000E-001 -1.630000E-001 +1.750000E-001 +1.630000E-001 +1.630000E-001 +1.630000E-001
patch quad 1 2 2 -1.750000E-001 -1.750000E-001 -1.630000E-001 -1.750000E-001 -1.630000E-001 -1.630000E-001 -1.750000E-001 -1.630000E-001
patch quad 1 2 2 +1.630000E-001 -1.750000E-001 +1.750000E-001 -1.750000E-001 +1.750000E-001 -1.630000E-001 +1.630000E-001 -1.630000E-001
patch quad 1 2 2 +1.630000E-001 +1.630000E-001 +1.750000E-001 +1.630000E-001 +1.750000E-001 +1.750000E-001 +1.630000E-001 +1.750000E-001
patch quad 1 2 2 -1.750000E-001 +1.630000E-001 -1.630000E-001 +1.630000E-001 -1.630000E-001 +1.750000E-001 -1.750000E-001 +1.750000E-001
}

# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
set ColTransfTag 1; # associate a tag to column transformation
geomTransf Linear $ColTransfTag 1 0 0 ;

# element connectivity:
set numIntgrPts 5; # number of integration points for force-based element
element dispBeamColumn 1 1 2 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables

# define GRAVITY -------------------------------------------------------------
pattern Plain 1 Linear {
load 2 0 -$PCol 0 0 0 0
}
set lambda [eigen generalized -fullGenLapack 1]
set lambda1 [lindex $lambda 0]

set omega1 [expr pow($lambda1,0.5)]

set T1 [expr 2*3.14159265/$omega1]

puts "T1=$T1"

# Gravity-analysis parameters -- load-controlled static analysis
set Tol 1.0e-8;
constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr $Tol 6 ;
algorithm Newton;
set NstepGravity 10;
set DGravity [expr 1./$NstepGravity];
integrator LoadControl $DGravity;
analysis Static;
analyze $NstepGravity;

# Eigen-analysis -- After the applying gravity load
set lambda [eigen generalized -fullGenLapack 1]
set lambda1 [lindex $lambda 0]

set omega1 [expr pow($lambda1,0.5)]

set T1 [expr 2*3.14159265/$omega1]

puts "T1=$T1"

[\code]

This script works well on the previous version of OPS.
For now, the opensees 2.1.1 give out the warning,
WARNING DirectIntegrationAnalysis::eigen() - no EigenSOE has been set

the warning will occur in the script when the eigen command loaded twice, for both static analysis and dynamic analysis. Maybe some default classes were omitted in the previous modification.

otherwise, did i do the wrong operation procedure?

Thanks.


Best regards,

Ning
Li Ning, Ph.D. and Professor of Civil Engineering
TJU, China
neallee
Posts: 62
Joined: Sun Aug 14, 2005 4:50 am
Location: Tianjin University

Post by neallee »

sorry , i have made some mistake.

Could you please check this script, which i just want to display the periods of structures before and after the gravity load analysis. It gave the warning.

[quote]
wipe;
file mkdir Data;
model BasicBuilder -ndm 3 -ndf 6;
set LCol 3; # column length
set Weight 2.e8; # superstructure weight
set PCol $Weight; # nodal dead-load weight per column
set g 9.81; # g.
set Mass [expr $PCol/$g]; # nodal mass
node 1 0 0 0; # node#, X, Y
node 2 0 0 $LCol
fix 1 1 1 1 1 1 1; # node DX DY RZ
fix 2 0 0 1 1 1 1;
# nodal masses:
mass 2 $Mass $Mass 1e-9 1e-9 1e-9 [expr $Mass*3.4] ;

# Define ELEMENTS & SECTIONS -------------------------------------------------------------
uniaxialMaterial Steel01 1 +3.250000E+008 +2.000000E+011 +5.000000E-002

set ColSecTag 1;
# Section "Col_C3_45F": secTag
section Fiber $ColSecTag {
patch quad 1 30 2 -1.630000E-001 +1.630000E-001 +1.630000E-001 +1.630000E-001 +1.630000E-001 +1.750000E-001 -1.630000E-001 +1.750000E-001
patch quad 1 30 2 -1.630000E-001 -1.750000E-001 +1.630000E-001 -1.750000E-001 +1.630000E-001 -1.630000E-001 -1.630000E-001 -1.630000E-001
patch quad 1 2 30 -1.750000E-001 -1.630000E-001 -1.630000E-001 -1.630000E-001 -1.630000E-001 +1.630000E-001 -1.750000E-001 +1.630000E-001
patch quad 1 2 30 +1.630000E-001 -1.630000E-001 +1.750000E-001 -1.630000E-001 +1.750000E-001 +1.630000E-001 +1.630000E-001 +1.630000E-001
patch quad 1 2 2 -1.750000E-001 -1.750000E-001 -1.630000E-001 -1.750000E-001 -1.630000E-001 -1.630000E-001 -1.750000E-001 -1.630000E-001
patch quad 1 2 2 +1.630000E-001 -1.750000E-001 +1.750000E-001 -1.750000E-001 +1.750000E-001 -1.630000E-001 +1.630000E-001 -1.630000E-001
patch quad 1 2 2 +1.630000E-001 +1.630000E-001 +1.750000E-001 +1.630000E-001 +1.750000E-001 +1.750000E-001 +1.630000E-001 +1.750000E-001
patch quad 1 2 2 -1.750000E-001 +1.630000E-001 -1.630000E-001 +1.630000E-001 -1.630000E-001 +1.750000E-001 -1.750000E-001 +1.750000E-001
}

# define geometric transformation: performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system
set ColTransfTag 1; # associate a tag to column transformation
geomTransf Linear $ColTransfTag 1 0 0 ;

# element connectivity:
set numIntgrPts 5; # number of integration points for force-based element
element dispBeamColumn 1 1 2 $numIntgrPts $ColSecTag $ColTransfTag; # self-explanatory when using variables

# define GRAVITY -------------------------------------------------------------
pattern Plain 1 Linear {
load 2 0 -$PCol 0 0 0 0
}
set lambda [eigen generalized -fullGenLapack 1]
set lambda1 [lindex $lambda 0]

set omega1 [expr pow($lambda1,0.5)]

set T1 [expr 2*3.14159265/$omega1]

puts "T1=$T1"

# Gravity-analysis parameters -- load-controlled static analysis
set Tol 1.0e-8;
constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr $Tol 6 ;
algorithm Newton;
set NstepGravity 10;
set DGravity [expr 1./$NstepGravity];
integrator LoadControl $DGravity;
analysis Static;
analyze $NstepGravity;

# Eigen-analysis -- After the applying gravity load
set lambda [eigen generalized -fullGenLapack 1]
set lambda1 [lindex $lambda 0]

set omega1 [expr pow($lambda1,0.5)]

set T1 [expr 2*3.14159265/$omega1]

puts "T1=$T1"

[/quote]
Li Ning, Ph.D. and Professor of Civil Engineering
TJU, China
Post Reply