Grid Point Kinetic Energy (GPKE) can be processed directly from Nastran without the use of any special purpose alters. However, an alter called write_gpke is supplied with TAMKIT. This performs two functions. The first is to write the GPKE in a DMIG format that includes only the nonzero terms. The second is to calculate GPKE based on A-set rather than G-set matrices. The Nastran alter write_gpke includes a PARAM,GPASET. The default value of ‘NO’ will do the standard calculation in (2.5.1-1), while a value of ‘YES’ will perform the A-set calculation in (2.5.1-2). In either case the output is written in DMIG format to the .pch file. If this is the only required output, a NOPRINT option should be chosen on the GPKE card.
The use of the gpke_aset alter is illustrated in the Nastran deck listed in Figure 3-7. This is a RESTART run from the original modes run and writes all GPKE values greater than 0.01%.
gpsc_gpke.dat
ASSIGN MASTER='gpsc_fem.MASTER'
ASSIGN DBALL ='gpsc_fem.DBALL'
RESTART
$
SOL 103 $
$
INCLUDE 'write_gpke.v2001'
$
CEND
TITLE =GENERAL PURPOSE SPACECRAFT (GPSC)
SUBTITLE =GRID POINT KINETIC ENERGIES - ASET
$
SPC = 10 $ Constrain booster interface points
METHOD = 70 $ Modes to 70 Hz
$
GPKE(NOPRINT,THRESH=0.01) = ALL $ Write GPKE data to punch file
$
BEGIN BULK
$
ENDDATA
Figure 3-7. Sample input file to recover grid point kinetic energies for V2001.
Since MSC.Nastran V70.5 and V70.7 do not have a GPKE output option, the input deck is a little different, as illustrated in Figure 3-8.
gpsc_gpke.dat
ASSIGN MASTER='gpsc_fem.MASTER'
ASSIGN DBALL ='gpsc_fem.DBALL'
RESTART
$
SOL 103 $
$
DIAG 8 $
$
INCLUDE 'write_gpke.v705'
$
CEND
TITLE =GENERAL PURPOSE SPACECRAFT (GPSC)
SUBTITLE =GRID POINT KINETIC ENERGIES - ASET
$
SPC = 10 $ Constrain booster interface points
METHOD = 70 $ Modes to 70 Hz
$
DISP(PLOT) = ALL
$
BEGIN BULK
$
PARAM GPASET YES
PARAM THRESH 0.01
$
ENDDATA
Figure 3-8. Sample input file to recover grid point kinetic energies for V70.5.
Another way to use GPKE to select DOF is address the
problem as one of maximizing the frequencies of the problem. To do this one starts with a set of DOF and replaces
the ASET cards with SPC cards. The resulting modal calculation will be
the eigenvalues of
. To increase these eigenvalues
the user would examine the GPKE and SPC those DOF with high GPKE in the
lowest frequency modes. This process would be repeated until the lowest
frequency of
is above the frequency range
of interest.
To facilitate the reading and reporting of kinetic energy data, TAMKIT includes two Matlab functions. These are read_ke and rpt_ke. The syntax of read_ke is:
>> gpke = read_ke(‘filename.pch’, cutoff);
where ‘filename.pch’ is the Nastran punch file with GPKE data and N is a cutoff below which values are discarded. This is identical to the THRESH value on the GPKE card in Nastran. The variable gpke is a cell structure, each element of which has the following fields:
gpke{i}.shape real array of sorted kinetic energy for ith mode
gpke{i}.node integer array with node numbers corresponding to each element of ke{i}.shape
gpke{i}.dir integer array with direction (1,2,3,4,5 or 6) corresponding to each element ke{i}.shape
The routine rpt_ke can be used to write the GPKE data out to a comma delimited (CSV) file and as ASET cards for Nastran. The syntax of rpt_gpke is:
>> rpt_gpke(gpke, ‘file.csv’, N, ‘file.aset’, p);
where gpke is a GPKE structure defined above, ‘file.csv’ is a comma-delimited file with the first N DOF for each mode, and ‘file.aset’ is a Nastran bulk data file with ASET cards for all DOF required to achieve p% of the total kinetic energy in every mode. For example to write the first ten DOF for each mode to ‘tam.csv’, and enough DOF to provide 50% of the kinetic energy of all modes to ‘tam.aset’ enter the following Matlab command:
>> rpt_ke(gpke, ‘tam.csv’, 10, ‘tam.aset’, 50.0);