SWASHES : bibliothèque de solutions analytiques pour les équations de Saint-Venant

Science ouverte

SWASHES (Shallow Water Analytic Solutions for Hydraulic and Environmental Studies) est une bibliothèque de solutions analytiques pour les équations de Saint-Venant (qui modélisent les écoulements peu profonds) appliquées à l’hydraulique et aux études environnementales.

Découvrir SWASHES 

Un article rédigé par Carine Lucas, maîtresse de Conférences HDR en Mathématiques Appliquées à l’Université d’Orléans, et Frédéric Darboux, chargé de recherche HDR à l'INRAE. Tous deux sont membres de l'équipe créatrice de SWASHES.

Pouvez-vous nous présenter le logiciel ? 

Lorsque l’on veut résoudre des équations complexes modélisant des phénomènes réels (biologiques, physiques, etc.), il n’existe généralement pas de solution explicite. On utilise alors des schémas numériques mis au point par des mathématiciennes et mathématiciens et résolus numériquement par des codes informatiques. Ces résolutions sont toujours des approximations, mais on ne sait pas a priori si l'approximation est de bonne qualité. Pour cela, il faudrait connaître des solutions exactes. Or, de telles solutions exactes peuvent exister, mais uniquement pour des cas particuliers. On parle de « solutions analytiques ». Lorsqu'une mathématicienne ou mathématicien trouve une solution analytique, elle ou il peut la publier dans un article ou dans une thèse par exemple. Cela aboutit à une dispersion des solutions analytiques dans la littérature, et à des écritures sous différents formalismes. En pratique, les solutions analytiques sont donc difficiles à identifier, et ainsi à utiliser.

Nous avons créé une bibliothèque de solutions analytiques spécifique aux équations de Saint-Venant. Ce sont des équations qui modélisent des écoulements peu épais à surface libre (comme un lac, une rivière, un océan). Cette bibliothèque, dénommée SWASHES, regroupe une cinquantaine de solutions analytiques dans un formalisme commun. Ces solutions recouvrent une grande variété de conditions d’écoulement (super-critique, sous-critique, choc, etc.), en 1 ou 2 dimensions d’espace, avec ou sans pluie et frottement au niveau du sol, pour des écoulements transitoires ou des états d’équilibre. Cette diversité permet aux utilisatrices et utilisateurs ainsi qu'aux développeuses et développeurs de code Saint-Venant de choisir les cas les plus adaptés à leur problème, et d'évaluer la précision de leur code.

SWASHES leur fournit les paramètres, à entrer dans le code, et les résultats exacts, que le code doit reproduire. En mesurant l'écart entre les résultats exacts et les résultats numériques, on peut évaluer la qualité du code. SWASHES constitue une liste de cas-tests de référence, sur lesquels on peut comparer les différentes approches numériques développées par diverses équipes de recherche. SWASHES permet ainsi aux équipes de mettre en avant la qualité de leurs travaux.

Qui constitue l'équipe derrière le logiciel ?

Le développement de SWASHES a débuté sur la base d'une collaboration interdisciplinaire entre le laboratoire de mathématiques de l'Université d'Orléans et le laboratoire de science du sol de l'INRAE-Orléans. Olivier Delestre, alors en thèse, a eu besoin de vérifier le code Saint-Venant qu'il développait (FullSWOF) : pour cela, il a réussi à identifier plusieurs solutions analytiques qui allaient constituer la base de la bibliothèque.   

Pour la création de SWASHES, la collaboration a fonctionné selon le principe suivant : les mathématiciens de l'équipe (Olivier Delestre, Stéphane Cordier et François James, rejoints par Carine Lucas et Christian Laguerre) reprenaient l'écriture d'une solution analytique et Frédéric Darboux (hydrologue) la dimensionnait afin que les valeurs soient dans une gamme réaliste.

Le logiciel SWASHES a bénéficié des travaux de stagiaires (Pierre-Antoine Ksinant, Noémie Gaveau, Maxime Rougier) qui ont intégré des solutions supplémentaires. Elle et ils ont ainsi pu faire leurs premières armes en devant se plonger dans un article scientifique, comprendre la solution analytique proposée, la réécrire dans un formalisme unifié et la programmer dans SWASHES.

