Table of Contents

Commit 2011-05-03

Modifications

Transfert de champs entre deux maillages

Modification de la procédure de transfert lors d'un remaillage. Le transfert est effectué entre deux objets “Interaction” de deux Metafor différent (deux “Domain”, etc.). Après le transfert un fichier Fac est sauvegardé afin de continuer le calcul après remaillage. Donc pour faire du remaillage il faut 3 étapes:

ALE

Rapprochement entre la version ALE avec transfert pour remaillage et la version ALE avec convection:

Inversion des boucles sur les champs et sur les cellules.

Avant :

Maintenant:

Cette inversion entraine une augmentation de la RAM (stockage des valeurs pour tous les champs) et permet un gain en temps de calcul (augmentation des performances en parallèle : plus de calcul dans les boucles).

Modification de la manière d'utiliser l'ALE (convection). Les cellules sur lesquelles la convection était calculé sont coupées en deux:

Ceci permet d'utiliser la reconstruction linéaire dans les méthodes de transfert pour le remaillage.

Dans les cas test ALE (convection), il faut choisir le type d'élément “InriaCell” avec le type de cellule utilisée pour la reconstruction.

elementProperties = ElementProperties(InriaCell)
elementProperties.put (FVCELLTYPE, CELLTYPE) avec CELLTYPE = GODUNOVCELL ou LINEARRECCELL

Cas tests

Modification des cas tests sur le transfert (remaillage). Il sont maintenant découpés en trois:

Fichiers ajoutés/supprimés

[a]: oo_meta\mtALE\FECell.cpp
[a]: oo_meta\mtALE\FECell.h
[a]: oo_meta\mtALE\FECouplingMeshes.cpp
[a]: oo_meta\mtALE\FECouplingMeshes.h
[r]: oo_meta\mtALE\MTMInteraction.cpp
[r]: oo_meta\mtALE\MTMInteraction.h
[a]: oo_meta\mtALE\FEInteraction.cpp
[a]: oo_meta\mtALE\FEInteraction.h
[r]: oo_meta\mtALE\MTMCell.cpp
[r]: oo_meta\mtALE\MTMCell.h
[a]: oo_meta\mtALE\FETMCell.cpp
[a]: oo_meta\mtALE\FETMCell.h
[a]: oo_meta\mtALE\FVCell.cpp
[a]: oo_meta\mtALE\FVCell.h
[a]: oo_meta\mtALE\FVCellElShcuts.cpp
[a]: oo_meta\mtALE\FVCellElShcuts.h
[a]: oo_meta\mtALE\FVCellType.cpp
[a]: oo_meta\mtALE\FVCellType.h
[a]: oo_meta\mtALE\FVCouplingMeshes.cpp
[a]: oo_meta\mtALE\FVCouplingMeshes.h
[a]: oo_meta\mtALE\FVTMCell.inl
[a]: oo_meta\mtALE\FVTransferCell.cpp
[a]: oo_meta\mtALE\FVTransferCell.h
[a]: oo_meta\mtALE\FVTransferCell.inl
[a]: oo_meta\mtALE\IPETMCell.cpp
[a]: oo_meta\mtALE\IPETMCell.h
[a]: oo_meta\mtALE\IPFECell.cpp
[a]: oo_meta\mtALE\IPFECell.h
[a]: oo_meta\mtALE\IPFETMCell.cpp
[a]: oo_meta\mtALE\IPFETMCell.h
[a]: oo_meta\mtALE\NodalETMCell.cpp
[a]: oo_meta\mtALE\NodalETMCell.h
[a]: oo_meta\mtALE\NodalFECell.cpp
[a]: oo_meta\mtALE\NodalFECell.h
[a]: oo_meta\mtALE\NodalFETMCell.cpp
[a]: oo_meta\mtALE\NodalFETMCell.h
[a]: oo_meta\mtALE\SimpleLimiter.cpp
[a]: oo_meta\mtALE\SimpleLimiter.h
[a]: oo_meta\mtALE\TransferValueExtractor.cpp
[a]: oo_meta\mtALE\TransferValueExtractor.h
[r]: oo_meta\mtALE\TransferCell.inl

Tests ajoutés/supprimés

[r]:apps\complex\rotMeshInter_1.py
[r]:apps\complex\rotMeshInter_2.py
[r]:apps\complex\rotMeshInter_3.py
[a]:apps\complex\rotMesh_ETMCell_1.py
[a]:apps\complex\rotMesh_ETMCell_2.py
[a]:apps\complex\rotMesh_ETMCell_3.py
[a]:apps\ale\convAnneau.py
[a]:apps\ale\convAnneau_ETMCell.py
[a]:apps\ale\convAnneau_FVTMCell.py
[a]:apps\ale\convAnneau_FVTMCell2.py
[a]:apps\ale\convAnneau_GlobMTMCell.py
[a]:apps\ale\convAnneau_LocMTMCell.py
[a]:apps\ale\convRot_ConvLine.py
[a]:apps\ale\convRot_ETMCell.py
[a]:apps\ale\convRot_FVTMCell.py
[a]:apps\ale\convRot_FVTMCell2.py
[a]:apps\ale\convRot_GlobMTMCell.py
[a]:apps\ale\convRot_LocMTMCell.py
[a]:apps\ale\rotAnneau2_ETMCell.py

Philippe BUSSETTA 2011/05/03