22/06/04  
 

Rien

Rien

Modification de la géométrie pour le suport futur de maillages multiples.

Je vais en avoir besoin pour l'ALE. L'idée est de pouvoir associer plusieurs maillages à chaque entité géométrique. La classe concernée est MeshedObject. Chaque maillage est identifié par une classe IdMesh et, en interne, j'associe cet identifiant à une liste de points à l'aide d'une std::map.

Cela permettra de:

Cette manière de faire s'oppose à la gestion de champs multiples, c'est-à-dire un nombre arbitraire d'éléments finis sur la même maille. Pour l'instant ce n'est pas possible et c'est un peu plus compliqué à implémenter (parce qu'un élément possède toujours qu'une seule maille mais l'inverse est faux). De plus, les champs multiples ne me permettent pas de découpler la gestion du frottement ALE et la convection des grandeurs nodales "en volume". Le seul intérêt est la réduction de mémoire pour la convection de la pression (en effet, le maillage de pression et le maillage lagrangien sont identiques - je vais donc devoir les dupliquer si les champs multiples n'existent pas).

Un chti schéma pour expliquer le truc:

[click to zoom]

En brun, la géométrie du problème (domain[GEOMETRY_PO]).

A partir de cette géométrie, on obtient le maillage en maillant (mesh()). On obtient le maillage bleu (4 mailles). Ce maillage est stoqué dans domain[TOPOLOGY_PO]. Si on fait du lagrangien, on arrête ici.

Pour faire de l'ALE, on crée les 3 maillages rouges (domain1[TOPOLOGY_PO], domain2[TOPOLOGY_PO], domain3[TOPOLOGY_PO]) en maillant les mailles lagrangiennes et en les réorganisant. Pour l'instant, le maillage 1 (pression) n'existe pas et on utilise le maillage lagrangien. La convection de la pression est donc gérée par l'élément lagrangien. Le maillage 2 existe et il est plus ou moins découplé du maillage lagrangien. Enfin, le maillage 3 est créé à partir du maillage 2 et du maillage lagrangien en fusionnant des mailles. Je supprimerai la dépendance au maillage 2 très bientôt.

Plus tard, j'ajouterai des maillages verts du permettront de gérer le transfert des grandeurs importantes pour le frottement.

 

J'ai aussi commité des changements dans les makefiles batterie:

 

Nouveaux fichiers:

oo_meta/mtGeo/mtGeoIdMesh.h
oo_meta/apps/makefiles/Makefile_common
oo_meta/apps/makefiles/Makefile_local
oo_nda/sabca/tests/makefiles/Makefile_local

 

 

Back to Metafor web server
created :21/06/04   modified : 22/06/04
contact : r_boman_AT_yahoo.fr