Amélioration des performances de la sous-structuration dynamique
par M. Corus, EDF R&D / AMA
Code_Aster permet de construire des modèles réduits sur la base des techniques de sous-structurations classiques, par le biais d’un enchainement de commandes. La démarche classique consiste à :
– 1. calculer, pour chaque sous-structure du modèle complet, une base de modes avec des conditions aux limites particulières pour les interfaces devant se raccorder aux autres sous-structures ;
– 2. définir les interfaces de couplage, cohérente avec les modes précédemment calculés ;
– 3. calculer, pour ces interfaces, les relèvements statiques ou les déformées à déplacement imposé associés à chaque DDL d’interface ;
– 4. construire une base de projection constituée de ces deux sous ensembles de vecteurs ;
– 5. construire, pour chaque sous-structure, un macro élément englobant ces différentes informations ;
– 6. construire un modèle généralisé, en définissant les liaisons entre chaques macro éléments ;
– 7. assembler le modèle généralisé ;
Les performances globales de la sous-structuration ont été améliorées en travaillant sur chacun des différents points clés de cette méthodologie.
Dans un premier temps, on a introduit dans l’opérateur MODE_STATIQUE une méthode de calcul de modes de couplage. Les approches classiques (point 2) nécessitent le calcul d’autant de vecteurs que de degrés de libertés (DDL) portés par les interfaces. Il s’agit ici de construire un sous espace pertinent, de taille très inférieure, permettant le passage correct des informations (déplacements et efforts) d’une sous-structure à l’autre. La technique introduite dans le code s’appuie sur l’utilisation d’un pré-conditionneur astucieux permettant le calcul efficace des modes des opérateurs d’interface.
Les gains réalisés impactent directement les temps de calculs, plus courts, mais aussi l’occupation mémoire en réduisant le nombre de vecteur à stocker.
Dans un deuxième temps, on a enrichi les possibilités offertes par l’opérateur DEFI_MODELE_GENE en autorisant le couplage et le raccordement d’interfaces fortement incompatibles. Les incompatibilités de maillages, qu’il s’agisse de la non coïncidence des nœuds (cas 2D/2D ou 3D/3D), et de la différence de modélisation (2D/3D) sont gérées en reconstruisant, pour l’interface définie comme esclave, l’ensemble des DDL à partir de la cinématique de l’interface définie comme maître. De plus, l’introduction du concept de modes d’interface impose de gérer l’incompatibilité des champs de déplacement à l’interface. Cette difficulté est levée en considérant des conditions de couplages faibles, où les conditions de raccordements sont projetées dans le sous espace engendré par les modes d’interface de la sous-structure maître.
Enfin, pour alléger la construction du modèle réduit assemblé, on a mis en place une nouvelle numérotation généralisée permettant l’élimination des contraintes de liaisons, plutôt que l’utilisation de multiplicateurs de Lagrange. Cette dernière évolution permet à la fois de limiter la taille des modèles réduits, mais aussi d’améliorer le conditionnement des matrices, et donc d’accélérer la résolution du problème généralisé.
Parallèlement, l’opérateur REST_SOUS_STRUCT a été revu dans un objectif d’amélioration des performances.
Ces évolutions ont été testées sur un modèle d’aubage, constitué d’un disque ( 31 000 DDL) et de 46 ailettes ( 9800 DDL / ailette), soit un modèle complet d’environ 480 000 DDL. La mise en œuvre des méthodes classiques de sous-structuration sur ce modèle conduisent à des temps de calcul de l’ordre de 32 000 secondes (soit presque 9 heures) pour les 300 premiers modes de la structure. Le calcul de référence, mené sur le modèle complet, dure environ 18 000 secondes (soit 5 heures) pour les 300 premiers modes. Les évolutions apportés aux différents opérateurs conduisent à des temps de l’ordre de 500 secondes pour les 300 premiers modes, avec la même qualité de résultat. On a donc réalisé un gain de temps de l’ordre de 60 par rapport au premier cas, et de 33 par rapport au deuxième.
Il faut aussi noter qu’avant ces développements, en version 10.2, la restitution des modes calculés sur base physique s’arrêtait au bout de 48 heures, par manque de temps CPU. Avec les améliorations apportées à REST_SOUS_STRUCT, la restitution prend 300 secondes sur une machine de bureau.
![]() Mode d’aubage
|