Page 1 of 1

Analyses eigen

Posted: Wed Nov 13, 2019 3:20 pm
by ivan pellegrino
Hi, I have a complex structure with 850 elements and 410 nodes. I have a "section fiber" model added with "section aggregator" and "special purpose" to chose number and type of integration. Masses are modelling like a "massDens" in FBA (ElementsForceBeamColumn). I have "fix" my structure and I create a RECORD with "modesofVibration" and a PatternConstraint with "fix nodes".
Why Eigen Analyses don't go to the end?

Re: Analyses eigen

Posted: Thu Nov 14, 2019 3:29 pm
by STKO Team
Hi Ivan,
There could be a number of reasons. Could you please post the error that OpenSEES shows on the terminal?

Re: Analyses eigen

Posted: Thu Nov 14, 2019 8:36 pm
by ivan pellegrino
Hi, I was told to use "customCommand" that allows to insert a "Script" in order to input the command "record". My trouble is: which code line have i to put for this command?
File in output: definitions, elments, materials, nodes, sections, main are correctly written.
While analysis step file, has code lines regarding to "fix" and "rigid diaphragrm" with the last line code as follows:
eigen -genBandArpack 3

MPCORecorder: done loading HDF5
loaded symbol "H5check_version".
loaded symbol "H5open".
loaded symbol "H5Screate_simple".
loaded symbol "H5Sclose".
loaded symbol "H5Acreate2".
loaded symbol "H5Awrite".
loaded symbol "H5Aclose".
loaded symbol "H5Tcopy".
loaded symbol "H5Tset_size".
loaded symbol "H5Tset_strpad".
loaded symbol "H5Gcreate2".
loaded symbol "H5Gclose".
loaded symbol "H5Dcreate2".
loaded symbol "H5Dclose".
loaded symbol "H5Dwrite".
loaded symbol "H5Pcreate".
loaded symbol "H5Pclose".
loaded symbol "H5Pset_link_creation_order".
loaded symbol "H5Pset_libver_bounds".
loaded symbol "H5Fcreate".
loaded symbol "H5Fflush".
loaded symbol "H5Fclose".
loaded symbol "H5Fstart_swmr_write".
loaded symbol "H5T_STD_I32LE_g".
loaded symbol "H5T_NATIVE_INT_g".
loaded symbol "H5T_IEEE_F64LE_g".
loaded symbol "H5T_NATIVE_DOUBLE_g".
loaded symbol "H5T_C_S1_g".
loaded symbol "H5P_CLS_FILE_CREATE_ID_g".
loaded symbol "H5P_CLS_FILE_ACCESS_ID_g".
loaded symbol "H5P_CLS_GROUP_CREATE_ID_g".
Premere un tasto per continuare . . .

Re: Analyses eigen

Posted: Thu Nov 14, 2019 10:45 pm
by STKO Team
Ok so the problem is not that the analysis is not running... it runs but since the "eigen" analysis is the only one you are running, you don't see any result. Why? because OpenSEES does not automatically call "record" during an "eigen" analysis as it does with standard "analysis" command.

So you need to add a new analysis step of this "customCommand" just after the "eigen" analysis step.
custom_command.PNG (33.99 KiB) Viewed 5072 times

In the editor of the custom command, open the tcl script editor by clicking on the "+" sign on the right, and there just write "record".
open tcl script editor.PNG
open tcl script editor.PNG (4.93 KiB) Viewed 5072 times
record.PNG (18.13 KiB) Viewed 5072 times

