Devlopmt Epanet
Devlopmt Epanet
Devlopmt Epanet
1. Introduction
situé à Fort Worth au Texas est devenu l'une des premières entreprises à vendre un
logiciel permettant d'analyser les réseaux de distribution d'eau.
Cette année a ainsi marqué le début du développement de logiciels permettant
d'analyser les réseaux de distribution d'eau.
En 1963, Martin et Peters [4] sont les premiers chercheurs à publier un algorithme
permettant de calculer simultanément les débits aux nœuds. La méthode est une
amélioration de celle imaginée par Cross. La particularité des méthodes
simultanées est que toutes les équations définissant le réseau sont mises ensemble
dans une grande matrice afin de résoudre le système en une fois (et non plus boucle
par boucle). Afin de rendre cette opération possible, il est nécessaire de linéariser
les équations à l'aide de Taylor et ensuite résoudre d'une manière itérative
l'ensemble de la matrice grâce à Newton Raphson. Notons qu'en 1968, Uri Shamir
et Chuck Howard [5] ont démontré que l'algorithme des nœuds simultanés reste
valable si l'on ajoute des vannes ou pompes au système.
En 1969, Robert Epp et Alvin Flower [6] ont imaginé une nouvelle approche basée
sur la méthode des boucles de Cross. Cette avancée a permis de considérablement
augmenter la convergence des solutions du réseau.
En 1972, Wood et Charles [7] ont conçu un nouvel algorithme. Contrairement ses
prédécesseurs, ce dernier n'est plus basé sur les observations faites par Hardy Cross
mais sur une approche plus scientifique. La méthode des conduites simultanées (ou
méthode linéaire) s'appuie sur les lois de conservation de l'énergie et de la masse.
Cette nouvelle approche permet d'avoir une très bonne efficacité, faisant de cet
algorithme l'une des références dans le domaine des réseaux hydrauliques. Cette
méthode est d'ailleurs toujours utilisée dans de nombreux logiciels de renommé
mondiale, tels que PIPE2000 ou WOODNET.
La dernière des méthodes, celle du gradient (ou méthode composite), a été
proposée par Todini et Pilati [8] en 1987. Dans cette démarche, chaque équation
d'énergie de conduite est combinée aux équations des nœuds afin de fournir une
solution simultanée pour les nœuds ainsi que les conduites. Comme pour les autres
5
2. Le réseau hydraulique
Figure 1 : Une conduites, 2 réservoirs
Figure 2 : Exemple d'un Water Distribution System
Afin d'étudier l'influence d'un composant sur le réseau hydraulique, il est
nécessaire de connaitre les équations régissant le débit (i.e. la conservation de la
masse) ainsi que la pression (i.e. la conservation de l'énergie).
A titre d'exemple, si l'on considère un élément quelconque représenté sur la figure
3, nous remarquons qu'il possède deux variables, le débit et la pression
différentielle. Ces deux variables sont directement liées par la nature de l'élément
étudié.
7
Figure 3: Elément hydraulique quelconque
Les concepts des réseaux et éléments hydrauliques étant assimilés, il est désormais
nécessaire de s'étendre sur le développement d'une bibliothèque ainsi que sur
l'interface permettant l'utilisation de celle-ci. Par conséquent, cette section
introduira de nombreux concepts tels que le langage de programmation utilisé ou le
modèle physique.
La première étape consiste à choisir un langage de programmation capable de
mettre en œuvre la liste de fonctions reprise ci-dessous
– Une liste des éléments disponibles repris sous forme de bibliothèque ;
– Une fenêtre graphique où l'on déplace les éléments provenant de la
bibliothèque ;
– Chaque élément doit être connectable (formant ainsi un réseau) et
paramétrable (à l'aide d'un double clic par exemple)
– Un solveur ayant pour but de trouver la solution du réseau dessiné.
Au vu de ces exigences complexes, deux choix sont possibles : soit il faut
développer un programme en partant de rien et donc concevoir l'interface
graphique et le modèle mathématique, soit il est nécessaire d'utiliser un programme
ayant déjà une partie des fonctions mentionnées ci-dessus et l'adapter à nos
besoins.
La première solution requiert un langage de programmation orienté objet comme le
C++, Java ou Python et permet ainsi au développeur de créer un programme
répondant parfaitement aux conditions requises. Cependant, la mise en place d'une
telle application requiert de très bonnes compétences en programmation (orientée
objet) et beaucoup de temps.
La deuxième solution est plus adaptée à un travail d'ingénieur industriel, dans le
sens où la partie concernant l'interface graphique est déjà développée, permettant
8
3.1 Simscape
Simscape [10] est un outil faisant partie de la suite MathWorks qui permet de créer
un modèle physique en utilisant l'interface Simulink (nécessite Matlab). Un modèle
physique est un ensemble d'éléments (ou blocs) couplés à l'aide de connexions
physiques et interagissant ensemble afin de fournir une solution. Chaque élément
du modèle appartient à un domaine physique spécifique définissant ainsi les
variables de l'élément en question.
Grâce à Simscape, il est ainsi possible de simuler par exemple un réseau
hydraulique, un moteur électrique ou un système de réfrigération. Il est possible de
simuler n'importe quel type de phénomène physique pour autant que l'utilisateur
soit capable de définir un domaine correspondant et de connaitre les équations des
composants du système en question.
Matlab
Matlab est un langage de programmation de quatrième génération émulé par un
environnement de développement éponyme. Il appartient à la société MathWorks
et permet, entre autres, de manipuler des matrices, d'afficher des courbes, de créer
des interfaces utilisateurs et supporte la mise en œuvre d'algorithmes.
Matlab permet aussi de s'interfacer avec d'autres langages de programmation tels
que le C, C++, Java, Fortran et Python, ce qui en fait un des programmes de calculs
numériques les plus utilisés dans les entreprises. Les domaines d'application sont
aussi nombreux que variés, citons l'ingénierie, l'économie ou les sciences
appliquées, dans un contexte aussi bien industriel que pour la recherche.
Au fur et mesure des éditions de nombreux modules et outils ont été développés et
ajoutés à l'interface, permettant ainsi de couvrir de nouveaux domaines
d'application tels que le traitement d'images. Parmi les modules les plus utilisés,
citons l'Optimization toolbox, la toute nouvelle Virtual Reality Toolbox et Simulink.
9
Simulink
Simulink est un logiciel de modélisation système multi-physique édité par
MathWorks ; il fournit un environnement graphique et un ensemble de
bibliothèques contenant des blocs de modélisation permettent le design précis, la
simulation, l'implémentation et le contrôle de systèmes de communication et de
traitement de signal. En d'autres termes, Simulink est utile pour :
Figure 4 : Though et Across variables
Comme présenté sur la figure 4, un flux d'énergie est caractérisé par ses deux
variables : Across et Through. Habituellement, le produit de ces variables
correspond au flux d'énergie exprimé en Watt.
Dans cet exemple, le bloc élément 1 modélise un élément quelconque, allant d'une
conduite à un changement de section où les variables représentent respectivement
le débit du fluide et la différence de pression. Chaque bloc sera ainsi défini par ses
paramètres et équations caractéristiques. Dans la plupart des cas, le débit en entrée
sera le même que le débit en sortie et une perte de charge sera engendrée par
l'élément en question.
Dans ce cette section, la liste des éléments repris dans la bibliothèque est présentée
en détail. Pour plus de clarté, ils seront classés par rapport à leur fonction. Chacun
des éléments a été développé à l’aide de Simscape, ils possèdent des variables,
paramètres et équations propres à leur fonction.
Eléments à pertes de charges linéaires : conduite méthode Hazen-Williams
(HW), conduite méthode Darcy-Weisbach (DW), conduite à pertes définies.
Eléments à pertes de charges singulières : coude mitré, coude à bride standard
(45°, 90° et 180°), coude à bride, raccord en T, raccord en X, contraction graduelle,
élargissement graduel, entrée de tuyau (flush et saillie interne), sortie de tuyau,
diaphragme à bord carré
Eléments à gains de charges : pompe centrifuge, pompe volumétrique, source de
débit volumique, source de pression
Les réservoirs : source infinie à niveau constant, réservoir à une entrée, cuve.
11
Les nœuds réseaux : nœuds réseaux (1, 2, 3 et 4 entrées), nœuds réseau avec
capteur de pression (1, 2, 3 et 4 entrées), nœuds réseau avec capteur de pression et
demande variable (1, 2, 3 et 4 entrées)
Les capteurs : capteur de pression différentielle, capteur de pression absolue,
capteur de débit (parfait, Tuyère, Venturi et diaphragme).
Les vannes : vanne à boule, vanne à opercule, vanne V (Kv et Cv), vanne Kv à
ouverture variable
Les utilitaires : paramètres de l’eau, paramètres du fluide, référence, référence
variable, vanne parfaite, stop hydraulique, clapet anti-retour.
Cette section est orientée sur différents exemples ayant pour but de tester les
limites du modèle mathématique et de valider les résultats fournis
Les cas étudiés tout au long de cette section sont un réseau de distribution d'eau
théorique, un réseau de distribution d'eau réel, et un exemple concernant des
réservoirs à volume variable.
Figure 5 : Schéma du réseau théorique
12
Cet exemple, composé de 2 boucles et 8 tuyaux est fourni par M. Venturin [11] : il
correspond à un réseau basique où aucune pompe n'est présente. L'énergie
nécessaire au transport de l'eau provient des différences d'altitude entre la source et
les nœuds.
Afin de confirmer les résultats obtenus à l'aide de Scilab, validons cet exemple à
l'aide d'EPANET. Les résultats obtenus sont affichés dans le tableau 3. Nous
constatons que les valeurs ne diffèrent que de 0.5% dans le pire des cas.
Une fois les résultats validés, étudions ce cas basique à l'aide du modèle
mathématique développé sous Simscape, SMASH. La figure 6 et le tableau 3
exposent les résultats obtenus. Nous observons que la solution acquise à l'aide de
Simscape est semblable aux résultats fournis par l'auteur ainsi que par le
programme de simulation EPANET. Les faibles variations au sein des résultats
proviennent des formules pour calculer les pertes linéaires (Hazen-Williams pour
EPANET et Scilab alors que SMASH utilise la formule de Darcy-Weisbach).
La figure 6 est la représentation du réseau à l’aide de SMASH. Ce schéma est
composé de d’éléments hydrauliques (conduite, référence, débitmètre, …) et de
contrôles (affichage de donnée, mesure de pression, convertisseur de donnée, …).
Chacun des blocs sont reliés afin de former le réseau hydraulique représenté sur la
figure 5.
13
14
Figure 6 : WDS théorique - Réseau hydraulique via SMASH
15
Ce réseau a été étudié par Roland W. Jeppson [12] en 1974. Ce dernier a utilisé la
méthode linéaire développée par Charles et Wood [7] deux années auparavant.
Figure 7 : Réseau réel de distribution
Afin de comparer les résultats fournis par Jeppson et SMASH, le tableau 4 présente
les débits et pressions en certains endroits du réseau, pris aléatoirement.
Contrairement au réseau de distribution étudié précédemment, la différence entre
les résultats fournis par Jeppson et SMASH est sensiblement plus élevée.
De fait, étant donné la complexité du réseau étudié, une légère différence des
formules utilisées pour calculer les pertes de charges linéaires entraine des
disparités au sein des résultats, principalement au niveau des débits.
16
Figure 8 : Schéma de 2 réservoirs connectés par une conduite
𝑉!! 𝑃! 𝑉!! 𝑃!
+ ℎ! + = + ℎ! +
2𝑔 𝜌𝑔 2𝑔 𝜌𝑔
En considérant que la pression est la même dans les 2 réservoirs et que les vitesses
du fluide sont nulles, ces équations peuvent se simplifier comme suit
ℎ! = ℎ!
Ainsi,
ℎ! = ℎ! = 0.92 𝑚
Figure 9 : Représentation des 2 réservoirs à l’aide de SMASH
18
Figure 10 : Evolution de la hauteur de l’eau dans les réservoirs en fonction du
temps
5. Conclusions et perspectives
L'objectif qui était poursuivi a été atteint et même dépassé grâce à l'immense
potentiel du code de calcul.
De nombreux exemples ont permis de valider les performances fournies par le code
de calcul SMASH. Ces derniers ont été sélectionnés afin de couvrir l'étendue des
possibilités offertes par le code de calcul.
L'ensemble de ces exemples a ainsi permis de valider le code de calcul SMASH.
La faible différence des résultats observée peut être expliquée grâce à la différence
de l'une ou plusieurs des formules permettant de calculer les pertes de charges
(singulières ou linéaires), auquel cas plus le réseau est complexe plus il entraine
une différence de résultats conséquente.
Dans la continuité du travail effectué, deux améliorations possibles sont abordées
dans la section précédente : la prise en compte de la température comme variable et
le développement d'un exécutable. Toutefois, ces deux améliorations ne sont pas
les seules envisageables, un add-on permettant la régulation en temps réel d'un
réseau hydraulique pourrait être implémenté au sein de SMASH tout comme la
prise en compte de phénomènes mécaniques (coup de bélier).
19
6. Références
[3] HOAG L. & WEINBERG G., Pipeline network analysis by electronic digital
computer, Journal of the American Water Works Association, pp. 517–524,
1957.
[4] MARTIN D. & PETERS G., The application of newton’s method to network
analysis by digital computer, Journal of the Institute of Water Engineers,
pp. 17 :115–129, 1963.
[5] SHAMIR U. & HOWARD C., Water distribution systems analysis, Journal of
the Hydraulic division, ASCE, 94, Proc. Paper 5758, pp. 219–234, 1968.
[6] EPP R. & FOWLER A., Efficient code for steady-state flows in networks,
Journal of the Hydraulics Division, ASCE, 96, Proc. Paper 7002, pp. 43–
56, 1970.
[7] WOOD D. & CHARLES C; Hydraulic network analysis using linear theory,
Journal of the Hydraulic division, ASCE, 98, Proc. Paper 9031, pp. 1157–
1170, 1972.
[8] TODINI E. & PILATI S., A gradient method for the analysis of pipe
networks., International Conference on Computer Applications for Water
Supply and Distribution, Leicester Polytechnic, UK., 1987.
[11] VENTURIN M., A hydraulic scilab toolbox for water distribution systems,
Open source