1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Const DEBIT_ARRIVE_M3_PER_S As Double = 20
Const DEBIT_SORTIE_M3_PER_S As Double = 10
Const REMPLISSAGE_SOUHAITE_M3 As Double = 2.5
' Retourne le volume d'eau en m^3 suivant l'état des vannes à une durée après l'ouverture / fermeture des vannes
Public Function GetVolEauSuivantEtatVannesA(QEauInitialMCube As Double, _
vArriveOuverture As Double, vSortieOuverture As Double, dureeHeure As Double) As Double
GetVolEauSuivantEtatVannesA = QEauInitialMCube
If vArrive = VANNE_OUVERTE Then
GetVolEauSuivantEtatVannesA = GetVolEauSuivantEtatVannesA + DEBIT_ARRIVE_M3_PER_S * vArriveOuverture * dureeHeure
End If
If vSortie = VANNE_OUVERTE Then
GetVolEauSuivantEtatVannesA = GetVolEauSuivantEtatVannesA - DEBIT_SORTIE_M3_PER_S * vSortieOuverture * dureeHeure
If GetVolEauSuivantEtatVannesA < 0 Then GetVolEauSuivantEtatVannesA = 0
End If
End Function
Public Function CalculOuverturePourVanneInput(QEauCuve As Double, vSortieOuverture As Double) As Double
CalculOuverturePourVanneInput = (REMPLISSAGE_SOUHAITE_M3 - QEauCuve) / REMPLISSAGE_SOUHAITE_M3
If vSortie = VANNE_OUVERTE Then
CalculOuverturePourVanneInput = CalculOuverturePourVanneInput + (vSortieOuverture * DEBIT_SORTIE_M3_PER_S) / DEBIT_ARRIVE_M3_PER_S
End If
If CalculOuverturePourVanneInput > 1 Then
CalculOuverturePourVanneInput = 1
ElseIf CalculOuverturePourVanneInput < 0 Then
CalculOuverturePourVanneInput = 0
End If
End Function |