Now you should be able to see the results (note that to visualize modes of vibration in post processor, don't forget to ask for the "modesOfVibration" nodal result in the "MPCORecorder" command.
When you will load the output database in the post processor you will see some warnings:
false warnings.PNG
false warnings.PNG (10.81 KiB) Viewed 5072 times

Just ignore them! In the Beta version of STKO the post processor can load the modes of vibration (eigenvectors) but not the eigenvalues and their derived quantities (thus the warning). However this is fixed in the first official release of STKO that will be online in few days.

If you are interested in saving also the eigenvalues (and their derived quantities) in a text file, you can remove the "eigen" command and keep only the "customCommand" where you can replace the simple "record" line, with something more complete:

Code: Select all

# set the required number of eigenvalues here
set num_eigen 5

# run the eigen command and store the resulting eigenvalues
# in the "lambdas" list
set lambdas [eigen $num_eigen]

# manually call record if there is no other analysis after the eigen command.
# unfortunately in opensees the eigen command does not call automatically a record...
puts "record eigen"

# process all eigenvalues and obtain periods
# print them to screen and to a file
set out_file [open "eigenvalues.txt" w]
set format_string "%16s%16s%16s%16s"; # used to format the header of the table
set format_double "%16g%16g%16g%16g"; # used to format floating point values of the table
set pi [expr acos(-1.0)]
puts [format $format_string "lambda" "omega" "frequency" "period"]
puts $out_file [format $format_string "lambda" "omega" "frequency" "period"]
for {set i 0} {$i < $num_eigen} {incr i} {
	set lambda [lindex $lambdas $i]
	set omega [expr {sqrt($lambda)}]
	set frequency [expr $omega / 2.0 / $pi]
	set period [expr 1.0 / $frequency]
	puts [format $format_double $lambda $omega $frequency $period]
	puts $out_file [format $format_double $lambda $omega $frequency $period]
close $out_file
custom_eigen.PNG (58.82 KiB) Viewed 5072 times

Hope this helps!
If you still have problems, reply to this post attaching your .SCD file and I will have a look


Re: Analyses eigen

Posted: Sat Nov 16, 2019 7:44 pm
by CristinaLesevic
Thanks, now the eigen model has been built!

Analyses eigen

Posted: Sat Nov 16, 2019 7:52 pm
by CristinaLesevic
The same model has been used for a Static Analysis, after having assigned loads. Now the problem is:
WARNING - ForceBeamColumn3d::update - failed to get compatible element forces & deformations for element: 8(dW: << -nan(ind), dW0: -nan(ind))
Static parameters are:
-Transformation Method
-Reverse C-M Numberer
-BandGeneral SOE
-Newton algorithm
-Energy Increment Test
-Load control
Which can be the problems?

Re: Analyses eigen

Posted: Sat Nov 16, 2019 7:58 pm
by CristinaLesevic
i think that problem are connected with definition of material: I used Concrete07. It's possible?
Because thanks to OpenSees code and Concrete02 the analysis runs.

Re: Analyses eigen

Posted: Mon Nov 18, 2019 9:04 am
by STKO Team
Dear Cristina,

Yes, It could be that the Concrete07 gives more convergence issue than the Concrete01 or Concrete02. It also happended to me with the ConcreteCM, which is the same as the Concrete07, but with a smooth hysteretic curve and some more control parameters.

If you want to use the Concrete07, make sure you follow these guidelines:
  • fc and ec must be negative, the code will give you a wrong stress-strain curve otherwise
  • ft and et must be positive and et must be >ft/Ec
  • xp and xn should be large values as 10E4, so that the stress responses in tension and compression never reach 0, but apprach to 0 asymptotically.
  • use r to calibrate the fracture energy in tension and compression, smaller values give larger fracture energy

Re: Analyses eigen

Posted: Mon Nov 25, 2019 7:42 am
by Yulu Liu
I know that the modes of vibration are shown with different color in STKO, but I want to plot the modes with certain data, so how can I get the eigen vectors?
Thank you!

Re: Analyses eigen

Posted: Mon Nov 25, 2019 10:06 am
by MassimoPetracca
Dear Yulu Liu,

I did not understand what you want to achieve...

If you want to plot the eigenvectors, just choose modesOfVibration in the Result dropdown menu (so the eigenvectors will be used as color-map source data) and also in the deformation droodown menu (so the eigenvectors will be used as deformation source data).

If instead you only want to extract the values (i.e. a table of eigenmodes), in the beta-version you cannot do it in STKO (though we are implementing it for the next release).

However the *.mpco output file is actually a HDF5 Database, so it can be open with another free software (HDF View, that allows you to see the contents of the files (datasets) and export them.
  1. Install HDFView, run it and open (as read-only ) the *.mpco output database
    hv_open.png (9.12 KiB) Viewed 4941 times
  2. Open the *.mpco database, choose "all files" as file filter, because we changed the extension from .h5 to .mpco
    hv_open_2.png (77.5 KiB) Viewed 4941 times
  3. Browse the file tree untill you find the mode that you want
    hv_load.png (39.64 KiB) Viewed 4941 times
  4. double-click and you will fin the eigenvector, the 3 columns are the 3 (x y z) components.
    Each row correspond to a node. Which one? Open the ID dataset, and you will find the nodal ID. So if you pick the 2nd row of the MODE_0 dataset, it is the XYZ components of the eigenvector 0 at the node given in the 2nd row of the ID dataset
    hv_exp.png (71.76 KiB) Viewed 4941 times
    There you can export of copy/paste the dataset