3. Operands#

3.1. Operand INTE_SPEC#

♦ INTE_SPEC = intf [interspectrum]

Name of the interspectral matrix towards which the interspectral matrix of the generated signals should tend.

The interspectral matrix is a complex matrix, each term of which is written \({S}_{\mathit{XY}}(f)\mathrm{=}{\mathrm{\int }}_{\mathrm{-}\mathrm{\infty }}^{+\mathrm{\infty }}E\mathrm{[}X(t)Y(t\mathrm{-}\tau )\mathrm{]}{e}^{\mathrm{-}\mathrm{2i}\pi f\tau }d\tau\) where \(E[\text{}\cdot \text{}]\) is the mathematical expectation, and where \(X\) and \(Y\) are two stationary random processes (for example two components of loading at two distinct points in a mesh).

Note:

To be physical, the interspectral matrix must be a definite positive Hermitian matrix.

This interspectral matrix is generated mainly by the operators:

DEFI_INTE_SPEC, LIRE_INTE_SPEC, and CALC_INTE_SPEC.

For more information on the meaning of the parameters, the reader is invited to consult the documentation for the DEFI_INTE_SPEC [U4.36.02] command.

3.2. Operand NUME_VITE_FLUI#

◊ NUME_VITE_FLUI = nk [I]

This serial number corresponds to a flow speed if the interspectra model, via operators CALC_FLUI_STRU and DEFI_SPEC_TURB, a turbulent excitation induced by a fluid flow.

3.3. Operand INTERPOL#

◊ INTERPOL =
/'OUI' [DEFAUT]

It is allowed to interpolate the frequency functions constituting the terms of the interspectral matrix. In particular, the new discretization will depend on the duration of the signal to be generated (keyword DUREE_TIRAGE) and the number of FFT points (keyword NB_POIN).

/'NON'

The interspectrum values used are only the existing values (no interpolation steps used).

Attention:

If INTERPOL =” NON “, you have to:

  • the different terms of the interspectral matrix have exactly the same discretization and with a constant frequency step. If the number of discretization points in the interspectrum is not a power of 2, and/or is not compatible with the interspectrum one or more alarms are issued and an ad hoc power of 2 is chosen,

  • the interspectra are sufficiently finely discretized to allow the generation of temporals with sufficient moments.

3.4. Operand DUREE_TIRAGE#

◊ DUREE_TIRAGE = duration [R]

Duration of the signal to be generated, for each draw (the total duration will therefore be nt \(\text{}\mathrm{\times }\text{}\) duration).

If the keyword DUREE_TIRAGE is not present, the duration of the signal to be generated is calculated by \(\text{durée}\mathrm{=}\frac{1}{\Delta f}\) where \(\Delta f\) is the frequency step of the interspectrum (minimum step originating from the interspectrum, or not calculated from the keywords FREQ_INIT, FREQ_FIN and NB_POIN).

Note:

The signals generated start at time 0. with a zero value.

Note:

To obtain the desired duration, the generation algorithm adjusts the number of points used in FFT (cf. [§3.6] Opérande NB_POIN ) and if necessary extends the interspectrum beyond the min and max frequencies by zero values.

3.5. Operands FREQ_INIT/FREQ_FIN#

◊ FREQ_INIT = fi [R]

◊ FREQ_FIN = ff [R]

First and last frequency values for which the interspectrum will be taken into account.

The presence of these keywords has the effect of truncating the interspectrum. If the keywords are not present, the minimum and maximum frequency values of the interspectrum are used.

3.6. Operand NB_POIN#

◊ NB_POIN = nb_point [I]

Number of interspectrum discretization points to be used in the generation algorithm.

This number must be a power of 2 because it corresponds to the number of points of the inverse fast Fourier transform used by the generation algorithm. If this is not the case, the power of 2 immediately greater than nb_poin is retained.

If the NB_POIN keyword is not present, the number of points is calculated so that Shannon’s theorem is respected, i.e. \(\frac{1}{\Delta t}>2\cdot {f}_{\mathrm{max}}\), where \(\Delta t\) is the time step of the signal to be generated (which depends on NB_POIN and DUREE_TIRAGE) and where \({f}_{\mathrm{max}}\) is the maximum frequency selected from the interspectrum.

