3. Operands#
3.1. Operands RESU_GENE/RESULTAT#
♦/RESU_GENE = TG
This keyword can be used if the concept to be transformed by FFT direct or inverse is a result of an evolution in generalized transient coordinates of the tran_gene type or frequency of the harm_gene type.
/RESULTAT = resu
This keyword can be used if the concept to be transformed by direct or inverse FFT is an evolution result on a transient physical basis of the dyna_trans type or frequency of the dyna_harmo type.
3.2. Operands TOUT_CHAM/NOM_CHAM#
mary/ TOUT_CHAM = 'OUI'
Allows you to transform by direct or inverse FFT the symbolic name fields DEPL, VITE and ACCE contained in the generalized result (tran_gene, harm_gene) or on the physical basis (dyna_trans, dyna_harmo).
mary/ NOM_CHAM = nomcha
List of symbolic field names that we want to transform by FFT directly or inversely: “DEPL”, “VITE”, “ACCE”.
3.3. Operand METHODE#
◊ METHODE =
Algorithm FFT only accepts as input a signal whose number of samples, in time or frequency as the case may be, is a power of 2.
The “PROL_ZERO” method (by default) proposes to extend the input signal with zeros until we have a total number of samples which is the first power of 2 whose value is greater than the initial number of samples.
The “TRONCATURE” method will only consider the first samples whose total number is the greatest power of two whose value is less than the initial number of samples.
For example, on a signal with 601 values, the “PROL_ZERO” method will complete the signal to have 1024 samples, while the “TRONCATURE” method will only consider the first 512 moments.
If the input signal has a number of samples that is a power of 2, the two methods are obviously equivalent: the signal is taken into account without modifying it.
3.3.1. Operand N_ PUIS#
◊ N_ PUIS = n,
Keyword that must be specified only if we apply METHODE = “PROL_ZERO “.This option allows us to extend the input signal with zeros until we have a total number of samples which is the first power of 2 whose value is greater than the initial number of samples + N_ PUIS .In practice, we can choose any power of 2 to complete our signal with zeros. At the very least, if you want to use METHODE = “PROL_ZERO” in the classic way, you have to enter N_ PUIS = 0. We give an example to show the use of N_ PUIS:
We consider a time signal that goes up to \({T}_{\mathit{max}}=20.475s\) with a \(\mathrm{\Delta }t=0.005s\) time step;
If we transform this signal with, for example, CALC_FONCTION (option FFT, method PROL_ZERO) we end up with a Fourier transform that has a frequency step \(\mathrm{\Delta }f=1/(\mathrm{\Delta }t+{T}_{\mathit{max}})\) with a maximum frequency \({f}_{\mathit{max}}=100\mathit{Hz}\);
Now, for example, if we perform a harmonic calculation on a physical basis (using DYNA_VIBRA) for a frequency number greater than 1024 but less than 2048 (while keeping the same Fourier transform frequency step), we would have a maximum calculation frequency greater than \(50\mathit{Hz}\). Then, if we go back to time via the operator REST_SPEC_TEMP, with the METHODE = “PROL_ZERO”, we complete up to 2048 frequencies (i.e. 100Hz). The Fourier transforms (direct and inverse) therefore have the same normalization and the calculation is correct;
If, on the other hand, we decide to truncate the harmonic calculation to \(30\mathit{Hz}\) (completely legitimate for a seismic calculation, for example) we would have a frequency number less than 1024 (but greater than 512) and with the PROL_ZERO of REST_SPEC_TEMP we will complete up to \(50\mathit{Hz}\). The output signal from REST_SPEC_TEMP would therefore have a factor of 2 compared to the correctly normalized solution;
To come up with the right solution (if we decide to truncate the calculation to \(30\mathit{Hz}\)) we would have to complete not only up to 1024 but to reach 2048. To do this, it is therefore sufficient to add an additional power of 2, that is to say simply enter the option N_ PUIS =1.
For a concrete example of the use of this keyword, reference is made to the C modeling of the sdls119 test case.
3.4. Operand SYMETRIE#
◊ SYMETRIE =
Key word that only applies to the inverse Fourier transform (from frequency to time). The (complex) spectrum supplied as input to the inverse FFT must respect certain rules (in particular to find a real time function): in relation to its midpoint, its real part must be symmetric and its imaginary part antisymmetric. In general, if this spectrum comes from a calculation of FFT, then these symmetry conditions are respected (except voluntary truncation). On the other hand, if you only have half of the spectrum, then you have to report it to the calculation operator of FFT.
This spectrum symmetry information is managed by the SYMETRIE keyword. If the spectrum is complete and therefore respects symmetries, then the user must specify SYMETRIE = “OUI”. On the other hand, if the spectrum is truncated, then it is appropriate to choose SYMETRIE = “NON”. The spectrum is then symmetrized: this leads to a multiplication by 2 of its number of samples and therefore of its maximum frequency.
Consequently, this operand only applies if the result to be transformed is a generalized frequency evolution (harm_gene) or on a physical basis (dyna_harmo).