Dans certains cas il peut être plus intéressant d'utiliser les macro-commandes MACRO_MODE_MECA [U4.52.02] ou CALC_MODAL [U4.52.10].
Principes
En QEP, il est nécessaire d'utiliser MODE_ITER_SIMULT(METHODE='SORENSEN'/'QZ') pour résoudre des problèmes avec des matrices non symétriques et/ou des valeurs complexes. Lorsqu'il s'agit de déterminer des valeurs propres simples et bien discriminées ou d'améliorer certains estimateurs, l'opérateur MODE_ITER_INV (heuristique + puissance inverse) s'avère souvent utile. En revanche, pour capturer une partie significative du spectre, nous utilisons MODE_ITER_SIMULT, via des méthodes sous-spatiales (Lanczos, IRAM, Jacobi) ou la méthode globale QZ (une méthode très robuste mais coûteuse ; réservée aux petits cas).
Il est également fortement recommandé de profiter des atouts des deux classes de méthodes en affinant les vecteurs propres obtenus par MODE_ITER_SIMULT, via MODE_ITER_INV(OPTION='PROCHE'). Calibrer les zones d'intérêt par un premier appel à INFO_MODE sur une liste de fréquences donnée (resp. charges critiques). Relancez un ou plusieurs calculs MODE_ITER_SIMULT+OPTION='TYPES' (ou MACRO_MODE_MECA) en essayant d'équilibrer les pneus.
Pour gagner du temps, on peut même combiner (et c'est fortement recommandé !) une partie du coût de calcul de l'INFO_MODE initial en informant MODE_ITER_SIMULT sur le nom de la table générée sd_table (voir mots-clés TABLE_). Ce chaînage peut ainsi rendre le surcoût INFO_MODE négligeable et piloter efficacement le calcul modal. Certains mots-clés ou valeurs deviennent inutiles (OPTION='BANDE', VERI_MODE/STURM..) et seules les méthodes Sorensen, Lanczos ou QZ restent disponibles.
Opérandes MATR_RIGI/MATR_A/MATR_MASS/MATR_RIGI_GEOM
Mot clé TYPE_RESU
Mot clé METHODE
- Opérandes d’IRAM (si METHODE=‘SORENSEN’)
- Opérandes de la méthode de Lanczos (si METHODE=‘TRI_DIAG’)
- Opérandes de la méthode de Bathe & Wilson (si METHODE=‘JACOBI’)
- Opérandes de la méthode QZ (si METHODE=‘QZ’)
On utilise la méthode Bathe & Wilson (puis la méthode Jacobi sur le système projeté) pour calculer les modes propres du GEP (cf. [R. La méthode prend alors en compte qu'avec la plus faible précision possible, la "machine zéro" doit fonctionner Il s'agit des paramètres permettant d'ajuster la précision requise sur les modes (la précision machine est sélectionnée par défaut), le nombre de redémarrages autorisés de la méthode Sorensen (cf.
Les deux premiers paramètres permettent respectivement d'ajuster la précision de l'orthogonalisation et le nombre de réorthogonalisations dans la méthode de Lanczos pour obtenir des vecteurs indépendants qui génèrent le sous-espace (cf. [R. Le troisième est un paramètre d'ajustement pour déterminer l'invalidité d'un terme dans la superdiagonale de la matrice tridiagonale qui caractérise le problème réduit obtenu par la méthode de Lanczos. Cette dernière fixe le nombre maximum d'itérations pour la solution du système réduit pour la méthode QR ([R5.01.01 ] Annexe 1).
Les deux premiers paramètres permettent d'ajuster la précision de convergence et le nombre maximum d'itérations autorisé de la méthode Bathe & Wilson (cf. Les deux autres ajustent la précision de convergence et le nombre maximum d'itérations de la méthode JACOBI (voir [R5) . 01.01] annexe 3. Le premier choix ('QZ_SIMPLE') indique la méthode de base, le second ('QZ_EQUI') ajoute un prétraitement pour équilibrer les conditions matricielles.
Mot clé CALC_FREQ
Opérande FREQ
Ce solveur modal global est utilisé pour calculer les modes propres de la matrice prédite par Bathe & Wilson. L'étape de prétraitement MODE_ITER_SIMULT n'effectuera alors pas le test de Sturm, mais détectera à la place les sous-bandes incluses dans l'intervalle du tableau. Ce chaînage permet réellement de réduire le surcoût de la calibration initiale pour INFO_MODE.
Les bornes de sélection fmin, fmax doivent correspondre exactement aux bornes utilisées pour générer l'INFO_MODE initial (dans la limite de VERI_MODE/PREC_SHIFT % 3. La sélection des lignes du tableau s'effectue par rapport aux valeurs initiales des fréquences Ce sont bien entendu ces dernières valeurs décalées qui sont envoyées à l'algorithme MODE_ITER_SIMULT.
Cette stratégie préserve ainsi à la fois l'ergonomie du paramétrage et la cohérence du comportement du logiciel : un MODE_ITER_SIMULT+'BANDE' donne le même résultat qu'il démarre sa phase de prétraitement avec ou sans table précalculée. La table ne doit pas avoir de trous ni de chevauchement, sinon elle sera rejetée. Mais ce scénario ne peut normalement pas se produire avec une carte de INFO_MODE.
Opérande AMOR_REDUIT
Nous ajouterons alors simplement le nombre d’états correspondant à chaque sous-intervalle pour obtenir le nombre total d’états à rechercher. Mais s'ils ont subi des décalages (car trop proches des états purs), le tableau trace également ces valeurs après décalages (valeurs FREQ_MIN/MAX versus BORNE_MIN/MAX_EFFECT. Si l'une des bornes de sélection doit être décalée (en INFO_MODE précédent), la phase de prétraitement génère une ALARME pour reproduire le même comportement que pour un calcul standard.
Opérande NMAX_FREQ
Mot clé CALC_CHAR_CRIT
Opérande CHAR_CRIT
Opérande NMAX_CHAR_CRIT
Opérande APPROCHE
Opérande OPTION
Option utilisable uniquement dans le cas TYPE_RESU='DYNAMIC', pour un problème généralisé, avec des matrices réelles symétriques. En effet, au cœur de l'algorithme, avant d'être converties en fréquences physiques naturelles, les valeurs naturelles peuvent être très petites et très proches.
Opérandes SEUIL_FREQ/CHAR_CRIT ,PREC_SHIFT, NMAX_ITER_SHIFT
Fr : il peut être utile de désactiver le test STURM dans l'opérande VERI_MODE. Les autres paramètres, PREC_SHIFT et NMAX_ITER_SHIFT, sont liés à l'algorithme de décalage des frontières de l'intervalle [f min, fmax] (cf. [R quand on remarque qu'elle est très proche d'une valeur Si la matrice dynamique ainsi reconstruite est l'est toujours) s'il est jugé «numériquement singulier», nous nous déplaçons à nouveau après avoir émis une ALARME.
On n'évolue pas d'une valeur inférieure à ce minimum (d'où le maximum dans les formules ci-dessus). Si la limite mesurée depuis le début est inférieure à ce "zéro" ∣ *∣ mekor (en valeur absolue), on la fixe à plus ou moins cette valeur (selon que cette limite est positive ou négative). Une limite de l'intervalle est proche d'une valeur propre, lorsque la factorisation LDLT de la matrice dynamique associée à cette limite (par exemple celle d'un GEP s'écrit Q :=A − B) conduit à une perte de valeur décimale. place de plus de chiffres NPREC (valeur configurée sous le mot clé SOLVEUR.
De même, en jouant sur les paramètres numériques des solveurs linéaires (par exemple : METHODE, RENUM, PREPROCESSORS, etc.), on peut aussi influencer ce critère de singularité. Cette technique de décalage est mise en œuvre dans deux scénarios : calcul d'un test de Sturm (pré- et/ou post-traitement) et construction de la matrice de travail dynamique. En cas d'échec de l'algorithme de déplacement : dans le premier cas on envoie une ALARM, dans le second on s'arrête en FATAL_ERROR.
Opérande DIM_SOUS_ESPACE
Un mode est considéré comme réel si sa partie imaginaire est inférieure à SEUILR=1E-7 (valeur dure initialisée dans les routines de tri wp*vec.f). Lorsque les modes sont triés en réel pur ou en inadéquation complexe, un message informatif ou une alarme (ALGELINE4_87/88) apparaît selon la situation. À proprement parler, en dynamique, ce ne sont donc pas les fréquences que l’on déplace, mais les pulsations.
Encore une précision, le décalage est en réalité dichotomique pour l'efficacité : p_shift% la première fois, 2xp_shift% la deuxième fois, etc. En revanche, il ne faut pas trop augmenter la valeur de ces paramètres, car en raison des décalages, les limites résultantes peuvent s'avérer très différentes des limites initiales. En jouant sur la valeur de ce paramètre (NPREC=7, 8 ou 9) on peut éviter des refactorings coûteux résultant de ces décalages lorsque cette singularité numérique est peu prononcée.
On peut cependant fixer arbitrairement la taille de ce sous-espace, via la valeur prise par le mot clé DIM_SOUS_ESPACE (qui doit être supérieure à nf pour être prise en compte). Dans les deux cas, si la taille du sous-espace de projection ndim est strictement supérieure au nombre de "degrés de liberté actifs", natifs (cf. [R), on l'oblige à prendre cette valeur supérieure. Si on utilise la méthode de Sorensen (IRAM) et si ndim-nf<2, les impératifs informatiques forcent ndim=nf+2.
Mot clé VERI_MODE
- Opérande STOP_ERREUR
- Opérande SEUIL
- Opérande STURM
- Opérande PREC_SHIFT
Ce paramètre (qui est un pourcentage) permet de définir un intervalle contenant les valeurs propres calculées, pour lequel la vérification Sturm sera effectuée (algorithme [R5.01.01] n°2). Il sert également à sélectionner les lignes du tableau fourni dans le cas de la chaîne INFO_MODE+MODE_ITER_SIMULT+'BANDE' (voir mots-clés TABLE_FREQ/CHAR_CRIT).
Opérande STOP_BANDE_VIDE
Opérande INFO
Opérande TITRE
L'argument du mot clé FREQ ou du mot clé CHAR_CRIT doit fournir exactement deux valeurs, OPTION='CENTRE'. L'argument du mot clé FREQ ou du mot clé CHAR_CRIT doit fournir exactement une valeur, OPTION='PLUS_PETITE'.
Vérification
Actions par défaut
Dans le cas du calcul dynamique, la structure de données mode_meca_* contient, outre les fréquences d'oscillation et les formes modales associées, des paramètres modaux (masse généralisée, raideur généralisée, facteur de coopération, masse effective). Dans le cas d'un calcul de flèche linéaire, la structure de données mode_flamb contient uniquement les charges critiques et leurs déformations associées. Dans le cas d'un calcul dynamique généralisé à matrices réelles symétriques, la position modale correspond à la position du mode dans tout le spectre défini par les matrices initiales.
Dans tous les autres cas, les positions modales sont attribuées de 1 à nf (nf est le nombre de modes conservés) par tri par ordre algébrique croissant.
Parallélisme du solveur linéaire
Calcul des modes par sous-bandes
En sortie de cet opérateur, les modes propres réels ou complexes sont normalisés à la plus grande composante qui n'est pas un multiplicateur de LAGRANGE. Par exemple, parmi les charges sismiques dans une analyse modale, la base modale utilisée doit contenir des modes qui ont une unité significative de masse effective dans la direction du séisme. La commande EXTR_MODE[U4.52.12] permet d'extraire d'une structure de données de type mode_meca_* les modes qui vérifient un certain critère et de combiner plusieurs structures de données de type mode_meca_*.
Une macro-commande, permettant d'enchaîner les commandes MODE_ITER_SIMULT, NORM_MODE et EXTR_MODE, a été créée : MACRO_MODE_MECA[U4.52.02].
Calcul des 5 modes propres les plus proches d’une fréquence donnée ()
Calcul des charges critiques contenues dans une bande
Chaînage INFO_MODE+MODE_ITER_SIMULT (extrait de SDLS504a)