Suggestion:

It is recommended not to specify the number of points, in which case the coded algorithm automatically chooses the optimal value. In particular, if the keywords DUREE_TIRAGE and NB_POIN are not present, then it is ensured that the signal generated is consistent both with the discretization step of the interspectrum and with the maximum frequency. However, if the user wants to specify NB_POIN, the following two remarks should help.

Note:

If the keywords DUREE_TIRAGE and NB_POINsont are present then we have: \(\Delta t=\frac{1}{2}\times \frac{\text{durée}}{\text{nb\_poin}}\) In this case, if nb_poinis too small in relation to duration for the Shannon theorem to be respected; then an alarm is issued and the minimum number of points allowing compliance with Shannon’s theorem is retained. The value specified by NB_POINn is therefore only taken into account when it is greater than the minimum value. By imposing a high number of points, you can force the signal to have a discretization step that is smaller in time than by default. It is then necessary to be aware that the discretization of the temporal is finer than the maximum frequency of the interspectrum theoretically allows.

Note:

If INTERPOL =” NON “and nb_poinis not compatible with the interspectrum, an alarm is issued and an ad hoc power of 2 is chosen.

Note:

The number of points constituting the signals generated is equal to twice the number of discretization points in the interspectrum, and therefore to twice nb_poinwhen the keyword is entered. This number of points is useful to know for later use in CALC_INTE_SPEC [U4.36.03] (cf. [§ 3.9 ] «  Opérande INFO » and [§ 6 ] «  Exemples « ) .

3.7. Operand NB_TIRAGE#

◊ NB_TIRAGE = nt [I]

Number of draws that the generated time signals must contain. The result signals will contain ten statistically independent draws placed end to end.

It is then possible to post-process the results obtained from these signals generated with the operator CALC_INTE_SPEC [U4.36.03], cf. [§ 6] « Exemples ».

Attention:

If the keyword DUREE_TIRAGE is present, the total signal duration will be nt \(\text{}\times \text{}\) duration. However, it is of course not equivalent to generate 1 draw of duration nt \(\text{}\times \text{}\) duration_drawand ntdraws of duration duration_draw duration_draw put end to end. There is statistical independence between the different periods of duration* d in the second case and not in the first.

3.8. Operand INIT_ALEA#

◊ INIT_ALEA = ni [I]

Causes the sequence of pseudo-random numbers used to generate the signals to be initialized at its n-th term.

If the keyword INIT_ALEA is absent, the terms used in the following are those immediately consecutive to those already used. If no term has been used yet, the sequence is initialized to its first term.

Suggestion:

Unless there is a particular use, it is advisable not to enter the keyword INIT_ALEA in the following operators: GENE_FONC_ALEA, GENE_VARI_ALEA and GENE_MATR_ALEA .In this case, the first time one of these operators is called, the sequence of pseudo-random numbers is initialized to its first term. The omission of the keyword INIT_ALEA for each of the calls of these operators in the command file guarantees the statistical independence of the pseudo-random numbers used.

Note:

The seed of the sequence remains identical from one execution to the next of Code_Aster; the results therefore remain strictly identical (it is thus possible to test the non-regression of non-converged statistical results). If you want to generate statistically independent results from one execution to another, then you have to use the keyword INIT_ALEA with values that increase the number of terms used in previous executions.

Attention:

The random variable generator used is that of the Python « random » module. It depends on the version of Python used by Code_Aster. Results that are not statistically converged may therefore vary from one version to another of Code_Aster or from one platform to another, if the Python version is not the same and between the two versions the random module has evolved (case between Python 2.1 and 2.3) .

Note:

In Python 2.3, the generator period is 2**19937-1* . *

3.9. Operand INFO#

◊ INFO =
/1: no printing.
/2: impression of the time step, the initial time, the final time of the signals generated, and

the number of points used in the inverse fast Fourier transform.

Note:

INFO =2 allows you to know the number of points constituting the signals generated (this is twice the number of points used in the inverse fast Fourier transform.) It is better to use this number of points then in the operator CALC_INTE_SPEC keyword * NB_POIN (cf. [§ 6 ] «  Exemples « ) .

3.10. Operand TITRE#

◊ TITRE = title

title is the title of the calculation to be printed at the top of the results [U4.03.01].