I.6.9 Random or PSD integration methods
Method “calcRandomResponse” is used to calculate a PSD and/or integrate a PSD and/or a transfert
function. We summarize here the theoretical background extracted from [Sof10] that is
necessary to understand what the method does. Reader is referred to [Sof10] for more
information.
The purpose of a random calculation is to assess structural response as power spectral density
assuming that structure behavior to a given type of excitation is known by its transfert function, and
that the excitation is specified as an input power spectral density (PSD).
More precisely, one assumes that a unique excitation
is present, and one calculates the response at output location
:
In previous expression:
-
is the structure transfert function at location
for an excitation .
This transfert function depends on the frequency and is supposed to be obtained by
computing a frequency response analysis with Nastran with a unit excitation.
-
is the input PSD depending on the kind of excitation and unit system used in the finite
element analysis, its units are ,
,
...
The input PSD is scalar.
-
is the output PSD at location .
Depending on the kind of quantity that is calculated, the output PSD units may differ:
for displacements,
for accelerations,
for stresses,
for forces... FeResPost considers that the output PSD can be scalar, vectorial or tensorial
depending on the kind of quantity that is calculated.
Note that the input and output PSD have always positive real values for all components.
Once a PSD is calculated, an equivalent RMS output can be calculated as follows:
Practically, FeResPost calculates the integral on a finite range of frequencies:
|
Practically, the transfert function is known by its values at different frequencies
,
.
Then the integrations above are replaced by integrations on smaller frequency ranges:
|
Assuming a log-log dependence of
between
and ,
one has
|
in which
|
The integral in range
is then calculated by:
- If or
:
- If
and :
|
If one assumes that function
varies linearly between
and , then the
integral in range
becomes simply:
|
Note that in Nastran, the assumption of log-log or linear interpolation on each frequency interval is
managed by the option RMSINT.
“calcRandomResponse” method in “Post” Module can be used to calculate output PSD from a
transfert function, to integrate the PSD, and/or calculate the RMS value. The method is called as
follows:
...
arr=Post.calcRandomResponse(bOutputPsd,bOutputIntPsd,
inputResults,freqs,psdIn,integType,addRes)
psdOut=arr[0]
intPsdOut=arr[1]
rms=arr[2]
...
The method has 6 or 7 arguments:
-
1.
- “bOutputPsd” is a logical parameter that specifies whether the output PSD must be
returned by the method.
-
2.
- “bOutputIntPsd” is a logical parameter that specifies whether the integration of the
output PSD at each frequency must be returned by the method. (If one does not require
the value at each frequency, only the last value is returned.)
-
3.
- “inputResults” is an Array of Result objects containing the transfert function
(complex Result) or only its magnitude
(Real result).
-
4.
- “freqs” is an Array of real values corresponding to the frequencies at which the
transfert function and input PSD have been discretized. The size of this array must
correspond to the size of the “inputResults” Array.
-
5.
- “psdIn” is an Array of real values corresponding to the input PSD level (excitation) at
discretization frequencies. The number of elements in this Array must match the number
of elements in “inputResults” and “freqs” Arrays.
-
6.
- “integType” is a String that specifies the interpolation and integration rule on
frequency intervals. Possible values are “LogLog” or “LinLin”. If another value is
provided, “calcRandomResponse” raises an exception.
-
7.
- “addRes” is a Real Result that must be considered as the initial value from which the
integration of output PSD starts. (This parameter can be very useful when integration is
“sliced” on sub-ranges of the entire frequency range.) If no starting value is specified,
parameter can be omitted. If parameter is “nil”, one also considers that no starting value
is specified.
Note that the different Result arguments must have the same size and keys. The method returns an Array
of 3 elements:
-
1.
- The first element corresponds to the output PSD. It is an Array of Result objects that is
filled if “bOutputPsd” argument is true. Otherwise, “nil” is returned.
-
2.
- The second element corresponding to the integrated output PSD:
- If “bOutputIntPsd” is true, then this element is an Array of Result object
corresponding to the integration at each frequency.
- If “bOutputIntPsd” is false, then this element is a Result object corresponding
to the last value of the integrated output PSD.
Note that the optional “addRes” parameter defines the start for the integration.
-
3.
- The third output corresponds to the RMS value of the output PSD. This is a Result object.
Practically, the components of the output RMS are calculated as the square root of the
corresponding component of the integrated output PSD. (Or the last value of the integrated
output PSD, if “bOutputIntPsd” is set to “true”.)