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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
Sub Test()
Dim Diametre As Single
Dim TempEau As Single
Dim NatTube As String
Dim J As Single
Dim Debit As Single
NatTube = "Cuivre" 'pour connaître la rugosité du tube
TempEau = 55 'en °C
Diametre = 26 'en mm
J = 231 'en mm de colonne d'eau
MsgBox RetourneDebit(J, NatTube, Diametre, TempEau) 'en litres/heure
Debit = 5000 'en litres/heure
MsgBox RetournePerte(Debit, NatTube, Diametre, TempEau) 'en mmCE
End Sub
Function RetournePerte(Debit As Single, _
NatureTube As String, _
Diametre As Single, _
Temp_Eau As Single) As Double
Dim A As Single '3 coefficients intermédiaires qui permettent d'éviter le recours à la fonction de Colebrook
Dim B As Single
Dim C As Single
Dim Cpe As Single 'coefficient de perte de charge
Dim J As Single
Dim Rug As Single
Dim M_Eau As Single
Dim Re As Single
Dim V As Single
Const Pi As Single = 3.14159265358979
Select Case NatureTube
Case "Cuivre": Rug = 0.0000015
Case "Acier": Rug = 0.00005
Case "Per": Rug = 0.000003
End Select
M_Eau = 0.0000000008 * Temp_Eau ^ 5 + _
-0.000000303 * Temp_Eau ^ 4 + _
0.000053678 * Temp_Eau ^ 3 + _
-0.00780474 * Temp_Eau ^ 2 + _
0.0523705799 * Temp_Eau + _
999.83932
V = ((Debit / 3600) * 0.001) / ((Diametre / 2 * 0.001) ^ 2 * Pi)
Re = (V * (Diametre * 0.001)) / (-2.2183992 * 10 ^ -12 * Temp_Eau ^ 3 + _
0.00051252585 * 10 ^ -6 * Temp_Eau ^ 2 - _
0.043254681 * 10 ^ -6 * Temp_Eau + 1.6993718 * 10 ^ -6)
Select Case Re
Case Is <= 2320 'régime laminaire
Cpe = 64 / Re
Case Is <= 3158 + 48000 * Rug / Diametre 'régime intermédiaire
Cpe = -1.292 * 10 - 2 + 8.88 * 10 - 5 * Re ^ 0.8
Case Else 'régime turbulent
A = -2 * Log((Rug / (Diametre / 1000)) / 3.71 + 12 / Re) / Log(10)
B = -2 * Log((Rug / (Diametre / 1000)) / 3.71 + 2.51 * A / Re) / Log(10)
C = -2 * Log((Rug / (Diametre / 1000)) / 3.71 + 2.51 * B / Re) / Log(10)
Cpe = (A - ((A - B) ^ 2) / (A + C - (2 * B))) ^ -2
End Select
J = Cpe / (Diametre / 1000) * V ^ 2 / (2 * 9.81) * 1000
RetournePerte = J
End Function
Function RetourneDebit(Max_mmCE As Single, _
NatureTube As String, _
Diametre As Single, _
Temp_Eau As Single) As Double
Dim A As Single '3 coefficients intermédiaires qui permettent d'éviter le recours à la fonction de Colebrook
Dim B As Single
Dim C As Single
Dim Cpe As Single 'coefficient de perte de charge
Dim J As Single
Dim Rug As Single
Dim D As Single
Dim M_Eau As Single
Dim Re As Single
Dim V As Single
Const Pi As Single = 3.14159265358979
Select Case NatureTube
Case "Cuivre": Rug = 0.0000015
Case "Acier": Rug = 0.00005
Case "Per": Rug = 0.000003
End Select
M_Eau = 0.0000000008 * Temp_Eau ^ 5 + _
-0.000000303 * Temp_Eau ^ 4 + _
0.000053678 * Temp_Eau ^ 3 + _
-0.00780474 * Temp_Eau ^ 2 + _
0.0523705799 * Temp_Eau + _
999.83932
Do
D = D + 0.1
V = ((D / 3600) * 0.001) / ((Diametre / 2 * 0.001) ^ 2 * Pi)
Re = (V * (Diametre * 0.001)) / (-2.2183992 * 10 ^ -12 * Temp_Eau ^ 3 + _
0.00051252585 * 10 ^ -6 * Temp_Eau ^ 2 - _
0.043254681 * 10 ^ -6 * Temp_Eau + 1.6993718 * 10 ^ -6)
Select Case Re
Case Is <= 2320 'régime laminaire
Cpe = 64 / Re
Case Is <= 3158 + 48000 * Rug / Diametre 'régime intermédiaire
Cpe = -1.292 * 10 - 2 + 8.88 * 10 - 5 * Re ^ 0.8
Case Else 'régime turbulent
A = -2 * Log((Rug / (Diametre / 1000)) / 3.71 + 12 / Re) / Log(10)
B = -2 * Log((Rug / (Diametre / 1000)) / 3.71 + 2.51 * A / Re) / Log(10)
C = -2 * Log((Rug / (Diametre / 1000)) / 3.71 + 2.51 * B / Re) / Log(10)
Cpe = (A - ((A - B) ^ 2) / (A + C - (2 * B))) ^ -2
End Select
J = Cpe / (Diametre / 1000) * V ^ 2 / (2 * 9.81) * 1000
Loop While J <= Max_mmCE
RetourneDebit = D
End Function |
Partager