Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2011:05_03

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
commit:2011:05_03 [2011/05/03 23:38] – [Cas tests] bussettacommit:2011:05_03 [2016/03/30 15:23] – external edit 127.0.0.1
Line 1: Line 1:
 +====== 3 Mai 2011 ======
  
 +
 +===== 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:
 +  * Calcul sur l'ancien maillage
 +  * transfert de l'ancien maillage vers le nouveau maillage
 +  * Calcul sur le nouveau maillage
 +
 +
 +==== 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 :
 +  * Boucle sur les champs
 +     * Boucle sur les cellules
 +       * Calcul du transfert
 +Maintenant:
 +  * Boucle sur les cellules
 +    * Boucles sur les champs
 +      * Calcul du transfert
 +
 +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:
 +  * La première partie permet de calculer la convection.
 +  * La deuxième partie est utilisée pour l'évaluation des champs (reconstruction constante ou linéaire)
 +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.
 +
 +<code>
 +elementProperties = ElementProperties(InriaCell)
 +elementProperties.put (FVCELLTYPE, CELLTYPE) avec CELLTYPE = GODUNOVCELL ou LINEARRECCELL
 +</code>
 +
 +
 +
 +==== Cas tests ====
 +
 +
 +Modification des cas tests sur le transfert (remaillage).
 +Il sont maintenant découpés en trois:
 +  * Calcul sur l'ancien maillage (cas_test_1.py)
 +     - Création d'un maillage
 +     - Résolution du problème  
 +  * Transfert de l'ancien maillage au nouveau. Deux objets Metafor sont crées (deux "Domain", "Mesh", etc.)(cas_test_2.py)
 +     - Importation des résultats calculés dans le cas test 1
 +     - Création d'un nouveau maillage (nouveau Metafor)
 +     - Transfert des données
 +     - Sauvegarde des données sur le nouveau maillage (nouveau Metafor)
 +  * Calcul sur le nouveau maillage (cas_test_3.py)
 +     - Reprise du calcul à partir des données sauvegardées après transfert.
 +
 +
 +===== Fichiers ajoutés/supprimés ======
 +
 +
 +<code>
 +[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
 +</code>
 +
 +
 +===== Tests ajoutés/supprimés =====
 +
 +<code>
 +[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
 +</code>
 +
 +
 + --- //[[P.Bussetta@ulg.ac.be|Philippe BUSSETTA]] 2011/05/03//
commit/2011/05_03.txt · Last modified: 2018/05/04 16:35 by boman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki