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.