Simuler le fonctionnement d’un clapet avec un module WDLANG

SIC ne comprend pas d’ouvrage ni de module de régulation de type “clapet”, ouvrage qui ne permet au débit de couler que dans un seul sens. Pour modéliser ce type d’ouvrage, il faut programmer soi-même un module de régulation. C’est que ce tutoriel propose de faire à l’aide du module WDLANG.

Création du module et connexion aux ouvrages

En mode hydraulique, aller dans le menu outils > Module de régulation

doc81

Dans le fenêtre qui s’ouvre, cliquer sur « Nouveau », donner un nom au module, puis cliquer sur « Modifier » :

doc82

Dans la fenêtre d’édition des modules de régulation, ajouter un régulateur WDLANG en choisissant dans la liste déroulante en haut à droite :

doc83

Ajouter une variable de contrôle U en cliquant sur la première ligne du tableau et choisir l’ouverture d’une vanne où doit être placé le clapet :

doc84

Définir les paramètres de la variable de contrôle : pour un clapet, il faut utiliser une commande en mode absolu (i.e. la valeur envoyée par U sera égale à la valeur de l’ouverture) et on peut éventuellement définir Umin et Umax pour que ça corresponde à l’ouverture min et max de la vanne pour le cas où l’algorithme de régulation renverrait des valeurs en dehors de la plage. Ensuite, il faut qu’on définisse les mesures hydrauliques qui vont nous permettre de commander le clapet. Je propose de mettre la cote amont dans la variable contrôlée (Y) et la cote aval dans la variable mesurée (Z).

doc85

doc86

doc87

doc88

Je mets Y et Z en absolu pour pouvoir comparer les cotes Z des deux sections.

doc89

Cliquer sur « Sélectionner ».

Sur le graph du réseau, une boite « WDLANG » doit être connectée à la vanne :

doc90

Ecriture du script de régulation

Ensuite, on peut lancer SIRENE et on va pouvoir écrire le script de régulation pendant la simulation.

Au lancement de SIRENE, on a une fenêtre qui s’ouvre avec un premier message :

doc91

On peut écrire notre code dans la fenêtre du module WDLANG :

doc92

Dans les tableaux U, Y et Z, on voit en temps réel respectivement, l’ouverture, la cote amont et la cote aval de la vanne.

La portion de code en WDLangage ci-dessus boucle sur tous les U et, pour chaque U, va ouvrir la vanne à 3 mètres si la cote amont est supérieure à la cote aval et fermer la vanne sinon. De cette façon, on peut ajouter d’autres clapets en rajoutant des lignes dans les U, Y et Z de la fenêtre d’édition des modules de régulation.

Il faut sauvegarder le script et le compiler avec les boutons ad hoc. Ensuite, si on clique sur Exécuter, le script mettra à jour la valeur de U.

Si on clique sur Continuer, cela va faire tourner la simulation jusqu’au temps défini par le champs “Prochaine pause (en nb de pas de temps)”.

Paramètres de simulation et résultats

Voici un exemple où on voit fonctionner le clapet :

Ouverture de la vanne : doc93

Cote amont du clapet : doc94

Cote aval du clapet : doc95

On remarque que le changement brusque d’ouverture de la vanne crée des instabilités numériques. Il faut faire le calcul en non linéaire en mettant 1 dans “Fréquence de calcul de la dérivée (Quasi-Newton)” des paramètres de calcul du transitoire : doc96

Un autre point à signaler est que la commande d’ouverture du clapet s’effectue avec un pas de temps de retard sur les mesures. C’est-à-dire que le clapet se ferme si au pas de temps précédent le débit s’est mis à couler en sens inverse et ne se rouvre que si la cote amont et supérieure à la cote aval au pas de temps précédent. Il faut donc éventuellement diminuer le pas de temps de calcul si la fréquence d’ouverture/fermeture du clapet est importante.