annexe 1 : annexe technique
Transcription
annexe 1 : annexe technique
ANNEXE 1 : ANNEXE TECHNIQUE ANR-07-CIS7-002 1 Plan 1 2 3 Plan Acronyme et titre du projet Résumé du projet 3.1 Résumé en Français 3.2 Résumé en Anglais 4 Introduction 4.1 What is FreeFem++ today ? 4.2 Who are FreeFem++ users and do they use it ? 4.3 What need to be done ? 5 Contexte et état de l’art / Context and state-of-the art 5.1 High level Toolboxes for PDEs : State of the art 5.2 Reference 6 Partenaires / Partnership 6.1 Les composants centraux 6.1.1 Le LJLL (http://www.ann.jussieu.fr) 6.1.2 SCALAPPLIX INRIA Futurs Bordeaux (http://www.labri.fr/projet/scalapplix) 6.1.3 INRIA Futurs Orsay (http://www.inria.fr/futurs) 6.2 Les Composantes de validation 6.2.1 LJLL REO (http://www.inria.fr/recherche/equipes/reo.en.html) 6.2.2 CMAP (http://www.cmap.polytechnique.fr) 6.2.3 IRMAR (université de Rennes 1) (http://www.math.univ-rennes1.fr/irmar) 7 Organisation et management du projet / Project organization and management 7.1 Liste des tâches du projet 7.2 Management du projet 8 Structure du projet – Description des sous-projets / Structure of the project – Work-packages 8.1 Tâche 1 : Ecriture du noyau éléments finis, 8.2 Tâche 2 : Mailleur 3D 8.3 Tâche 3 : Adaptation de maillage 3D / maillage mobile 8.4 Tâche 4 : Décomposition de domaine 8.5 Tâche 5 : Parallel solver 8.6 Tâche 6 : Visualisation 8.7 Tâche 7 : Validation and Test 8.7.1 Test Massivement Parallèle 8.7.2 Applications en optimisation de formes 8.7.3 Flow around a fishing net 8.7.4 Test bio-medical 8.7.5 Test ScAlApplix 8.8 La documentation 8.9 Debbuging 9 Liste des livrables / List of deliverable 10 Résultats escomptés – perspectives / Expected results and perspectives 10.1 Retombées scientifiques et techniques 11 Propriété intellectuelle / Intellectual property 2 Projet FF2a3 Acronyme et titre du projet FreeFem++ de la dimension 2 à la dimension 3 3 3.1 Résumé du projet Résumé en Français FreeFem++ est un logiciel de résolution d’équations aux dérivées partielles (EDP) par la méthode des éléments finis, multi plateforme. Dans sa version actuelle, ce logiciel ne traite que des problèmes bidimensionnels. Le but de ce projet est de traiter des problèmes tridimensionnels pour que la communauté scientifique dispose d’un outil numérique puissant permettant la mise au point rapide de nouvelles méthodes numériques de résolution, la conception de nouveaux schémas d’approximation, le prototypage de schémas numériques pour résoudre de nouveaux systèmes d’ EDP. Le passage de la dimension deux à la dimension trois est une démarche en plusieurs étapes, qui concerne les points suivants : 1. la parallélisation du code, qui inclut • la décomposition du domaine, • la résolution des grands systèmes linéaires creux associés, • et l’assemblage des matrices et des vecteurs. 2. la génération des maillages 3d et le couplage avec une CAO. 3. l’adaptation de maillages et le (re)maillage mobile 3d. 4. la visualisation des résultats. 5. la réalisation d’une documentation utilisateur. Les étapes 1,3 et 4 seront réalisées avec le souci de réutiliser au maximum des logiciels et des librairies libres de droit disponibles. Le point 2 quant à lui, sera traité a minima. Il s’agira simplement d’être capable d’importer une structure de maillage généré par tout logiciel de maillage ou de CAO. On envisage également la possibilité de réaliser des « plugins » pour créer des passerelles avec les principaux outils logiciels de CAO du marché. La dernière étape de ce projet concerne la validation du logiciel sur des exemples. Pour cela nous envisageons donc les applications suivantes : 1. La résolution d’un gros problème linéaire associé au problème de Poisson : - ∆ u = f dans Ω, u =0 sur Γ avec 1000 processeurs, pour 50.000.000 mailles au moins. 2. Optimisation des formes 3D. 3. Écoulement autour de filet de pêche pour IFREMER 4. Application aux écoulements et à la physiologique et à la physiopathologie des maladies respiratoires 5. Test en mécaniques des fluides compressibles Remarque : il ne faut pas confondre les deux logiciels FreeFem++ (version 3d) et FreeFem3d qui seront disponible sur la page web http ://www.freefem.org/. Effet, FreeFem3d résout les problèmes via une méthode de domaine fictif afin d’éviter la construction du maillage 3D de l’objet. Le logiciel FreeFem3d deviendra obsolète et sera remplacé par FreeFem++ version 3d. 3.2 Résumé en Anglais FreeFem++ is a multiplatform software package to solve PDEs using the finite element method. In its current version, this software deals with two-dimensional problems only. The aim of this research project is to be able to deal with three-dimensional problems and to offer a powerful numerical tool to the scientific community. With such a tool, researchers will be able to quickly design and validate new numerical methods for solving PDEs, to develop new numerical schemes and to address new problems based on PDEs. Bridging the gap between the two and the three dimensional cases will be carried on in several stages related to the following issues: 1. 2. 3. 4. 5. The parallelization of the algorithm, including • The domain decomposition, • The numerical resolution of huge sparse linear systems, • The assembly of matrices and right-hand side. The mesh generation and the coupling with a CAD system. The mesh adaptation and (re)meshing issues for moving domains. The visualization of the numerical results. The writing of a technical documentation. Stages 1,3 and 4 will be carried on minimizing the input, namely reusing available domain public software and libraries. The emphasis on Stage 2 will be minimal. It will consist in being able to import a mesh data structure supplied by any mesh or CAD system. We consider also the possibility of adding plugins to offer bridges between FreeFem++ and commercial CAD software. In a final stage, we are concerned with the experimental validation of the software package on numerical examples. To this ends, we suggest to investigate the following problems. 1. A huge linear problem, solving the Poisson equation - ∆ u = f in Ω, u =0 on Γ with 1000 processors, for 50.000.000 elements at least. . 2. An optimal designing problem. 3. The flow around a fishing net 4. Application to physiological flows and pathophysiology of respiratory diseases 5. Numerical test in compressible fluids dynamics Notice that two software packages should not be confused FreeFem++ (3D version) and FreeFEM3d which will be available on the Web page http://www.freefem.org/ff3d. FreeFEM3D solves the problems via a method of fictitious domain technique in order to avoid the construction of a 3D mesh. The FreeFEM3d software will become obsolete and will be replaced by FreeFem++ 3D version . 4 4.1 Introduction What is FreeFem++ today ? A partial differential equation is a relation between a function of several variables and its (partial) derivatives. Many problems in physics, engineering, health, mathematics and even banking are modeled by one or several partial differential equations. FreeFem++ is a software to solve these equations numerically. As its name tells, it is a free (LGPL licence software) based on the Finite Element Method; it is not a package, it is an integrated product with its own high level programming language. This software runs on all unix OS (with g++ 2.95.2 or later release, and X11R6) , on Window95, 98, 2000, NT, XP, and MacOS X. Moreover FreeFem++ is highly adaptive. Many phenomena involve several coupled systems, such as of: fluid-structure interactions, blood and air flows, Lorenz forces for aluminium casting and oceanatmosphere problems are three such systems. These require different finite element approximation degrees, possibly on different meshes. Some algorithms like Schwarz’ domain decomposition method also require data interpolation on multiple meshes within one program. FreeFem++ can handle these difficulties, i.e. arbitrary finite element spaces on arbitrary unstructured and adapted bidimensional meshes. The characteristics of FreeFem++ are: Problem description (real or complex valued) by their variational formulations, with access to the internal vectors and matrices if needed. • Multi-variables, multi-equations, bi-dimensional (or 3D axisymmetric) , static or time dependent, linear or nonlinear coupled systems; however the user is required to describe the iterative procedures which reduce the problem to a set of linear problems. • Easy geometric input by analytic description of boundaries by pieces; however this software is not a CAD system; for instance when two boundaries intersect, the user must specify the intersection points. • Automatic mesh generator, based on the Delaunay-Voronoi algorithm. Inner points density is proportional to the density of points on the boundary • Metric-based anisotropic mesh adaptation. The metric can be computed automatically from the Hessian of any FreeFem++ function . • High level user friendly typed input language with an algebra of analytic and finite element functions. • Multiple finite element meshes within one application with automatic interpolation of data on different meshes and possible storage of the interpolation matrices. • A large variety of triangular finite elements : linear and quadratic Lagrangian elements, discontinuous P1 and Raviart-Thomas elements, elements of a non-scalar type, mini-element, (but no quadrangles). • Tools to define discontinuous Galerkin formulations via finite elements P0, P1dc, P2dc and keywords: jump, mean, intalledges. • A large variety of linear direct and iterative solvers (LU, Cholesky, Crout, CG, GMRES, UMFPACK) and eigenvalue and eigenvector solvers. • Near optimal execution speed (compared with compiled C++ implementations programmed directly). • Online graphics, generation of ,.txt,.eps,.gnu, mesh files for further manipulations of input and output data. • Many examples and tutorials: elliptic, parabolic and hyperbolic problems, Navier-Stokes flows, elasticity, Fluid structure interactions, Schwarz’s domain decomposition method, eigenvalue problem, residual error indicator, ... • An parallel version using mpi • User documentation 4.2 Who are FreeFem++ users and do they use it ? Donnons quelques chiffres pour illustrer le propos : • l’an dernier (2006), 350 mails émanant de 120 personnes différentes, concernant plus de 30 pays, sachant que beaucoup d’utilisateurs trouvent la solution à leur problème de mise en œuvre en lisant la documentation • le nombre de téléchargements lors du dernier trimestre 2006 se répartissait comme suit : Version Windows: 3259 Version MacOs X : 787 Version Sources : 1750 La documentation: 5237 Ce logiciel est principalement utilisé aux fins • de recherche de nouveaux algorithmes de résolution numérique d’EDP, • de résolution numérique de nouveaux problèmes modèles, • d’enseignement de la résolution d’EDP par la méthode des éléments finis. Le passage à la version tridimensionnelle devrait permettre aux étudiants et élèves ingénieurs de se familiariser et de comprendre, à moindre difficulté, les problèmes liés au calcul scientifique et au calcul parallèle. Ce passage est aussi attendu par la communauté des chercheurs en algorithmique car il permet de mettre en œuvre facilement des algorithmes nouveau pour la résolution d’EDP. Nous pensons qu’apprendre à concevoir et à écrire un code d’éléments finis est un bon exercice, au même titre qu’apprendre l’assembleur, mais qu’il ne s’agit en aucune façon d’un point fondamental. Par voie de conséquence, l’introduction d’outils tels que FreeFem++ doit permettre de travailler à un niveau plus abstrait et donc de cacher ou de minimiser des problèmes techniques tels que : Interpoler rapidement deux solutions éléments finis définies sur des maillages différents, Résoudre un système linéaire en //, Compiler et éditer de liens 50 bibliothèques différentes provenant de Fortran, C, C++. C’est le genre de problèmes que seul un petit nombre de spécialistes est à même d’appréhender. A notre connaissance, FreeFEM++ est un outil sans réelle concurrence en ce qui concerne le test de nouvelles méthodes, la conception de nouveaux algorithmes, voire même les tentatives farfelues pour résoudre des problèmes ouverts. Donnons un exemple de petit problème ouvert qui peut se traiter facilement avec FreeFem++ (environ une journée de travail). La condition inf-sup est un problème pour la résolution des équations de Stokes en formulation u,p. Généralement, les maillages pour résoudre les problèmes en u et p, sont emboîtés pour simplifier la programmation. Notons hu (resp. hp) la taille de mailles correspondant au maillage pour u (resp. p). Si on utilise la même approximation pour u et p alors classiquement si hp=2 hu, la méthode converge. Mais il est légitime de se poser la question numériquement de savoir quel est le coefficient minimal entre hu et hp qui garantisse la convergence dans le cas où les maillages ne sont plus emboîtés. 4.3 What need to be done ? De nombreux problèmes sont définis dans l’espace réel R3, par conséquent, le but est d’offrir à la communauté scientifique un outil facile de résolution numérique à utiliser. Cet outil devra permettre de résoudre les problèmes suivants : 1. Un gros problème linéaire associé à la résolution du problème de Poisson : - ∆ u = f dans Ω, u =0 sur Γ avec 1000 processeurs, pour 50.000.000 mailles au moins. 2. un test Optimisation des formes 3D. 3. Ecoulement autour de filet de pêche pour IFREMER 4. Application aux écoulements et à la pathophysiologie physiologiques des maladies respiratoires 5. Résolution de problèmes classique de la mécanique de fluide compressible 5 5.1 Contexte et état de l’art / Context and state-of-the art High level Toolboxes for PDEs : State of the art Matlab and COMSOL (formerly FemLab) are certainly the most popular among the tools for preparing data and solving partial differential equations. COMSOL works in 3D. The PDE toolbox in matlab has an automatic mesh generator with isotropic adaptivity and a set of operators for building PDEs , yet it is not as powerful as freefem++. E. Geay wrote a scilab extension to call freefem++ from within matlab but it turned out to be rather cumbersome and it is better to call matlab or scilab from freefem++. COMSOL/FEMLab is geared to 3D PDEs and contains some of the ideas used in freefem++ ; in fact we are in contact with the founder, Lars Langemyr. Salome 2, which was at the start a CAD system evolves slowly towards a multiphysics software driven by python scripts ; we are also part of this RNTL project. C++ libraries for PDEs are numerous. Initiated after MODULEF, then relayed by DiffPack (Norway), up to the famous ASTER code, their numbers have grown and some of them slowly evolve towards script driven GUIs (getfem++, openfem, fenics, elmer, see ifer also recent developments at CEA/DAM, and also NetGen/NGSolve). But these are tools for the experienced programmer and not for the scientist/engineer inexperienced in computer science. Furthermore it is usually difficult to solve a new equation for which the software has not been designed for (unless one goes down to the level of the C++ code). With freefem3D (see www.freefem.org) LJLL has some experience with 3D freefem like solvers. This experimental project is based on the fictitious domain method with the idea that a mesh generator is avoided. The success of this approach is in the superfast linear system solver due to the multigrid preconditioner, made possible by the fictitious domain uniform grid. But the price paid is too high: not enough freedom for mesh adaptivity (one would need in fact AMR, but this is a technology which is yet to be validated for elliptic problems). Finally let us mention two attempts at freefem-like tools: one by the company NEC in Japan and one by Numerola in Linland. 5.2 Reference Matlab www.mathworks.fr/ Scilab www.scilab.org Comsol www.comsol.fr Diffpack www.diffpack.com Aster www.code-aster.org/ Modulef www-rocq.inria.fr/modulef/ Netgen www.hpfem.jku.at/netgen Elmer www.csc.fi/elme Fenics fenics.cs.uchicago.edu Salome www.salome-platform.org/salome2 Ifer http://homepage.usask.ca/~ijm451/finite/fe_resources/fe_resources.html Emanuel Geay : Porting freefem+ inside scilab . INRIA tech report (1999) Numerola : www.numerola.fi/en/numerinn 6 Partenaires / Partnership Le travail est de deux types. Premièrement, il s’agit d’écrire les composants centraux (le noyau) du logiciel, et deuxièmement if faudra valider le logiciel sur des cas tests représentatifs et pertinents. 6.1 Les composants centraux Nous avons la chance au laboratoire Jacques-Louis Lions, d’avoir dans quelques mètres carrés (aile B, 2ieme étage, du 175 rue du Chevaleret), des spécialistes internationaux en calcul scientifique, sur la résolution de systèmes linéaires en parallèle, sur des méthodes de générations de maillage et d’adaptation. Pour assurer la réussite du projet, nous avons fait appel à nos collègues proches. 6.1.1 Le LJLL (http://www.ann.jussieu.fr) Equipe Calcul Scientifique - P. Frey, F. Hecht O. Pironneau sont Professeur en mathématiques appliquées et des experts en calcul scientifique avec de grandes compétences en développement logiciel. P. Frey est plus orienté maillage, adaptation, estimation d'erreur et visualisation scientifique. F. Hecht est plus Informatique, estimation d'erreur, Maillage, adaptation, Elément Fini, Mécanique de fluide. O. Pironneau: Modélisation, simulation, problèmes inverse, optimisation et contrôle optimal Equations aux dérives partielles, discrétisation, algorithmique, programmation avancée mécanique des fluides, turbulence, milieux poreux, ingénierie financière. Décomposition de domaine, calcul parallèle en éléments finis. F. Nataf is an expert in domain decomposition methods. His works in this field focus on iterative solvers (Schur complement methods (Neumann-Neumann, FETI, …) and optimized Schwarz methods (P.L. Lions algorithm and its extensions) and non conforming discretizations (mortar methods and its extensions to arbitrary interface conditions for both finite volume and finite element methods). He is also working on local time stepping (different time steps in different subdomains). 6.1.2 SCALAPPLIX INRIA Futurs Bordeaux (http://www.labri.fr/projet/scalapplix) C. Dobrzinski est maître de conférences en mathématiques appliquées à l ‘Université de Bordeaux I et est spécialisée dans les problèmes de maillage mobile et de couplage de codes. Elle apportera ses compétences au développement de la partie maillage mobile de FreeFem++ et à la validation des codes générés. R. Abgrall est un spécialiste de réputation internationale sur les méthodes de volumes finis pour des problèmes hyperboliques, il est responsable de l’équipe de recherche de Bordeaux I. Il interviendra comme expert dans la partie maillage pour valider l’adéquation des structures de données avec les schémas de type volumes finis. 6.1.3 INRIA Futurs Orsay (http://www.inria.fr/futurs) It is a well-known research institute in computer science and applied mathematics, and in particular in the field of high performance scientific computing. The team has an important experience in the development of parallel direct methods and incomplete factorizations for solving large sparse linear systems of equations. The research focuses on designing new parallel methods [2, 4], and also on evaluating the performance of the algorithms on various parallel architectures and for a variety of applications [1]. The team has an important expertise in solving combinatorial problems issued from sparse linear algebra [1]. It is also involved in the development of the SuperLU_DIST [2] solver (a free software developed at U.C. Berkeley and Lawrence Berkeley National Laboratory), by contributing with a code in the future release of this solver. 6.2 6.2.1 Les Composantes de validation LJLL REO (http://www.inria.fr/recherche/equipes/reo.en.html) The joint work proposed by our team is aimed at applying FemFem++ 3D to physio/pathophysiological flows in subject-specific domains, especially respiratory flows in the upper airways and the tracheobronchial tree for otorhinolaryngology and for lung disease medicine. The computational domain is thus based on processing of medical images. The software dedicated tothree-dimensional reconstruction of complex anatomical structures will be developed during the first years in parallel with the development of FreeFem++ 3D. The reconstruction technique will be validated using simple representative models. During the second stage, the surface mesh of the computational model will serve as input for rapid prototyping of a phantom for velocity measurements in order to validate numerical results obtained in the third stage, once the code is available for flow simulations. Moreover, sofwares will be developed in order to incorporate appropriate modeling for small airways, as well as software for particle transport and deposition. Yvon Maday : Professeur en Analyse Appliquée, Directeur du Laboratoire J.-L. Lions. Il est spécialiste des méthodes d’approximations variationelles pour les EDP non-linéaires (éléments finis, spectrales, bases réduites) avec estimation d’erreur a priori et a posteriori. Il a des contributions en algorithmes et techniques de parallelisation par décomposition de domaine en espace (Schwarz et mortar) et en temps (algorithmes en temps parareel). Les applications sont en mécanique des fluides, pour la modélisation appliquées au secteur de la santé (organes : cœur, poumon, peau) et à la chimie quantique. 6.2.2 CMAP (http://www.cmap.polytechnique.fr) Participant : Prof. Gregoire ALLAIRE Prof. P. Le Tallec Prof. Charge de Cours O. Pantz . Le CMAP a une forte compétence en optimisation de formes et modélisation mécanique. Les chercheurs impliqués dans ce projet sont issus de l'équipe "Mécanique, matériaux et optimisation de formes" du CMAP (voir le site web du CMAP pour une description complète). En particulier, cette équipe est pionnière dans l'utilisation de l'homogénéisation et des méthodes de lignes de niveaux en optimisation géométrique et topologique de structures. En plus d'études théoriques elle a réalisé des logiciels 2-d et 3-d mettant en oeuvre ces algorithmes. Il existe très peu de logiciels libres d'optimisation de formes et la plupart des industriels utilisent des logiciels commerciaux qui sont à la fois relativement coûteux et moyennement performants. La raison en est double: d'une part les utilisateurs industriels préfèrent utiliser pour l'optimisation le même logiciel que pour l'analyse mécanique, d'autre part l'optimisation géométrique nécessite de disposer de capacités de déformation de maillage et de remaillage qui sont très rarement disponibles librement en 3-d. Le projet de FreeFem++ 3-d permettra de mettre ces outils à disposition des utilisateurs et le "marché" des applications potentielles semble très prometteur. Le rôle du CMAP sera de réaliser des exemples significatifs en optimisation de structures qui seront du niveau de ses meilleurs travaux de recherches et dépasseront les meilleures réalisations commerciales actuelles. Le CMAP se propose de construire des applications en optimisation de formes avec FreeFem++ 3-d. Il s'agit de développer des scripts FreeFem++ pour de l'optimisation paramétrique, géométrique et topologique de structures. Un travail similaire a déjà été effectué en 2-d: voir la page web http://www.cmap.polytechnique.fr/~optopo/classic_fr.html .En 3-d il s'agit de développer des techniques classiques d'adjoint, de déplacement de maillages, d'homogénéisation et de lignes de niveaux. 6.2.3 IRMAR (université de Rennes 1) (http://www.math.univ-rennes1.fr/irmar) Since more than 10 years, R. Lewandowski studies the mathematical properties of turbulence models. He aims to look at which model minimizes the error with respect to realistic flows. One of the industrial subject he is looking at is the simulation of the flow around and inside fishing nets, in collaboration with IFREMER since 4 years. Some models have already been tested in an axysimetric case for a rigid net using FreeFem++, giving very good results. Therefore, it is challenging no check the ability of FreeFem++ 3D to simulate a realistic 3D flow with a moving shape net in a realistic industrial situation, a case out of reach today with classical computational tools. R. Lewandowski will contribute to develop the mathematical model that will be used and will manage the numerical simulations for an essential validation of the future software in complex industrial applications. 7 7.1 Organisation et management du projet / Project organization and management Liste des tâches du projet Les grandes tâches qui correspondent directement à l’organisation du projet : 1) Passer le noyau de FreeFem++ de 2D à 3D : 1.1 Elément fini 3D , P0,P1,P2. 1.2 Interpolation rapide 3D 1.3 Eléments surfaciques et linéiques 2) Génération de maillage 3D (Les bons mailleurs 3d ne sont pas encore domaine publique, sujet trop sensible industriellement) : 2.1 le maillage est lue dans un fichier , sauf pour quelques formes simples : cube, … 3) Adaptation de maillage 3D / maillage mobile : 3.1 utiliser les outils créés par P. Frey et ses coauteur. 4) Décomposition de Domaine : 4.1 interfacer les outils de parmetis, 4.2 interfacer decoup de L'Inria 5) Résolution des systèmes linéaires en parallèle 5.1 interfacer les solveurs linéaires parallèle de superLU 5.2 Ecriture d’un solveur linéaire parallèle itératif. 6)Visualisation 3D des résultats 6.1 interfacer avec le logiciel medit 6.2 interfacer avec le logiciel Xd3d 7) Test numérique/ validation 7.1 Le calcul massivement parallèle 7.2 Tests du CMAP (applications en optimisation de formes 3d) 7.3 test del’IRMAR (Ecoulement autour de filet de pêche avec IFREMER ) 7.4 test Bio-Médical (Application to physiological flows and pathophysiology of respiratory diseases) 7.5 test ScAlApplix (fluide compressible) 8) La documentation 9) Debugging (remarque cette tache existe déjà et existera indépendamment du projet). 7.2 Management du projet Les tâches 1 à 6 sont Indépendantes et donc commenceront en parallèle à T0, la partie test et validation pourra commencer au début du projet suivant les cas. Tous les deux mois, la première année nous ferons une réunion d’avancement des travaux pour le suivi de la mise au point de la partie centrale du logiciel. Pour les tests, le travail a besoin de moins de liens forts, et donc nous ferons un groupe de travail d’avancement tous les quatre mois. Toutes ces réunions de travail seront décrites dans un compte-rendu qui sera diffusé sur la page Web du logiciel : http://www.freefem.org/ff++/f2a3 L’organisation est très simple. La première année, il faut réécrire un code d’éléments finis en 3D et interfacer les logiciels existants suivants : superLU parallèle, les codes adaptation et déplacement de maillage MMG3D de P. Frey, les logiciels de visualisation 3D medit et XD3D, les outils de décomposition de domaine. Ce travail est naturellement partitionné et par la même de travail en parallèle devrait est simplifié. Toutes les informations nécessaires seront stockées sur une base CVS, afin que tous les contributeurs puissent utiliser la version courante. La partie 7 de tests et validations est la plus importante. Elle première phase de «debugging» du logiciel. permettra, entre autres, de faire la La version 0 de freefem++ 3D sera disponible sous le nom Freefem++v3.0 en [T0+6mois]. Remarque, cette version existera, même sans ce projet l’ANR, mais le logiciel sera bien sur plus moins riche : pas de d’élément de surface, pas de solveur parallèle, moins de cas tests, etc… Remarque final, toutes les versions seront mises sur Internet, afin de tous les autres utilisateurs puissent contribuer. 8 Structure du projet – Description des sous-projets / Structure of the project – Work-packages Voilà les raccourcis des appartenances et pourcentages annuel de travail sur le projet, et tous les intervalles correspondent au support temporel de la tache en mois par rapport la date de début du projet. Laboratoire Jacques Louis Lions Initial Labo F. Hecht LJLL/P6 FH O. Pironneau LJLL/P6 OP P. Frey LJLL/P6 PF F. Nataf LJLL/CNRS FN F. Jouve LJLL/P7 FJ Y. Maday LJLL/P6 YM M. Thiriet LJLL/REO/CNR MT S F. Catalin REO/Uni Evry FC F. Preteux REO/ENSTP FP C. Grandmont REO/INRIA CG J-F Gerbeau REO/INRIA JFG I Vinon REO/INRIA IV B. Maury REO/P11 BM LJLL PoD1 Post Doct These REO/LJLL Th1 Inria Futur Bordeaux SCALAPPLIX Initial Labo C.Dobrzynski SCALAPPLIX CB R. Abgrall SCALAPPLIX RA % annuel 50 10 20 20 10 10 30 Points 1),2),3),4),5),8),9) 8) 2),6.1) 4) 6.2) 7.1) 7.4) 7.4) Durée [0,36] [0,36] [0,36] [0,36] [0,36] [0,36] [0,36] 30 30 20 10 10 5% 100% 100% 7.4) 7.4) 7.4) 7.4) 7.4) 7.4) 1.1) 2) 4) 6) 8) 7.4) [0,36] [0,36] [0,36] [0,36] [0,36] [0,36] [0,24] [0,36] Points 2) 3) 7.5) 2) 3) 7.5) Durée [0,36] [0,36] % annuel 28 11 Inria Futur Orsay Initial L. Grigori LG PoD2 Post Doct2 Sta1 Stagiaire Labo Inria Orsay Inria Orsay Inria Orsay % annuel 20 100 50% Points 4),5) 4,5) 4),5) Durée [0,36] [0,12] [6 ,12] CMAP ecole Polytechnique Initial Labo G. Allaire CMAP GL O. Pantz CMAP OPZ P. Le Tallec CMAP PLT PoD3 % annuel 10% 20% 10% 100% Points 7.2) 7.2) 7.2) Durée [0,36] [0,36] [0,36] [12,36] IRMAR Université de Rennes I Initial Labo R. Lewandowski IRMAR LR IRMAR PoD4 % annuel 20% 100% Points 7.3) 7.3) Durée [0,3] [0,2] Description du travail tâche par tâche avec l’intervalle temporel en mois et comme origine la signature du projet et le pourcentage du travail effectué par la personne relativement à la totalité du projet. Les initiales des intervenants sont en police grasse italique. 8.1 Tâche 1 : Ecriture du noyau éléments finis, Responsable FH [0,12] 20% Participant PoD1 [0,12] 20% Conseiller de OP, FN, PF, AR, LG 1.1) Réécriture des modules élément finis en trois 3D, avec une grande utilisation de la STL. D’un point de vue technique nous ferons la même hypothèse que dans le cas 2D. Un type d’élément des simplexes (tétraèdre) et un nœud par support géométrique : sommet, arête, face ou élément. Remarque dans FreeFem++ la partie élément fini est relativement petite elle ne concerne que 13000 lignes de C++ et il faut réécrire environ 3000 lignes de C++. 1.2) Interpolation rapide, c’est juste ajouter une dimension, c’est-à-dire de passer d’un arbre quaternaire à un octree. 1.3) Ajout des éléments surfaciques (triangle) et linéique (segment) afin de traiter ces questions de couplage de modèles 1D, 2D et 3D. 8.2 Tâche 2 : Mailleur 3D Responsable FH [0,1] 3% Participant PoD1 [0,1]5% Conseiller PF, et CB C’est la partie la plus critique. Comme, il est hors de question de réécrire un logiciel de CAO pour définir la géométrie, nous allons juste interfacer FreeFem++ via la lecture de fichiers de maillages dans un premier temps. Puis, nous pourrons ajouter des «plugins» pour interfacer des mailleurs du domaine public comme NetGen http://www.hpfem.jku.at/netgen ou tetgen http://tetgen.berlios.de 8.3 Tâche 3 : Adaptation de maillage 3D / maillage mobile Responsable PF [0,24] 60% Participant PoD1 [0,24] 20%, FH [0,24] 10%, CB 50%. , Conseiller FJ, GA Il s’agit de définir des méthodes pour adapter un maillage à un champ de métriques anisotrope fourni, par exemple, par un estimateur de l’erreur d’approximation. On utilisera une approche basée sur des modifications locales de la topologie du maillage, c’est-à-dire des connexions entre les éléments. Le fait d’utiliser une approche locale permettra également d’envisager de réaliser des déplacements de corps rigides dans un domaine de calcul. Il suffira pour cela d’associer un vecteur déplacement unique aux sommets d’un maillage donné. Par extension, il sera sans doute possible d’envisager d’aborder le cas de maillages déformables où, cette fois, le vecteur prescrit est non constant sur la frontière du domaine. Cette dernière étape est particulièrement utile dans le cas de procédures d’optimisation de formes. 8.4 Tâche 4 : Décomposition de domaine Responsable FH [6,9] 3% Participant PoD1 [6,9] 15% Cette tache est simple, il s’agit juste d’interfacer les logiciels du domaine public de décomposition de domaine que sont • parmetis http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview • decomp (MODULEF de L’inria) http://www.inria.fr/rapportsactivite/RA2001/m3n/m3n.ps.gz 8.5 Tâche 5 : Parallel solver Responsable LG [0,24] Participant PoD2 100%, Sta1 100% , FN 100% Conseiller FH FreeFem++ parallel will use parallel solvers for solving large linear systems. The goal is to provide to the final user two kinds of parallel solvers : black-box routines and domain decomposition methods. The black box routines will be based on parallel direct solvers (SuperLu, … Laura Grigori) and Krylov methods (CG, Krylov, …). As for domain decomposition methods the language of FreeFem++// will enable the final user to program them at a high level. This will also be useful both for research and teaching. As for all parallel programs, FreeFem++ parallel will use a distributed vector and matrix structure. An additional requirement compared to Petsc or Hypre is that the structure must be compatible with domain decomposition methods which are the most natural parallel algorithms for solving partial differential equations. F. Nataf and F. Hecht will supervise the work of a post doc working on implementing the corresponding data structure in the FreeFem++ software. 8.6 Tâche 6 : Visualisation Responsable PF [0,12] 30% et FJ [0,36] 100% Participant PoD1 à 15% Conseiller FH Dans cette partie, rien de neuf juste l’utilisation des compétences locales au LJLL en visualisation scientifique 6.1) interfacer avec le logiciel domaine publique medit de P. Frey http://www.ann.jussieu.fr/~frey/logiciels/medit.html 6.2) interfacer avec le logiciel domaine publique xd3d de F. Jouve http://www.cmap.polytechnique.fr/~jouve/xd3d/ 8.7 Tâche 7 : Validation and Test Cette partie est fondamentale, car elle motive l’intérêt principal du projet : il s’agit de résoudre effectivement des problèmes et pas seulement de dire que «l’on peut le faire», comme P. Dac et F. Blanche. 8.7.1 Test Massivement Parallèle Responsable FH [23,24] 3%, PoD1 5% Conseiller FN, YM, LG, OP C’est le premier cas test qui est un problème purement académique. Il est là pour montrer que l’on sait traiter de gros problèmes, et il donnera les briques de base pour la résolution de vrais problèmes. L’idée est de mélanger deux types de solveurs pour faire un cas réellement massivement parallèle. Le premier solveur linéaire sera le superLU parallèle de la tâche 5) qui ne travaille que sur la matrice. Le second solveur sera de type décomposition de domaine qui est déjà l’implémenté dans FreeFrem++, voir l’exemple http://www.freefem.org/ff++/Journee-Gamni-2005/edp-Hecht/mortar.edp. Le couplage de ces deux techniques devrait permettre de résoudre des problèmes sur 64x64=1024 processeurs. 8.7.2 Applications en optimisation de formes Responsable OPZ [0,36] 100% Conseiller GA, PLT, OP,PF Le CMAP se propose de construire des applications en optimisation de formes avec FreeFem++ 3d. Il s'agit de développer des scripts FreeFem++ pour de l'optimisation paramétrique, géométrique et topologique de structures. Un travail similaire a déjà été effectué en 2-d: voir la page web http://www.cmap.polytechnique.fr/~optopo/classic_fr.html En 3-d il s'agit de développer des techniques classiques d'adjoint, de déplacement de maillages, d'homogénéisation et de lignes de niveaux. Le Projet est de développer une application de FreeFem++ 3d à l'optimisation topologique de structures élastiques par la méthode d'homogénéisation, ainsi qu'à l'optimisation géométrique de structures grâce aux capacités de déformations de maillage de FreeFem++ 3d. Sur ce dernier point, il n'existe à notre connaissance aucun code 3-d d'optimisation géométrique de formes qui puisse supporter des grands déplacements de maillage comme il arrive en optimisation de structures. Par ailleurs, toujours à ma connaissance, il n'existe aucun couplage automatique en 3d d'une optmisation topologique suivie d'une optimisation géométrique. 8.7.3 Flow around a fishing net Responsable LR [0,36] 100% Intervenant PoD4 100% sur [0,24] Conseiller FH, OP With the proven decline of fishing resources, the constant increase in fuel price and because of the climate warming, it is essential to find solutions to preserve marine resources as well as saving energy during a tow. The ability of fishing technologies, such as trawls, to prevent the catch of juvenile and no market value fish is called selectivity. It takes place at the rear part of a trawl, named the cod-end net, where fish are caught. A common figure for discard is 40 % of all fish caught. The measures to reduce such a number of by-catch species include the use of new designs in cod-end nets (addition of rigid grids, new mesh shapes, ...). It means to estimate the efficiency of each new design. Experimental trials (in tanks or at sea) remain costly and difficult to perform. The same problem appears when dealing with the problem of fuel consumption. It is known that the drag caused by the fishing net can account for 80% of the fuel consumption. In the mean, a litter of fuel is needed per kilo of fish caught. One means to reduce the drag is to test new gear configurations. In both case, the benefit of fishing gears modification can be assessed in a cheap way using numerical simulations. Net elastic softwares already exist like FEMNET [1] or the one written by Le Dret et al. [2] and also fish softwares like behavioRis [3] or PRESEMO [4], [5]. A realistic turbulent flow model is given in a current IFREMER PhD thesis [6] performed by G. Pichot and advised by Pr. R. Lewandowski (see [7] and [8]). It has been tested in an axi-symmetric case using the software Freefem++ in the case of a rigid net. Comparisons were made with experimental data collected at the IFREMER tank of Boulogne-sur-Mer, where the experiments have been carried on a rigid net resin made model. The numerical results are very good in comparison with experimental results (see [7] and [8]). Theses results valid fully FreeFem++ as well as the turbulent fluid model that has been used. The challenge now is to test the flow model in the fully 3D case using the new version of Freefem 3D. Such an application to the 3D case is essential since one cannot deal with real deformations of the net and with fish using the axi-symmetric numerical code. This part of the project aims to hire a post-doctorate. This post-doctorate fellow will have to make use of the new Freefem3D software to simulate the flow around a fishing net in the 3D case. This will allow in the future the coupling of the fluid code with an elastic code. The work will consist in simulating in 3D the model given in [6]. The model deals with two difficulties: • The turbulent feature of the flow: one makes use of the incompressible averaged Navier-Stokes equations with an eddy viscosity dependending on the turbulent kinetic energy, and a closure model of order one to compute the turbulent kinetic energy, [7], [8]. The unknowns are then the mean velocity, the mean pressure and the turbulent kinetic energy. The post-doctorate fellow will have to code this turbulent model in Freefem3D; • The meshing of a complex geometry: to simplify the mesh, the net is modelled as a porous membrane of fitted permeability. The membrane and fish are taken into account directly in the fluid equations with the application of a fictitious domain approach [7], [8]. In the perspective of an iterative coupling with a 3D moving net, this method avoids any complex re-meshing since only a permeability parameter has to be updated at each iteration of the program. The post-doctorate fellow will have to apply this fictitious domain method to the 3D case in Freefem3D; The next steps will be the following: • Emphasizing the memory and computation time requirements of such an application in 3D, • Testing the numerical results obtained with Freefem3D on the axi-symmetric problem for which experimental data are already available to validate first the software, • Planning new experimental campaigns in collaboration with the IFREMER partner to get new experimental data so as to set properly the model parameters in the 3D case, • Coupling the program written in Freefem3D with existing net and fish softwares in collaboration with the IFREMER partner. References: [1] D. Priour. Calculation of net shapes by the finite element method with triangular elements. Comm. in Num. Meth., 15:755–763, 1999. [2] H. Le Dret, R. Lewandowski, D. Priour, and F. Chagneau. Numerical simulation of a cod-end net. Part 1: Equilibrium in a uniform flow. Journal of Elasticity, 76(2):139–162, 2004. [3] L. Coquelle. Simulation de comportements individuels instinctifs d’animaux dans leur environnement. De la description éthologique à l’exécution de comportements réactifs. Thèse ENIB, 2005. [4] B. Herrmann. Effect of catch size and shape on the selectivity of diamond shape mesh codends. i. model development. Fisheries Research, 71:1–13, 2005. [5] B. Herrmann. Model ling and simulation of size selectivity in diamond mesh trawl cod-ends. PhD. Thesis. Aalborg University, Denmark, 2005. [6] G. Pichot, Modélisation et analyse numérique du couplage filet-écoulement hydrodynamique en vue d’estimer la forme de la prise dans une poche chalut, PhD Thesis of Rennes 1 [7] [8] 8.7.4 University, to be defended, (2007). R. Lewandowski, G. Pichot. Numerical simulation of water flow around a rigid fishing net. ArXive: math-ph/0612066 (December 2006), submitted R. Lewandowski, G. Pichot. Sur l'écoulement turbulent au voisinage d'un filet de pêche. C. R. Acad. Sci. Paris, Ser. I. 344, pp. 141-145 (2007). Test bio-medical Responsable M. Thiriet [0,36] 100%, Participant tous a 100% Th1, FC, FP,CG,JFC,IV,BM Conseil MY, FH, OP, YM The collaborative work is aimed at developing a patient-specific medical tool for otorhinolaryngology and for lung disease medicine. Such a tool will complement the data in lung function testing, especially flow distribution within the lungs, particle deposition (either in the clinical check-up in the framework of pollutants or in treatment plannning using local therapies), and flow disturbances induced by airway pathologies (mainly located in upper and/or proximal intrathoracic conduits). Two validation stages will be included. The first one deals with the thre-dimensional reconstruction of airways visible by current techniques of medical imaging (nuclear magnetic resonance imaging, multislice helical computed tomography), i.e. the upper aiways of the head and neck on the one hand, and the large intrathoracic ducts (the first six generations of the tracheo-bronchial tree, including generation 0, the trachea). This first validation stage begins by the construction of a model using available computer-assisted design softwares. The geometry of such a model is wholly handled, in contrast to model of the anatomy (characterized by a complex geometry, especially a varying curvature in every directions) obtained from medical imaging. Simulated noisy images of the meshed model will then be generated. Image segmentation followed by 3D reconstruction of the model will allow to compare input and output geomatries, then to validate the procedure. The validation stage focuses on the numerical results of flow computations. The surface mesh of the computational model will serve as input for rapid prototyping of a phantom. The phantom will be install in an experimental flow circuit. The velocity field will be measured using particle image velocimetry (in collaboration with a team from Ecole Polytechnique de Montral). Using the same inlet and outlet conditions, the flow will be computed and compared to the measurements. 8.7.5 Test ScAlApplix Responsable RA 90% [0,36] Participant CB [0,36] 50% Conseiller OP, FH Afin de valider et confirmer la démarche, on emploiera FreeFem++ avec l'outils d'adaptation sur quelques cas bien connus et bien référencés en mécanique des fluides compressibles. Dans ces exemples, toutes les structures caractéristiques d'un écoulement sont présents, à savoir écoulements réguliers, chocs, détentes, lignes de glissement. On vérifiera la pertinence physique des solutions en examinant les niveaux d'entropie obtenus. Les cas tests envisagés sont bidimensionnels et tridimensionnels. Cas bidimensionnel. On effectuera des calculs sur un profil d'aile NACA012 où le nombre de mach amont est 0.8 et l'incidence de 2 degré. Dans ce cas, on a un choc \`a l'extrado et une compression à l'intrado (mais pas un choc). Enfin, il existe une zone de cisaillement à partir du bord de fuite. Ce test permettra de vérifier le comportement de la méthode adaptative dans les trois zones (intrado, extrado et bord de fuite), ainsi que sur le bord d'attaque de l'aile. Cette zone est régulière mais est le lieu d'une détente très forte au niveau du point d'arrêt. Généralement, les schémas génèrent beaucoup d'entropie numérique à cet endroit ce qui a des conséquence nettes sur le positionnement du choc à l'extrado. Cas tridimensionnel. On effectuera des simulations autour d'un profile d'aile ONERA M6. Parmi les conditions référencées pour ce cas test, on choisira celle où le nombre de mach amont est de 0.8395 et l'angle d'attaque de 3.06 degres. Une fois encore ce cas est très bien référencé dans la littérature (voir par exemple http://www.grc.nasa.gov/WWW/wind/valid/m6wing/m6wing.html). L'écoulement possède un choc en lambda sur l'extrado de l'aile et on pourra vérifier le comportement de la méthode par comparaison avec les solutions de la littérature. 8.8 La documentation Responsable, OP 50% [12,36], PoD1 20%, Participant tous 8.9 Debbuging Responsable FH [0,36] 20%, Intervenants tous participants comme conseillers. Remarque, cette tache n’est pas moralement une tache du projet, elle existe déjà et elle continuera et existera même si ce projet n’est pas accepté. Il suffit envoyer un message à la mailling liste [email protected] 9 Libellé du livrable 0 1 2 3 Site web du projet – Mise en place au plus tard 0 mois après le démarrage du projet et mise à jour au moins semestrielle Version 0, 3D avec élément Fini P1 et P2 Ajout des solveur // 6 Adaptation et Maillage mobile Décomposition de domaine Version 1, 3D avec élément de surface Cas test 7.1 7 Cas test 7.2 8 Cas test 7.3 9 Cas test 7.4 10 Cas test 7.5 11 Documentation Version 2. 3D +/debugger 4 5 12 Liste des livrables / List of deliverable Type1 Responsable 08 S2 X 09 S1 X 09 S2 X 10 S1 X 10 S2 X web Coordonnateur logiciel F. Hecht LJLL T0+12 X logiciel F. Nataf T0+12 X logiciel P. Frey logiciel F. Hecht LJLL+Inria Orsay LJLL+ Inria Scalapplix LJLL+ logiciel F. Hecht Tous T0+24 Publication+ test Publication+ test Publication+ test Publication+ test Publication+ test Publication Logiciel F. Hecht LJLL T0+36 X O. Pantz CMAP T0+36 X R.Lewandowski IRMAR T0+24 M. Thiriet LJLL T0+36 X R. Abgrall Inria Scalapplix Tous Tous T0+36 X T0+36 T0+36 X X O. Pironneau F. Hecht Date 08 S1 X Partenaires participants Tous T0+0 X T0+18 T0+12 X X X Tous les logiciels seront distribués comme sur le web via le site http://www.freefem.org/ff++/index.htm, les rapports des tests seront ajoutés à la documentation comme exemple d’utilisation. 10 Résultats escomptés – perspectives / Expected results and perspectives 10.1 Retombées scientifiques et techniques Les retombées sont bien entendu : la possibilité de prototyper librement un solveur numérique rapidement pour résoudre un système d’EDP elliptique, parabolique, et hyperbolique (équation Euler ou Navier-Stokes compressible) couplé non-linéaire 3D sur des machines parallèles à massivement parallèles. Cela va permettre aux universitaires d’avoir un accès simple à ce type de technologie, et donc de former des étudiants en calcul scientifique parallèle à moindre coût car dans un futur proche tous les ordinateurs seront parallèles (multi-cœur, cluster, …) De plus, cela va permettre aux équipes de recherche de résoudre des problèmes plus complexes (plus proche des problèmes réels) et donc par la même de renforcer le contact entre le monde de la 1 Logiciel, Publication, Site web, Communication, … recherche publique et le monde industriel. Les applications médicales gérées par l’équipe REO a, en outre, pour objectif, de développer des outils d’aide à la décision médicale (compléments aux explorations fonctionnelles standards, pronostic assisté par ordinateur, planification thérapeutique). 11 Propriété intellectuelle / Intellectual property La licence logiciel de FreeFem++ est la LGPL de GNU, donc tous les développements seront mis sur le réseau sous cette licence. Les scripts FreeFem ++ spécifiques développés dans ce cadre seront bien entendus propriété entière des créateurs. Ils seront soit diffusés via une licence LGPL ou ils resteront à l’usage unique et privé des contractants. Tous les résultats de ce projet financé par l'ANR seront publiés dans des revues scientifiques internationales.