Informatique ========================= * L'opérateur **STAT_NON_LINE** devient une macro-commande (#33752 - 17.3) Pouvoir simplement lancer les tests qui utilisent STAT_NON_LINE avec MECA_NON_LINE afin d'effectuer les bilans pour mettre à jour le périmètre de validation de MECA_NON_LINE. STAT_NON_LINE devient une macro-commande qui appelle le "vrai" STAT_NON_LINE rebaptisé STAT_NON_LINE_FORT. L'appel à MECA_NON_LINE est aussi ajouté à cette macro. Suite à cette intégration, il suffira de changer la valeur d'un booléen dans la macro pour que STAT_NON_LINE appelle MECA_NON_LINE. * Opérateurs **DEBUT/POURSUITE** (#33431 - 17.1) Il n'y a plus que la commande ``DEBUT`` qui, en mode automatique (MODE="AUTO", qui est le défaut), initialise le calcul s'il n'y a pas de base et relit une base si elle existe. Avec ``MODE="DEBUT"``, on initialise un nouveau calcul même si une base existe. Avec ``MODE="POURSUITE"``, on relit la base si elle existe, sinon on s'arrête en erreur. Pour la compatibilité, on conserve POURSUITE équivalent à DEBUT(MODE="POURSUITE"). * Opérateur **FIN** : **Optimiser les tâches** (#34113 - 17.2) Dans FIN, fermer la base peut prendre un peu de temps. Or ce n'est pas nécessaire si on n'a pas prévu de récupérer la base. Objectif : Gain de temps quand le système de fichiers n'est pas des plus véloces ou quand on lance beaucoup de calculs. * Ajouter de l'**équilibrage dynamique** (#33609 - 17.1) Dans le cadre des études où des non-linéarités sont très localisées puis se propagent, il est nécessaire d'équilibrer la charge au cours du calcul. On peut imaginer fournir un champ aux nœuds scalaire qui sera utilisé comme poids par le partitionneur. Ajout du test zzzz155h qui réalise un calcul MECA_STATIQUE et redécoupe le résultat suivant une commande donnée par l'utilisateur. Le calcul utilise un AFFE_CHAR_CINE et un AFFE_CHAR_MECA. * Nouveaux **maillages** dans mesh_builder (#33948 - 17.2) Pour des besoins de projection de champs, pouvoir crée facilement les maillages d'un nuage de points ou encore d'une spline 1d. Ajout de 2 nouveaux maillages dans mesh_builder.py : ``buildPointCloud(coordlist, groups=False, info=1)`` et ``buildSpline1D(coordlist, groups=False, info=1)`` * **Couplage** aster/aster (#34103 - 17.2) Ajout de la possibilité de faire du couplage ASTER/ASTER en MPI. Pour cela, on ajoute un objet ExternalCoupling qui permet de faire cela. L'échange des donnés et l'interpolation se fait avec ParaMEDMEM. Le couplage de champs et les conversions se font avec MEDCoupler. Il y a en particulier des méthodes python de conversion simple. PLE est nécessaire pour découper le communicateur en deux sous-communicateurs (un par app). Si PLE est absent, on fait une émulation qui se contente de découper en deux parts égale le communicateur. Cela permet en plus de lancer facilement les tests. * **Couplage aster/saturne** (#34081 - 17.2) Plusieurs fiches ont été traitées pour le couplage aster/saturne. On rajoute un objet SaturneCoupling qui hérite de ExternalCoupling. Seules les méthodes set_parameters et run ont été surchargées. Ajout de méthodes sur les champs simples pour faire Import/Export vers MedCouplingField (#34128 - 17.3) * **Portage sous windows mingw32** (#33476 - 17.2) On capitalise les modifications nécessaires pour le portage sous windows en utilisant mingw. La plate-forme est identifiée avec le define ASTER_PLATFORM_MINGW (on a supprimé l'ancien ASTER_PLATFORM_WINDOWS non maintenu). * Faciliter l'utilisation de **DDT** (#33932 - 17.2) L'utilisation de DDT en parallèle avec code_aster est qui un module Python est compliqué. On propose d'enrober le lancement pour encourager cet usage. * **Nouveau module d'intégration des LdC** (#33770 - 17.2) On engage la rénovation du superviseur des lois de comportement. Constat: les ldC ont besoin d'informations pour travailler, mais celles-ci sont souvent disparates et incomplètes. Par ailleurs, la généralisation des nouvelles procédures (comme la prédiction efficace, issue33631) est difficile du fait de la multiplicité des cas particuliers et du volume conséquent de source (plus de 200 lois). Méthode: on avait introduit il y a plusieurs années, un module et des types dérivés pour gérer les choses communes dans nmcomp/lcxxxx. * Expliciter le type **integer(kind=8)** (#33331 - 17.3) On ne force plus la compilation en integer(kind=8). Cela permet d'utiliser, par exemple, les includes de Mumps sans avoir à les modifier lors de l'installation, et donc ce qui permet d'utiliser des versions de Mumps qui viennent de paquets (conda par exemple). Idem pour Med et PETSc. * Extension de **run_sbatch** et **run_aster** (#34641 - 17.3) Ajout des options --run_aster_option='--save_db' pour forcer la fermeture de la base, même s'il n'y en a aucune en résultat dans le fichier '.export' On ajoute l'option '--run_aster_option' à run_sbatch pour passer des options à run_aster. On ajoute également les options --time_limit et --memory_limit qui viennent surcharger les valeurs du '.export' pour créer le script sbatch et pour être passées à run_aster. * **Pixi configuration** in pyproject.toml (#35160 - 17.4) La configuration de pixi est disponible dans le fichier pixi.toml. * Améliorer la méthode **fix** du maillage (#35044 - 17.4) On améliore la routine fix pour le maillage (Mesh) qui permet de * vérifier la normale sortante pour les faces de bord * vérifier le volume positif des cellules * merge noeuds doubles * merge mailles double * optimisation des perfs (sans dégrader la partie lecture et raffinement) * optimisation mémoire: utilisation d'entiers courts au maximum. Gain potentiel de 40% * Reprogrammation du calcul des déformations (#35080 - 17.4) La programmation de l'option EPSP_ELGA est revue pour éviter les duplication à plusieurs niveaux: calcul des déformations totales et calcul des déformations anélastiques provenant des variables de commande. * Extension du calcul des déformations inélastiques (#35101 - 17.4) La reprogrammation du calcul des déformations est étendu aux options: EPSP_ELGA (déformations plastiques), EPM_ELGA (déformations mécaniques), EPVC_ELGA (déformations anélastiques) et ENER / ETOT / INDI_ERRE: énergies et indicateurs d'erreur. * Basculement de l'OS de base en **debian 12** (#35068 - 17.4) * Montée de version des **prérequis** : 20251026 (#34454 - 17.4) Les nouveaux prérequis sont: * medcoupling c3928d335 (9.15 modifiée) * asrun 7d7eafcd (future 2025) * mfront 5.0.1 * mgis 3.0.1 * med 4.2.0 * petsc 3.24.0 * python 3.11 avec numpy, scipy, sympy, pandas. * Ajout une documentation le lancement de code_aster u1.04.00 (#34576 - 17.4)