model VanneReglante parameter Real Cvmax "CV max"; parameter Real p_rho "Si > 0, masse volumique imposée du fluide"; // parameter Integer mode=0 "Région IF97. 1:liquide - 2:vapeur - 4:saturation - 0:calcul automatique"; parameter Real eps=1.e-0 "Limite inf. de la fonction carrée"; Real Cv "Cv"; Real Q(start=500) "Débit massique"; Real deltaP "Perte de charge singulière"; Real rho(start=998) "Masse volumique"; Real Tm(start=290) "Température moyenne"; Real Pm(start=1.e5) "Pression moyenne"; Real Hm(start=100000) "Enthalpie spécifique moyenne"; Real region(start=1) "Numéro de région IF97"; Real ThermoCar; Real Ouv ; public // EntreeReelle Ouv ; PortPHQ1 C1 ; PortPHQ2 C2 ; equation C1.H = C2.H; C1.Q = C2.Q; Q = C1.Q; deltaP = C1.P - C2.P; /* Inversions de débit */ 0 = if (Q > 0.0) then C1.H - C1.Hm else C2.H - C2.Hm; /* Calcul de la perte de charge */ ThermoCar = if (abs(Q) > eps) then Q*abs(Q) else Q*eps; deltaP*Cv*abs(Cv) = 1.733e12*ThermoCar/rho^2; /* Calcul du Cv en fonction de l'ouverture */ Cv = Ouv*Cvmax; /* Calcul des propriétés thermodynamiques */ Pm = (C1.P + C2.P)/2; Hm = (C1.H + C2.H)/2; Tm = Hm/4187 + 273.15; region = 1; rho = 998; end VanneReglante;