3. Operands#
3.1. Operands VALE, DEBUT, INTERVALLE, JUSQU_A,, TITRE, INFO#
These keywords are directly used by DEFI_LIST_REEL to define the initial list of frequencies.
- note
All values requested in the base list are automatically in the final list at the output of DEFI_LIST_FREQ.
3.2. Keyword RAFFINEMENT#
3.2.1. Operand LIST_RAFFINE#
List of frequencies around which we want to refine.
This list can be built from a Python list.
This keyword is particularly interesting in the case of a harmonic analysis of a structure (operator DYNA_VIBRA), because it will make it possible to calculate the harmonic response around the natural frequencies of the structure and therefore to recover the local extremes. It is possible to retrieve the natural frequencies directly in a mode_ XXX data structure resulting from a modal calculation carried out for example with the CALC_MODES command. To do this, simply use the LIST_VARI_ACCES () method.
Example:
fashion = CALC_MODES (
MATR_RIGI =stuff up,
MATR_MASS =matassm,
OPTION =" AJUSTE ",
CALC_FREQ =_F (FREQ =( 5.0, 10.0, 15.0, 15.0, 20.0, 24.0, 27.0)),
)
list_freq = modes. LIST_VARI_ACCES () ['FREQ']
list_freq is thus a Python list containing the list of natural frequencies present in the modes result.
3.2.2. Operand PAS_MINI#
If the difference between two values is less than PAS_MINI then one of them is removed. With this rule, the value removed can be a value found in the initial list (VALE) or the list of refinement points (LIST_RAFFINE).
3.2.3. Operand DISPERSION#
DISPERSION is the width of the interval surrounding each LIST_RAFFINE frequency where you want to refine.
3.2.4. Operand CRITERE#
The width of the interval \(df\) surrounding each frequency \(freq_{i}\) of LIST_RAFFINE where we want to refine is determined from the value of DISPERSION and is equal to:
If CRITERE =” RELATIF “:
\(df = disp . freq_{i}\)
If CRITERE =” ABSOLU “:
\(df = disp\)
If CRITERE =” LARGEUR_3DB “, we provide the list of damping values with the keywords AMOR_REDUIT or LIST_AMOR. This is the list of reduced amortizations (\(\eta_{1}\), \(\eta_{2}\),…, \(\eta_{n}\)) corresponding to each mode specific to the system in the form of a list of reals.
Name of the listr8 concept containing the list of reduced depreciations (\(\eta_{1}\), \(\eta_{2}\),…, \(\eta_{n}\)).
- note
If the number of reduced depreciations given is less than the number of base vectors used in the modal base, the depreciations of the additional vectors are taken equal to the last damping in the list.
If damping \(\eta_{i}\) is non-zero, frequency \(freq_{i}\) used To calculate the length of the interval \(df\) is the frequency \(freq_{i}\) of LIST_RAFFINE offset to the resonance frequency of a forced system, be \(freq_{i} = freq_{i} \sqrt{(1-2{\eta }_{i}^{2})}\).
The length of the interval \(df\) surrounding each \(freq_{i}\) frequency where we want to refine is:
If \(\eta_{i} \ne 0\):
\(df = 2{\eta }_{i} freq_{i}\)
If \(\eta_{i} \ne 0\):
\(df = 0.01 freq_{i}\)
3.2.5. Operand NB_POINTS#
NB_POINTS is the number of points you want to add around the frequencies in the LIST_RAFFINE list.
The points added are evenly distributed in the interval \(df\). So if NB_POINTS is an odd number, the frequencies of LIST_RAFFINE will be in the final list.
If CRITERE =” LARGEUR_3DB “and NB_POINTS is an even number, we keep the frequency \(freq_{i}\) of LIST_RAFFINE and we add the resonance frequency of a forced system such as \(freq_{i} = freq_{i} \sqrt{(1-2{\eta }_{i}^{2})}\).
3.3. Keyword EQUI_MODES#
This keyword concerns the configuration of a frequency band balancing algorithm, upstream of a multi-band modal calculation via the operator CALC_MODES.
This algorithm aims to determine the ends of frequency bands, so that the latter have a comparable and limited number of natural frequencies (i.e., of the order of \(\mathcal{O}(10^{1})\)). This makes it possible in particular to improve the robustness and the performance of a multi-band modal calculation (see [R5.01.04]). To do so, the aforesaid algorithm is based on an iterative procedure, aimed at making several calls. to a procedure for counting eigenvalues, in order to sufficiently « discover » the distribution of eigenvalues of the problem and thus propose a division into balanced frequency bands.
When the EQUI_MODES keyword is used, the DEFI_LIST_FREQ operator returns a list of reals including the ends of the optimized frequency bands. This list can then be filled in to the operator CALC_MODES, via the FREQ operand of the CALC_FREQ keyword with « OPTION = “BANDE “``. The algorithm mentioned above takes into account two types of input data:
a list of real numbers including natural frequencies calculated beforehand,
stiffness and mass matrices. In such a case, the above algorithm is based on the procedure for counting eigenvalues for the INFO_MODE operator.
3.3.1. Operands FREQ_MIN and FREQ_MAX#
The FREQ_MIN and FREQ_MAX operands allow you to define the ends of the interval in which the procedure frequency band balancing is carried out.
3.3.2. Operand TYPE_SAISIE#
The mode of use of the frequency band balancing algorithm is defined via TYPE_SAISIE. The case « TYPE_SAISIE = “LISTE “« corresponds to the specification of a list of natural frequencies pre-calculated. The specification of assembled stiffness and mass matrices can be made by entering « TYPE_SAISIE = “MATR_ASSE “``.
3.3.3. Operand LIST_FREQ#
The LIST_FREQ operand allows you to specify a list of reals corresponding to natural frequencies pre-calculated, in the case of « TYPE_SAISIE = “LISTE “ ».
3.3.4. Operands MATR_RIGI and MATR_MASS#
In the case of specifying assembled matrices (« TYPE_SAISIE = “MATR_ASSE “ »), the stiffness and mass matrices are entered via the operands MATR_RIGI and MATR_MASS. It is important to note that the frequency band balancing algorithm is not implemented. only in the case of real symmetric generalized standard eigenvalue problems (see [R5.01.01]). As a result, only real symmetric assembled matrices can be used.
3.3.5. Balancing algorithm parameters#
The EQUI_MODES keyword also allows you to specify (optional) parameters relating to the algorithm frequency band balancing, namely:
NB_MODES, corresponding to the number of natural frequencies per desired band. By default, it is set to 40, based on the recommendations set out in reference documentation [R5.01.04].
ITER_MAXI, allowing to set the maximum number of iterations of the algorithm,
NB_POINTS_INIT, allowing you to set the initial number of natural frequency search intervals used by the algorithm,
NB_POINTS_SUPP, allowing you to define the number of additional search intervals during of an iteration of the algorithm.
TOLERANCE, allowing to define the criterion for stopping the algorithm. In the case of balancing \(B\) frequency bands, the latter are considered to be sufficiently balanced if the following condition is met:
where \(\varepsilon_i\) refers to the error defined as follows:
\(N_i\) designating the number of natural frequencies in the \(i\) band, \(N_b\) the number of frequencies clean frequencies per desired band (NB_MODES), and \(N\) the total number of natural frequencies in the range [FREQ_MIN, FREQ_MAX].
3.3.6. Description of the result and use in a modal calculation#
In the case where the frequency band balancing algorithm is used, the structure of
data produced by operator DEFI_LIST_FREQ is a table (table_sdaster
), whose columns
combine information relating to the results of the algorithm, namely:
NUME_BANDE, corresponding to the numbers of each frequency band obtained,
FREQ_MIN and FREQ_MAX, corresponding respectively to the minimum and maximum ends of each band,
NB_MODES, corresponding to the number of natural frequencies contained in each band,
NB_CIBLE, corresponding to the desired number of natural frequencies per band (*i.e. NB_MODES in EQUI_MODES),
ERR_REL, corresponding to the relative error:math: left|varepsilon_iright| associated with each band,
NB_ITER, corresponding to the number of iterations carried out,
ITER_MAXI, corresponding to the maximum number of iterations allowed (*i.e. ITER_MAXI in EQUI_MODES).
This table can then be used to perform a multi-band modal calculation with the operator
CALC_MODES, by extracting frequency bands in Python
. We give below
an example of use:
table = DEFI_LIST_FREQ (
EQUI_MODES =_F (TYPE_SAISIE =" MATR_ASSE ",
FREQ_MIN =0.0,
FREQ_MAX =500.0,
MATR_RIGI =stuff up,
MATR_MASS =matassm,
),
)
list_freq = [table. EXTR_TABLE () .values () [" FREQ_MIN "] [0]] + table. EXTR_TABLE () .values () [" FREQ_MAX "]
fashion = CALC_MODES (
MATR_RIGI =stuff up,
MATR_MASS =matassm,
OPTION =" BANDE ",
CALC_FREQ =_F (FREQ =list_freq),
)