Table of Contents

Commit 2015-03-13

Sauvegarde des maillages Gen4

Deux nouvelles fonctions de lecture/écriture du maillage généré par Gen4 ont été introduites, afin d'éviter d'avoir des problèmes de relecture de résultats sur des machines différentes, et de ne plus avoir à faire de create-delete-create dans le cadre du remaillage.

Le fichier toolbox.meshers a été modifié afin que cette lecture/écriture soit faite par défaut lors de l'utilisation de Gen4Mesher et de Gen4Remesher. Cela deviendra une option à court terme (fin 2018 au plus tard). Pour désactiver cette lecture écriture, il faut pour l'instant commentariser les commandes :

meshG4.saveMesh(name, self.geometry)
mesher.loadMesh(name, self.geometry)

situées dans Gen4Mesher.execute() et Gen4Remesher.executeRemesh()

Pour que la sauvegarde se fasse dans le worskpace, certains cas-tests ont été modifiés (code principal encapsulé dans un getMetafor) afin que la génération du maillage ne se fasse plus lors du load. Ces cas-tests sont :

Pour que les écritures et lectures se fassent dans le bon workspace, les cas tests

ont été très légèrement modifiés (lecture des facs déplacée dans le code).

Divers

Extrapolation des vitesses

Après remaillage, les erreurs induites par le transfert conduisent à une structure en déséquilibre, ce qui fait que le pas de temps chute drastiquement lors du redémarrage. Le transfert des vitesses lors du remaillage est une première étape pour essayer d'améliorer ce redémarrage (ce qui n'est pas fait quasi-statique). Cependant, comme on ne souhaite pas les extrapoler dans le cadre de l'ALE, un “remeshingFlag” est introduit dans TransferRegionafin de savoir si on souhaite extrapoler. C'est pas très beau et à remplacer au plus vite (aussi vite que le pont de Tilff, en somme…).

Rechargement des courbes

Lors d'un redémarrage, les courbes ne se rechargeaient pas correctement dans la Vizu, ce qui est maintenant corrigé (sur ce coup là, c'est Luc qui debuggait et moi qui faisais la secrétaire, m'enfin…).

Suppression de warning

Mon commit précédent avait introduit un warning via une définition un peu bizarre de pointeur. Luc (Vous devez vous dire : “encore lui?!”) m'a réécrit ça bien proprement pour régler ça. Moi j'avais pensé à #pragma warning( disable *), mais pour une raison qui m'échappe toujours Luc est devenu tout blanc quand il a vu ça…

Fissure

Enfin, j'ai modifié une Pierre-Paulade du cas-test apps.rupture.fissure (densité de 0.1 à 1.0), où le bgmesh était plus dense que le mesh final.

Pierre Joris 2015/03/13