FeResPost Web Site                     FeResPost Online User Manual

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 a is present, and one calculates the response at output location j:

Sja = Hja 2S a.

In previous expression:

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:

u¯j = 0Sja(f)df.

Practically, FeResPost calculates the integral on a finite range of frequencies:

u¯j = f minfmaxSja(f)df.

Practically, the transfert function is known by its values at different frequencies fi, i = 1...N. Then the integrations above are replaced by integrations on smaller frequency ranges:

0S ja(f)df i=1N-1fifi+1 Sja(f)df.

Assuming a log-log dependence of Sja(f) between fi and fi+1, one has

Sja(f) = Sja(fi) fiα fα with f i < f < fi+1,

in which

α = log (Sja(fi+1)Sja(fi)) log (fi+1fi) .

The integral in range fi,fi+1 is then calculated by:

If one assumes that function Sja(f) varies linearly between fi and fi+1, then the integral in range fi,fi+1 becomes simply:

fifi+1 Sja(f)df = Sja(fi) + Sja(fi + 1) fi+1 - fi 2 .

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 Hja (complex Result) or only its magnitude Hja (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:

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”.)