OptiStruct allows Normal Modes Analysis results to be retrieved for use in a Frequency Response Analysis or Transient Response Analysis using the modal method. Thus, multiple dynamic loading analyses can be performed using the eigenvalue results of a single normal modes analysis.
The following input I/O options and subcase information section entries may be used for this purpose:
· EIGVSAVE
· EIGVNAME
EIGVSAVE is a subcase information entry that, if used within a normal modes analysis subcase, causes the eigenvalues and eigenvectors of that subcase to be written to an external data file. The external data file will use the default output file prefix unless the EIGVNAME I/O option is present, followed by an underscore, followed then by the EIGVSAVE integer argument and the extension .eigv.
For example, the input:
EIGVNAME = test_file
$
Subcase 10
spc = 1
method = 20
EIGVSAVE = 50
will save the eigenvector and eigenvalue results from a normal modes analysis to the file "test_file_50.eigv."
EIGVRETRIEVE is a subcase information entry that, if used within a modal frequency response analysis or a modal transient response analysis subcase, retrieves eigenvalues and eigenvectors from external data files. EIGVRETRIEVE may have multiple integer arguments, each referring to a different external data file. The external data files must have the default output file prefix unless EIGVNAME I/O option is present, followed by an underscore, followed then by the EIGVRETRIEVE integer argument and the extension .eigv.
For example, the following input can be used in a frequency response analysis subcase using the modal method to retrieve the eigenvalues and eigenvectors that were saved in the example above:
EIGVNAME = test_file
$
Subcase 40
Spc = 1
Dload = 30
Method = 20
EIGVRETRIEVE = 50
The results of two or more normal modes analyses can be retrieved in combination for a modal frequency response or modal transient response analysis.
For example, a normal modes analysis is performed with the real eigenvalue extraction (EIGRL) data:
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
EIGRL |
20 |
|
50.0 |
|
|
|
|
|
|
The results are written to an external data file as follows:
EIGVNAME = test_file
$
Subcase 10
spc = 1
method = 20
EIGVSAVE = 50
In this case, all of the eigenmodes up to 50 Hz have been calculated and written to the file "test_file_50.eigv."
In order to perform a modal frequency response analysis with all of the modes up to 70 Hz, another normal modes analysis can be performed with the real eigenvalue extraction data:
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
EIGRL |
20 |
50.0 |
70.0 |
|
|
|
|
|
|
This time, the results are written to an external data file as follows:
EIGVNAME = test_file
$
subcase 10
spc = 1
method = 20
EIGVSAVE = 70
All eigenmodes between 50 Hz and 70 Hz are written to the file "test_file_70.eigv."
You can now run a modal transient response analysis with:
EIGVNAME = test_file
$
subcase 40
spc = 1
dload = 30
method
20
tstep(time)
= 100
EIGVRETRIEVE = 50, 70
The real eigenvalue extraction data referenced in the modal transient response analysis subcase must not request eigenvalue and eigenvector results outside of the range of retrieved values. If it does, OptiStruct will terminate with an error. In this example, the following EIGRL cards are valid:
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
EIGRL |
20 |
0.0 |
70.0 |
|
|
|
|
|
|
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
EIGRL |
20 |
0.0 |
50.0 |
|
|
|
|
|
|
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
EIGRL |
20 |
30.0 |
40.0 |
|
|
|
|
|
|
The following EIGRL cards would cause error terminations for this example:
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
EIGRL |
20 |
0 |
100.0 |
|
|
|
|
|
|
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
EIGRL |
20 |
50.0 |
70.01 |
|
|
|
|
|
|
It is recommended to use a frequency range without the maximum number of modes on the EIGRL bulk data entries referenced in normal modes analyses from which eigenvalue results are saved. If the maximum number of modes is specified and these eigenvalue results are retrieved by a modal frequency response analysis, and it cannot be determined whether all of the modes are obtained for the requested range, OptiStruct will terminate with an error.
For example, assume there are exactly 300 modes in the frequency range 0.0 to 5.0.0 Hz. Now assume that a normal modes analysis is performed referencing the EIGRL bulk data entry.
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
EIGRL |
20 |
0.0 |
50.0 |
300 |
|
|
|
|
|
The eigenvectors and eigenvalues are saved as follows:
EIGVNAME = test_file
$
Subcase 10
spc = 1
method = 20
EIGVSAVE = 50
All 300 modes in the range of 0 to 50.0 Hz are extracted and saved to the file "test_file_50.eigv."
Now we try to retrieve these results to use in a modal frequency response analysis as follows:
EIGVNAME = test_file
$
subcase 40
spc = 1
dload = 30
method 20
EIGVRETRIEVE = 50
where the referenced EIGRL definition is:
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
EIGRL |
20 |
0.0 |
50.0 |
|
|
|
|
|
|
This will cause an error termination because we know (through the external data file) that there are 300 modes within the 0.0 to 50.0 Hz range, but do not know if this is all of the modes.
If the EIGRL definition referenced in the normal modes analysis were specified as:
|
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
|
EIGRL |
20 |
0.0 |
50.0 |
301 |
|
|
|
|
|
and only 300 modes were found, we would know that these are all of the modes within the 0.0 to 50.0 Hz range, and would retrieve the saved eigenvalue results in this case. OptiStruct would not terminate with an error.