5. Dynamique linéaire et non-linéaire#
Réduction de la consommation mémoire de DYNA_VIBRA (#31151 - 17.1)
Dans DYNA_VIBRA, on allouait un gros bloc de mémoire en début de calcul. On a amélioré la consommation mémoire en découpant en plusieurs blocs les objets jeveux afin de pouvoir allouer / décharger au fur et à mesure du calcul.
Modification du calcul des déplacements irréversibles de la commande POST_NEWMARK (#33544 - 17.1)
Mise à jour de la manière dont la commande POST_NEWMARK calcule les déplacements irréversibles à partir de l’accélération moyenne. La méthode implémentée (construction d’un signal fictif en accélération, écrêté à la valeur d’accélération critique avant double intégration) donnait moins de satisfaction et semblait moins robuste que l’obtention du signal en vitesse à partir de l’intégration de l’accélération moyenne et écrêtage pour les vitesses inférieures à zéro avant intégration pour obtention des déplacements. L’algorithme est remplacé par une simple intégration en temps de l’accélération moyenne, avec écrêtage à zéro si les valeurs sont inférieures à 0 avant intégration en temps pour obtenir les déplacements.
Amélioration des performances de l”étape de projection pour le calcul du facteur de sécurité avec POST_NEWMARK (#33542 - 17.1)
On restreint le maillage utilisé pour la projection des contraintes aux éléments finis 2D adjacents à la ligne de glissement (étape nécessaire pour le calcul de contraintes de peau SIRO_ELEM sur la ligne de glissement). On permet à l’utilisateur d’effectuer une projection par COLLOCATION de l’opérateur PROJ_CHAMP (dans ce cas, SIEF_NOEU doit être pré-calculé par l’utilisateur). La projection est réalisée pour le champ NOEU, puis le champ des contraintes ELGA est calculé instant par instant.
Procédure de découpage automatique de bandes de fréquences en amont d’un CALC_MODES (#33821 - 17.2)
On introduit une nouvelle commande permettant un découpage automatique en bandes de fréquences équilibrées (i.e., disposant chacune d’un nombre de fréquences propres comparable), en amont d’un calcul modal multi-bandes via CALC_MODES. Il s’agit d’une méthode itérative basée sur une procédure de dénombrement de valeurs propres (test de Sturm disponible dans INFO_MODE), que nous proposons d’implanter. Du fait de son caractère non intrusif, cette méthode prend simplement la forme d’une fonction Python qui renverra à l’utilisateur les bandes de fréquences « optimales » pouvant ensuite être renseignées dans un CALC_MODES.
Implantation du schéma HHT sans overshooting dans DYNA_NON_LINE (#33909 - 17.2)
On réalise l’implantation de la version « No Overshooting » du schéma HHT dans DYNA_NON_LINE. Il s’agit d’adapter la formulation proposée par Kaiping (2008) au cas non linéaire pour l’implanter dans DYNA_NON_LINE, puis d’étudier la présence d’overshooting via plusieurs cas tests élémentaires (en comparant les résultats obtenus à ceux issus du schéma HHT actuellement présent dans DYNA_NON_LINE). Le schéma NOHHT est ainsi disponible dans DYNA_NON_LINE, pour les formulations en déplacement et en accélération.
Calcul sismique des réservoirs : pression équivalente EC8/DERESMA (#31186 - 17.2)
L’approche habituelle pour le calcul de la tenue sismique des réservoirs repose sur l’EuroCode 8 partie 4 (EC8, norme NF EN 1998-4). Les effets du fluide sous séisme sur la paroi du réservoir sont représentés par un champ de pression équivalent défini par la superposition de plusieurs fonctions en coordonnées cylindriques (pour les réservoirs cylindriques verticaux). Ces champs sont ensuite imposés sur la paroi pour permettre une analyse sismique statique équivalente de type push-over. On développe une macro-commande réalisant ce calcul. La macro-commande DEFI_PRES_EC8 produit une formule utilisable dans AFFE_CHAR_MECA/FORCE_COQUE_FO (#33522).
Output de la macro-commande MACR_SPECTRE (#33961 - 17.2)
On change le comportement par défaut de MACR_SPECTRE afin de ne pas imprimer par défaut l’enveloppe des directions horizontales des spectres (notée H).
Ajout d’une sortie de maillage raffinée pour l’option VERI_MASSE de POST_NEWMARK (#33996 - 17.2)
On met à disposition de l’utilisateur le maillage utilisé pour le calcul de la masse glissante dans la commande POST_NEWMARK, en cas d’utilisation de l’option
VERI_MASSE.Ajout de la possibilité de prise en compte de la dispersion de régression pour l’estimation de ky dans POST_NEWMARK (#33997 - 17.2)
L’option de calcul de ky développée dans issue32770 considère une régression linéaire entre le facteur de sécurité et l’accélération moyenne pour une plage comprise entre 0.8 et 1.2 du facteur de sécurité. La valeur d’accélération critique retenue est celle à 3σ de la régression. On donne à l’utilisateur la possibilité de choisir un autre facteur multiplicatif entre 0 et 6 (0 = non prise en compte, 6 = estimation conservatrice à -6σ).
Ajout du nom pour GROUP_MA lors du calcul de l”accélération moyenne dans POST_NEWMARK (#34011 - 17.2)
On fournit en sortie de la macro-commande POST_NEWMARK un nouveau maillage -identique au maillage utilisé pour le calcul dynamique- contenant le groupe de mailles utilisé pour le calcul de la résultante et de la masse glissante (si VERI_MASSE est activé).
Optimisation de la macro-commande DYNA_ISS_VARI (#34287 -17.3)
L’optimisation de la commande a été réalisée suivant 2 axes d’amélioration : Optimisation du calcul de la matrice de cohérence et Optimisation du calcul des valeurs propres et de l’énergie. On note un gain d’un facteur 10 sur un cas test.
Opérateur GENE_ACCE_SEISME : correction ZPA (#30484 - 17.3)
Dans la simulation d’accélérogrammes avec gene_acce_seisme, on souhaite générer des signaux qui possèdent exactement le bon PGA (le ZPA sur le spectre). On ajoute le mot-clé :
CORR_ZPA = 'OUI' ou 'NON'(défaut)Loi choc avec flambage DYNA_VIBRA (#34294 17.3)
On modifie l’opérateur DYNA_VIBRA de manière à rendre la relation FLAMBAGE utilisable avec une loi de flambage générique, donnée sous la forme de trois fonctions, à savoir le seuil de flambage, la raideur et l’amortissement en fonction de l’enfoncement total. Ainsi, les données d’entrée de
DYNA_VIBRA/FLAMBAGEsont désormais identiques à celles de la loi de comportement CHOC_ENDO_PENA utilisable dans DYNA_NON_LINE.Opérateur COMB_SISM_MODAL : Ajout méthode ENVELOPPE (#34351 - 17.3)
Ajout de l’option
ENVELOPPEau mot-cléANALYSE. Cette option d’analyse « Enveloppe » permet de calculer la réponse spectrale d’un système en multi-appui avec un spectre d’enveloppe de tous les spectres d’entrée, pour chaque direction. Le système en multi-appui est considéré comme un système en MONO_APPUI.Opérateur COMB_SISM_MODAL : Nouvelles méthodes de combinaison (#33545 #34054 - 17.3)
Les méthodes de combinaisons suivantes sont ajoutées dans
COMB_SISM_MODALsous le mot-clefCOMB_MODE/TYPE "NRC_GROUPING", "NRC_DSA" et "NRC_TEN_PERCENT".Opérateur COMB_SISM_MODAL : Optimisation programmation, consommation mémoire et performances (#34465-34698-34677 -17.3 - 17.4)
Amélioration de l’opérateur pour une diminution du temps de calcul La programmation de la macro COMB_SISM_MODAL est revue pour supprimer les doublons, améliorer la lisibilité des blocs, améliorer l’usage des variables et la pythonisation du scripting. La surconsommation mémoire apparaît dans le cas du traitement de l’option ELNO dans COMB_SISM_MODAL: on optimisme le script pour améliorer la consommation.
Opérateur CALC_FONCTION / SPEC_OSCI HARMO: ajout option calcul direct (#34798 -17.4)
L’opérateur CALC_FONCTION permet de calculer des SRO en pseudo accélération par la méthode NIGAM (résolution temporelle) ou HARMO (filtrage en domaine fréquentiel). Pour le mot-clé
SPEC_OSCI, on ajoute un nouveau mot-cléPSEUDO = 'OUI' ou 'NON'(défaut = “OUI”), afin de pouvoir calculer l’accélération absolue. Le calcul de l’accélération absolue et de la vitesse relative ne sera possible que avec la méthodeHARMO.Evolution de l’opérateur MODE_STATIQUE en groupant les supports (#34760 - 17.4)
Actuellement l’opérateur
MODE_STATIQUE, permet de calculer en MULTI_APPUI les pseudo modes par DDL bloqué, c’est-à-dire : support par support, direction par direction. Dans certains cas industriels avec un nombre très important de supports, on souhaite regrouper les supports. L’objectif de ce développement de calculer les modes statiques par groupe d’appui dans MODE_STATIQUE. Dans MODE_STATIQUE, on ajoute un mot cléCORRELE="OUI"/"NON"sous le mot-clé facteur PSEUDO_MODE. Si CORRELE= »OUI », alors on crée un seul mode par direction active . L’utilisateur doit précisé NOM_APPUI (de longueur <=8) qui va servir à nommer le mode.Amélioration des performances du calcul dynamique transitoire dans REST_GENE_PHYS (#34914 -17.4)
L’objectif de cette fiche est d’améliorer les performances du calcul dynamique transitoire tout en réduisant au maximum l’utilisation de la mémoire. Dans l’opérateur
REST_GENE_PHYS, on ajoute un mot-clé facultatifENVELOPPE="NORME_MOMENT"ouENVELOPPE="VALE_ABS". L’activation de ce mot-clé permet de calculer les enveloppes maximales à chaque instant t, au fur et à mesure de l’avancement du calcul de la solution.Evolutions de CALC_MISS avec introduction du chargement mono-appui (#34597 - 17.4)
Le développement permet l’introduction de l’option
EXCIT_MONO. Cette nouvelle option permet de prendre en compte un chargement mono_appui dans CALC_MISS. On introduit également deux autres options:EXCIT_FORCqui prend la place de ACCE_X, ACCE_Y et ACCE_Z etEXCIT_GENEqui prend la place de EXCIT_HARMO. Les options fournies avecPARAMETREont été rendus obligatoires que dans les cas où il faut vraiment les utiliser (c’est-à-dire quand on fait appel à MISS3D). Même chose pourVERSIONetTABLE_SOLqui servent seulement à Miss3D. On introduit l’optionTYPE_EXCITqui oblige l’utilisateur à rentrer le type d’excitation (temporelle ou fréquentielle). On introduit l’optionLIST_FREQ_CALCpour mieux gérer la définition de la liste des fréquences de calcul (pas disponible pour l’option TRAN_GENE). On introduit l’optionINTERPOLqui rend plus explicite pour l’utilisateur la possibilité de réinterpoler une fonction temporelle fournie en entrée.