====== Commit 2014-12-02 ====== ===== Modifications ===== ==== Transfert de donnée - CGAL ==== Ajout des méthodes de transfert de données utilisant un supermaillage (dans ''mtExactDataTransfer_CGAL'') * Méthode de transfert utilisant des volumes finis avec un calcul exact du couplage entre les maillages * Méthode de transfert utilisant les éléments joints (Mortar Elements) avec un calcul exact du couplage entre les maillages Pour plus d'information, sur l'utilisation de ces méthodes voir la documentation sur le [[doc:user:meshTransfer:dataTransferBetweenMeshes|transfert de données dans le cadre du remaillage]] Ces méthodes de transfert sont décrites en détail dans l'article suivant: P. Bussetta, R. Boman and J.-P. Ponthot. //Efficient 3D data transfer operators based on numerical integration//. International Journal for Numerical Methods in Engineering 2014; **XX**:xxx-xxx, doi: 10.1002/nme.4821 Ces méthodes de transfert utilisent la librairie [[https://www.cgal.org/|CGAL]] uniquement pour le calcul de l'intersection entre les éléments des deux maillages (dans la classe ''ExactCouplingElement''). ==== CGAL ==== La version 4.0.5 de CGAL est installée sur thorgal et blueberry. Dans la version actuelle de Metafor, CGAL n'est pas nécessaire pour la battery windows. Sur mon PC j'utilise la version 4.4 de CGAL Installation de CGAL VS2012: * Boost * [[http://www.cgal.org/windows_installation.html/|CGAL]] **Boost**: * télécharger [[http://boost.teeks99.com/|boost_1_55_0-msvc-11.0-64.exe]] * installer dans ''F:\LibsCGALVS2012\boost_1_55_0'' * Ajouter les variables d'environnement suivantes: * ''BOOST_LIBRARYDIR''=''F:\LibsCGALVS2012\boost_1_55_0\lib64-msvc-11.0'' * ''BOOST_INCLUDEDIR''=''F:\LibsCGALVS2012\boost_1_55_0'' **CGAL** * télécharger [[http://gforge.inria.fr/frs/?group_id=52|CGAL-4.4-Setup.exe]] * installer avec l'option GMP and MPFR precompiled libs dans F:\CGAL\CGAL-4.4 * Avec CMake Gui: * source code: ''F:\CGAL\CGAL-4.4'' * bin: ''F:\CGAL\CGAL-4.4\build'' * dans la configuration CMake redéfinir la variable ''CMAKE_INSTALL_PREFIX'' = ''F:/LibsCGALVS2012/CGAL-4.4'' * Générer le projet et le compiler avec VS2012 * compiler le projet INSTALL -> copie des fichiers dans ''F:/LibsCGALVS2012/CGAL-4.4'' **Ajouter au Path:** * ''F:\LibsCGALVS2012\boost_1_55_0\lib64-msvc-11.0'' * ''F:\LibsCGALVS2012\CGAL-4.4\bin'' * ''F:\CGAL\CGAL-4.3\auxiliary\gmp\lib'' ==== CMake ==== Ajout de ces lignes dans les fichiers ''Cmake'' des stations (''thorgal.cmake'' et ''blueberry.cmake'') SET(METAFOR_USE_CGAL ON CACHE BOOL "" FORCE) SET(CGAL_LIB_DIR "/usr/lib" CACHE INTERNAL "") SET(GMP_LIBRARIES_DIR "/usr/lib" CACHE INTERNAL "") SET(Boost_LIBRARY_DIRS "/usr/lib" CACHE INTERNAL "") SET(CGAL_INCL_DIR "/usr/include" CACHE INTERNAL "") SET(GMP_INCLUDE_DIR "/usr/include" CACHE INTERNAL "") SET(Boost_INCLUDE_DIRS "/usr/include/boost" CACHE INTERNAL "") SET(CGAL_LIBS "CGAL" CACHE PATH "" FORCE) Ajout de ces lignes dans mon fichier ''Cmake'' (''win64-vs2012-CGAL.cmake'') SET(METAFOR_USE_CGAL ON CACHE BOOL "" FORCE) SET(CGAL_LIB_DIR "F:/LibsCGALVS2012/CGAL-4.4/lib" CACHE INTERNAL "") SET(GMP_LIBRARIES_DIR "F:/CGAL/CGAL-4.4/auxiliary/gmp/lib" CACHE INTERNAL "") SET(Boost_LIBRARY_DIRS "F:/LibsCGALVS2012/boost_1_55_0/lib64-msvc-11.0" CACHE INTERNAL "") SET(CGAL_INCL_DIR "F:/LibsCGALVS2012/CGAL-4.4/include" CACHE INTERNAL "") SET(GMP_INCLUDE_DIR "F:/CGAL/CGAL-4.4/auxiliary/gmp/include" CACHE INTERNAL "") SET(Boost_INCLUDE_DIRS "F:/LibsCGALVS2012/boost_1_55_0" CACHE INTERNAL "") SET(CGAL_LIBS "${CGAL_LIB_DIR}/*.lib;${GMP_LIBRARIES_DIR}/*.lib" CACHE PATH "" FORCE) ==== Tests ==== Ajout de tests en 2D et 3D pour les méthodes de transfert avec calcul exact du couplage entre les maillages dans le répertoire ''oo_meta/mtExactDataTransfer_CGAL/tests'' ==== Tests - CGAL - Windows ==== Différences entre ma battery (windows) avec et sans CGAL (fichier ''Windows-diff''): **FAILED-Windows-msvc.txt** mtExactDataTransfer_CGAL.tests.disk3D_LocMort_2 - failed! - missing! mtExactDataTransfer_CGAL.tests.disk3D_LocMort_3 - failed! - missing! mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_2 - failed! - missing! mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_3 - failed! - missing! mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_2 - failed! - missing! mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_3 - failed! - missing! **STP-Windows-msvc.txt** mtExactDataTransfer_CGAL.tests.disk3D_LocMort_3 - Number of steps - missing! - 2 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_3 - Number of steps - missing! - 2 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_3 - Number of steps - missing! - 2 **ITE-Windows-msvc.txt** mtExactDataTransfer_CGAL.tests.disk3D_LocMort_3 - Number of mech. iterations - missing! - 1 **EXT-Windows-msvc.txt** mtExactDataTransfer_CGAL.tests.disk3D_LocMort_2 - Error on Field(TO,RE) After Transfer in % - missing! - -0.117214 mtExactDataTransfer_CGAL.tests.disk3D_LocMort_2 - Error on IF_EPL After Transfer in % - missing! - -0.117214 mtExactDataTransfer_CGAL.tests.disk3D_LocMort_2 - Mean of Field(TO,RE) After Transfer - missing! - 49.939 mtExactDataTransfer_CGAL.tests.disk3D_LocMort_2 - Mean of Field(TO,RE) Befor Transfer - missing! - 49.9976 mtExactDataTransfer_CGAL.tests.disk3D_LocMort_2 - Mean of IF_EPL After Transfer - missing! - 49.939 mtExactDataTransfer_CGAL.tests.disk3D_LocMort_2 - Mean of IF_EPL Befor Transfer - missing! - 49.9976 mtExactDataTransfer_CGAL.tests.disk3D_LocMort_3 - meanEPL - missing! - 78.222 mtExactDataTransfer_CGAL.tests.disk3D_LocMort_3 - meanTemperature - missing! - 78.3892 mtExactDataTransfer_CGAL.tests.disk3D_LocMort_3 - pressure (comp 0) - missing! - 26.8388 mtExactDataTransfer_CGAL.tests.disk3D_LocMort_3 - time - missing! - 2 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_2 - Error on Field(TO,RE) After Transfer in % - missing! - 2.66659e-011 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_2 - Error on IF_EPL After Transfer in % - missing! - 2.66202e-011 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_2 - Mean of Field(TO,RE) After Transfer - missing! - 14.0625 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_2 - Mean of Field(TO,RE) Befor Transfer - missing! - 14.0625 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_2 - Mean of IF_EPL After Transfer - missing! - 20.3125 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_2 - Mean of IF_EPL Befor Transfer - missing! - 20.3125 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_3 - meanEPL - missing! - 16.0494 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_3 - meanTemperature - missing! - 11.1111 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_3 - pressure (comp 0) - missing! - 7.18671e-011 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_3 - time - missing! - 2 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_2 - Error on Field(TO,RE) After Transfer in % - missing! - 2.65901e-011 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_2 - Error on IF_EPL After Transfer in % - missing! - 2.66202e-011 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_2 - Mean of Field(TO,RE) After Transfer - missing! - 14.0625 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_2 - Mean of Field(TO,RE) Befor Transfer - missing! - 14.0625 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_2 - Mean of IF_EPL After Transfer - missing! - 20.3125 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_2 - Mean of IF_EPL Befor Transfer - missing! - 20.3125 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_3 - meanEPL - missing! - 16.0494 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_3 - meanTemperature - missing! - 11.1111 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_3 - pressure (comp 0) - missing! - 7.82475e-011 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_3 - time - missing! - 2 **LKS-Windows-msvc.txt** mtExactDataTransfer_CGAL.tests.disk3D_LocMort_2 - Sum of memory leaks - missing! - 0 mtExactDataTransfer_CGAL.tests.disk3D_LocMort_3 - Sum of memory leaks - missing! - 0 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_2 - Sum of memory leaks - missing! - 12948 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_3 - Sum of memory leaks - missing! - 0 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_2 - Sum of memory leaks - missing! - 13128 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_3 - Sum of memory leaks - missing! - 0 **CPU-Windows-msvc.txt** mtExactDataTransfer_CGAL.tests.disk3D_LocMort_2 - Real Data transfer Remeshing CPU Time - missing! - 62.761 mtExactDataTransfer_CGAL.tests.disk3D_LocMort_3 - User CPU Time - missing! - 0.0312002 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_2 - Real Data transfer Remeshing CPU Time - missing! - 220.473 mtExactDataTransfer_CGAL.tests.rotMesh_FVTMCell_CGAL_3 - User CPU Time - missing! - 0.0312002 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_2 - Real Data transfer Remeshing CPU Time - missing! - 36.533 mtExactDataTransfer_CGAL.tests.rotMesh_LocMTMCell_CGAL_3 - User CPU Time - missing! - 0 ===== Fichiers ajoutés/supprimés ====== [a]:oo_meta/mtExactDataTransfer_CGAL [a]:oo_meta/mtExactDataTransfer_CGAL/_src [a]:oo_meta/mtExactDataTransfer_CGAL/src [a]:oo_meta/mtExactDataTransfer_CGAL/tests [a]:oo_meta/mtExactDataTransfer_CGAL/src/ExactCouplingElement.cpp [a]:oo_meta/mtExactDataTransfer_CGAL/src/ExactFVTMCell.cpp [a]:oo_meta/mtExactDataTransfer_CGAL/src/ExactFVTMCellElShcuts.cpp [a]:oo_meta/mtExactDataTransfer_CGAL/src/ExactMTMCell.cpp [a]:oo_meta/mtExactDataTransfer_CGAL/src/ExactMTMCellElShcuts.cpp [a]:oo_meta/mtExactDataTransfer_CGAL/src/mtExactDataTransfer_CGAL.cpp [a]:oo_meta/mtExactDataTransfer_CGAL/src/ExactCouplingElement.h [a]:oo_meta/mtExactDataTransfer_CGAL/src/ExactFVTMCell.h [a]:oo_meta/mtExactDataTransfer_CGAL/src/ExactFVTMCellElShcuts.h [a]:oo_meta/mtExactDataTransfer_CGAL/src/ExactMTMCell.h [a]:oo_meta/mtExactDataTransfer_CGAL/src/ExactMTMCellElShcuts.h [a]:oo_meta/mtExactDataTransfer_CGAL/src/mtExactDataTransfer_CGAL.h [a]:oo_meta/mtExactDataTransfer_CGAL/_src/mtExactDataTransfer_CGAL.i [a]:oo_meta/mtExactDataTransfer_CGAL/__init__.py [a]:oo_meta/mtExactDataTransfer_CGAL/tests/__init__.py [a]:oo_meta/mtExactDataTransfer_CGAL/_src/CMakeLists.txt [a]:oo_meta/mtExactDataTransfer_CGAL/src/CMakeLists.txt ===== Tests ajoutés/supprimés ===== [a]:oo_meta/apps/remeshing/disk3D_ETM_1.py [a]:oo_meta/apps/remeshing/disk3D_ETM_2.py [a]:oo_meta/apps/remeshing/disk3D_ETM_3.py [a]:oo_meta/apps/remeshing/disk3D_FVTM_1.py [a]:oo_meta/apps/remeshing/disk3D_FVTM_2.py [a]:oo_meta/apps/remeshing/disk3D_FVTM_3.py [a]:oo_meta/apps/remeshing/disk3D_GlobMort_1.py [a]:oo_meta/apps/remeshing/disk3D_GlobMort_2.py [a]:oo_meta/apps/remeshing/disk3D_GlobMort_3.py [a]:oo_meta/mtExactDataTransfer_CGAL/tests/disk3D_LocMort_1.py [a]:oo_meta/mtExactDataTransfer_CGAL/tests/disk3D_LocMort_2.py [a]:oo_meta/mtExactDataTransfer_CGAL/tests/disk3D_LocMort_3.py [a]:oo_meta/mtExactDataTransfer_CGAL/tests/rotMesh_FVTMCell_CGAL_1.py [a]:oo_meta/mtExactDataTransfer_CGAL/tests/rotMesh_FVTMCell_CGAL_2.py [a]:oo_meta/mtExactDataTransfer_CGAL/tests/rotMesh_FVTMCell_CGAL_3.py [a]:oo_meta/mtExactDataTransfer_CGAL/tests/rotMesh_LocMTMCell_CGAL_1.py [a]:oo_meta/mtExactDataTransfer_CGAL/tests/rotMesh_LocMTMCell_CGAL_2.py [a]:oo_meta/mtExactDataTransfer_CGAL/tests/rotMesh_LocMTMCell_CGAL_3.py --- //[[P.Bussetta@ulg.ac.be|Philippe BUSSETTA]] 2014/--/--//