D'autres collègues (Anne-Céline Boulanger, Marco Mancini) ont également contribué ponctuellement au logiciel.

Quelles sont ses spécificités scientifiques et techniques ?

SWASHES est spécialisé dans les solutions analytiques des équations de Saint-Venant. Le logiciel intéresse donc la communauté qui développe des codes résolvant ces équations, mais aussi leurs utilisatrices et utilisateurs. Ainsi, lorsqu'un bureau d'étude doit choisir un code Saint-Venant, il peut en tester les capacités avec SWASHES. Le logiciel fait ainsi office d'assurance-qualité.

Le logiciel est écrit en C++, et il peut être utilisé sur tous les OS. Il n'y a pas besoin de savoir programmer pour s'en servir : l'utilisatrice ou l'utilisateur précise la solution analytique qui l'intéresse et le nombre de mailles dont elle ou il a besoin (c'est-à-dire la résolution spatiale). SWASHES lui fournit alors un fichier texte avec les paramètres du cas test et la solution exacte. Elle ou il fournit ces paramètres à son code, puis compare le résultat avec la solution exacte.

Pourquoi opter pour la science ouverte, et quels sont les avantages selon vous ?

En diffusant SWASHES librement et gratuitement, nous cherchons à améliorer les pratiques de la communauté utilisant les équations de Saint-Venant. De plus, cela évite que chaque équipe recode les solutions analytiques disponibles dans la littérature. Le travail a été fait une fois, les équipes peuvent donc se concentrer sur d'autres aspects. Un code source accessible renforce la confiance dans les résultats puisque chacun peut aller vérifier la façon dont les calculs sont programmés. Il aurait été contradictoire d'affirmer fournir des solutions de référence en demandant aux utilisatrices et utilisateurs de nous faire aveuglement confiance. Enfin, le code étant libre, n'importe qui peut y contribuer en y rajoutant une nouvelle solution analytique.

En plus de contribuer à la science ouverte, SWASHES contribue aussi à rendre la science plus reproductible, et ainsi à résoudre, à son échelle, ce qui a été appelé la "crise de la reproductibilité".

Quel est l’accueil de ce logiciel dans la communauté scientifique ? Le périmètre des contributions possibles ?

SWASHES est très cité (plus de 260 références) à la fois en tant que logiciel mais également comme catalogue qui répertorie les solutions analytiques éparpillées dans la littérature. Il est également très téléchargé depuis son dépôt sur la forge logicielle SourceSup (10000 à 40000 téléchargements par an depuis 2020).

SWASHES a permis de démocratiser l'approche consistant à comparer les résultats d'un code Saint-Venant à une solution analytique. Cette approche existait auparavant, mais était peu utilisée parce que les solutions analytiques étaient difficilement accessibles. Il fallait tout d'abord connaître l'existence d'une solution, puis être capable de comprendre son formalisme, et enfin savoir la résoudre pour obtenir quelque chose à comparer avec les résultats de son code. Avec SWASHES, il n'y a plus ces barrières : il suffit de choisir la solution analytique qui vous intéresse, puis de la comparer aux résultats de votre code.

Envisagez-vous une extension de SWASHES à d'autres domaines d'application ?

Face au succès de SWASHES pour les équations de Saint-Venant, nous avons monté un consortium de mathématiciennes et mathématiciens pour généraliser l'approche à toute équation ou système d'équations. Beaucoup d'équations utilisées en économie, physique, chimie ou biologie doivent être résolues numériquement car des solutions exactes n'existent que pour des cas particuliers. Dans toutes ces communautés, la comparaison à des solutions exactes est sous-exploitée car elles sont dispersées et méconnues. Nous avons actuellement l'ébauche d'un nouveau logiciel, IAVlib (In Analytico Veritas library), qui a vocation à fournir des solutions analytiques pour toute équation et tout domaine scientifique. Nous espérons que cela fera ainsi progresser la qualité des codes informatiques de la même façon que nous avons pu le voir avec SWASHES pour les équations de Saint-Venant.