-
Notifications
You must be signed in to change notification settings - Fork 2
Cooling tower first model #472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 1 commit
fecbf88
09c362f
8f0cb64
f3d9107
2cf625c
dec12b1
8db44a3
1f5ac4a
8289c87
b396da0
b9a9f12
b2b137f
f7abffa
c047767
78a0e7b
05bf4a6
3e1bd9d
f150e11
59c7886
16790e5
ada350a
716c2f2
64e7e62
87697c5
5d870a1
e251278
9bf1165
b8f1889
54c1b01
b6e7cc4
0c1907c
852091b
7b377c0
7aee51c
b64a2b0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| within MetroscopeModelingLibrary.MultiFluid.HeatExchangers; | ||
| model CoolingTowerPoppeTrial | ||
| model CoolingTowerPoppe | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add a comment with the reference of the article we used |
||
| package Water = MetroscopeModelingLibrary.Utilities.Media.WaterSteamMedium; | ||
| package MoistAir = MetroscopeModelingLibrary.Utilities.Media.MoistAirMedium; | ||
| import MetroscopeModelingLibrary.Utilities.Units; | ||
|
|
@@ -53,7 +53,6 @@ model CoolingTowerPoppeTrial | |
| Inputs.InputReal Lfi; | ||
| Inputs.InputFrictionCoefficient Cf; | ||
|
|
||
|
|
||
| constant Real gr(unit="m/s2") = Modelica.Constants.g_n; | ||
|
|
||
| Units.Density rho_air_inlet; | ||
|
|
@@ -91,8 +90,6 @@ model CoolingTowerPoppeTrial | |
| Units.MassFlowRate Qw[N_step]; | ||
| Units.MassFlowRate Qa[N_step]; | ||
|
|
||
|
|
||
|
|
||
| WaterSteam.Connectors.Inlet water_inlet_connector annotation (Placement(transformation(extent={{-120,-10},{-100,10}}))); | ||
| WaterSteam.Connectors.Outlet water_outlet_connector annotation (Placement(transformation(extent={{100,-10},{120,10}}))); | ||
| MetroscopeModelingLibrary.MoistAir.Connectors.Inlet air_inlet_connector annotation (Placement(transformation(extent={{-10,100},{10,120}}))); | ||
|
|
@@ -120,22 +117,19 @@ model CoolingTowerPoppeTrial | |
| origin={0,-64}))); | ||
| equation | ||
|
|
||
|
|
||
| // connectors | ||
| air_inlet_flow.P_out = Pin[1]; | ||
| air_inlet_flow.Q = Q_cold_in; | ||
| air_inlet_flow.h = i_initial; | ||
| air_inlet.T_in = T_cold_in; | ||
| w_in = air_inlet.Xi_in[1]; | ||
|
|
||
|
|
||
| air_outlet_flow.P_in = Pin[N_step]; | ||
| air_outlet_flow.Q = Q_cold_out; | ||
| air_outlet_flow.h = i_final; | ||
| air_outlet.T_out = T_cold_out; | ||
| w_out = air_outlet.Xi_out[1]; | ||
|
|
||
|
|
||
| water_inlet_flow.P_out = Pin[N_step]; | ||
| water_inlet_flow.Q = Q_hot_in; | ||
| water_inlet_flow.T_in = T_hot_in; | ||
|
|
@@ -149,11 +143,9 @@ equation | |
| deltaTw = (Tw[N_step] - Tw[1]) / (N_step - 1); | ||
|
|
||
| for n in 1:N_step loop | ||
| //Tw[n] = T_hot_in + (T_hot_out-T_hot_in)*(n-1)/(N_step-1); //OLD LOOP | ||
| Tw[n] = T_hot_out + (T_hot_in-T_hot_out)*(n-1)/(N_step-1); //NEW LOOP where T[N_step] = T_hot_in | ||
| Tw[n] = T_hot_out + (T_hot_in-T_hot_out)*(n-1)/(N_step-1); | ||
| end for; | ||
|
|
||
|
|
||
| for n in 1:N_step-1 loop | ||
| w[n+1] = w[n] + deltaTw * f(Tw[n], w[n], i[n], cp[n], Qw[n], Qa[n], Pin[n], Lef[n]); | ||
| i[n+1] = i[n] + deltaTw * g(Tw[n], w[n], i[n], cp[n], Qw[n], Qa[n], Pin[n], Lef[n]); | ||
|
|
@@ -171,7 +163,6 @@ equation | |
|
|
||
| end for; | ||
|
|
||
|
|
||
| Me = hd * Afr / Qw[1]; | ||
| M[N_step] = Me; | ||
| M[1] = 0; | ||
|
|
@@ -182,12 +173,12 @@ equation | |
| i[1] = i_initial; | ||
| i[N_step] = i_final; | ||
|
|
||
| Qw[1] = Q_hot_out; //was Q_hot_in but water and air flow in opposite directions so like this | ||
| Qw[N_step] = Q_hot_in; //was Q_hot_out but water and air flow in opposite directions so like this | ||
| Qw[1] = Q_hot_out; | ||
| Qw[N_step] = Q_hot_in; | ||
| Qa[1] = Q_cold_in; | ||
| Qa[N_step] = Q_cold_out; | ||
|
|
||
| Lef[1] = 0.9077990913 * (((MoistAir.xsaturation_pT(Pin[1], T_cold_in)+0.622)/(w[1]+0.622))-1) / log((MoistAir.xsaturation_pT(Pin[1], T_cold_in)+0.622)/(w[1]+0.622)); //NEW | ||
| Lef[1] = 0.9077990913 * (((MoistAir.xsaturation_pT(Pin[1], T_cold_in)+0.622)/(w[1]+0.622))-1) / log((MoistAir.xsaturation_pT(Pin[1], T_cold_in)+0.622)/(w[1]+0.622)); | ||
| cp[1] = WaterSteamMedium.specificHeatCapacityCp(water_inlet_flow.state_in); | ||
|
|
||
| // Drift Equation | ||
|
|
@@ -237,4 +228,4 @@ equation | |
| lineColor={28,108,200}, | ||
| fillColor={85,255,255}, | ||
| fillPattern=FillPattern.Solid)}), Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-120,-120},{120,120}}))); | ||
| end CoolingTowerPoppeTrial; | ||
| end CoolingTowerPoppe; | ||
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,301 @@ | ||
| within MetroscopeModelingLibrary.MultiFluid.HeatExchangers; | ||
| model CoolingTowerPoppewithSS | ||
| package Water = MetroscopeModelingLibrary.Utilities.Media.WaterSteamMedium; | ||
| package MoistAir = MetroscopeModelingLibrary.Utilities.Media.MoistAirMedium; | ||
| import MetroscopeModelingLibrary.Utilities.Units; | ||
| import MetroscopeModelingLibrary.Utilities.Units.Inputs; | ||
| import MetroscopeModelingLibrary.Utilities.Media.WaterSteamMedium; | ||
| import MetroscopeModelingLibrary.Utilities.Media.MoistAirMedium.specificEnthalpy; | ||
|
|
||
| //Unsaturated Air | ||
|
||
| function f | ||
| input Real Tw; | ||
| input Real w; | ||
| input Real i; | ||
| input Real cp; | ||
| input Real Qw; | ||
| input Real Qa; | ||
| input Real Pin; | ||
| input Real Lef; | ||
| output Real y; | ||
| algorithm | ||
| y:= (cp * (Qw / Qa) * (MoistAir.xsaturation_pT(Pin, Tw) - w)) / (((MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)})) - i + (Lef-1) * ((MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)}) - i - (MoistAir.xsaturation_pT(Pin, Tw) - w) * MoistAir.h_pTX(Pin, Tw, {1}))) - (MoistAir.xsaturation_pT(Pin, Tw) - w) * cp * Tw)); | ||
| end f; | ||
|
|
||
| function g | ||
| input Real Tw; | ||
| input Real w; | ||
| input Real i; | ||
| input Real cp; | ||
| input Real Qw; | ||
| input Real Qa; | ||
| input Real Pin; | ||
| input Real Lef; | ||
| output Real y; | ||
| algorithm | ||
| y:= ((Qw * cp) / Qa) * (1 + (((MoistAir.xsaturation_pT(Pin, Tw) - w) * (cp * Tw)) / ((MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)}) - i + ((Lef-1) * (MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)}) - i - (MoistAir.xsaturation_pT(Pin, Tw) - w) * MoistAir.h_pTX(Pin, Tw, {1}))) - (MoistAir.xsaturation_pT(Pin, Tw) - w) * cp * Tw)))); | ||
| end g; | ||
|
|
||
| function h | ||
| input Real Tw; | ||
| input Real w; | ||
| input Real i; | ||
| input Real cp; | ||
| input Real Pin; | ||
| input Real Lef; | ||
| output Real y; | ||
| algorithm | ||
| y:= cp / (MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)}) - i + (Lef-1) * (MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)}) - i - (MoistAir.xsaturation_pT(Pin, Tw) - w) * MoistAir.h_pTX(Pin, Tw, {1})) - (MoistAir.xsaturation_pT(Pin, Tw) - w) * cp * Tw); | ||
| end h; | ||
|
|
||
| //Supersaturated Air | ||
| function j | ||
| input Real Tw; | ||
| input Real Ta; | ||
| input Real w; | ||
| input Real i; | ||
| input Real cp; | ||
| input Real Qw; | ||
| input Real Qa; | ||
| input Real Pin; | ||
| input Real Lef; | ||
| output Real y; | ||
| algorithm | ||
| y:= (cp * (Qw / Qa) * (MoistAir.xsaturation_pT(Pin, Tw) - MoistAir.xsaturation_pT(Pin, Ta))) / (MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)}) - i + (Lef-1) * (MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)}) - i - (MoistAir.xsaturation_pT(Pin, Tw) - MoistAir.xsaturation_pT(Pin, Ta)) * (MoistAir.h_pTX(Pin, Tw, {1})) + (w - MoistAir.xsaturation_pT(Pin, Ta)) * cp * Tw) + (w - MoistAir.xsaturation_pT(Pin, Tw)) * cp * Tw); | ||
| end j; | ||
|
|
||
| function k | ||
| input Real Tw; | ||
| input Real Ta; | ||
| input Real w; | ||
| input Real i; | ||
| input Real cp; | ||
| input Real Qw; | ||
| input Real Qa; | ||
| input Real Pin; | ||
| input Real Lef; | ||
| output Real y; | ||
| algorithm | ||
| y:= (cp * (Qw / Qa)) * (1 + (((cp * Tw) * (MoistAir.xsaturation_pT(Pin, Tw) - MoistAir.xsaturation_pT(Pin, Ta))) / (MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)}) - i + (Lef-1) * (MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)}) - i - (MoistAir.xsaturation_pT(Pin, Tw) - MoistAir.xsaturation_pT(Pin, Ta)) * MoistAir.h_pTX(Pin, Tw, {1}) + (w - MoistAir.xsaturation_pT(Pin, Ta)) * cp * Tw) + (w - MoistAir.xsaturation_pT(Pin, Tw)) * cp * Tw))); | ||
| end k; | ||
|
|
||
| function m | ||
| input Real Tw; | ||
| input Real Ta; | ||
| input Real w; | ||
| input Real i; | ||
| input Real cp; | ||
| input Real Pin; | ||
| input Real Lef; | ||
| output Real y; | ||
| algorithm | ||
| y:= cp / ((MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)}) - i + (Lef-1) * (MoistAir.h_pTX(Pin, Tw, {MoistAir.xsaturation_pT(Pin, Tw)}) - i - (MoistAir.xsaturation_pT(Pin, Tw) - MoistAir.xsaturation_pT(Pin, Ta)) * MoistAir.h_pTX(Pin, Tw, {1})) + (w - MoistAir.xsaturation_pT(Pin, Ta)) * cp * Tw) + (w - MoistAir.xsaturation_pT(Pin, Tw)) * cp * Tw); | ||
| end m; | ||
|
|
||
|
|
||
|
|
||
| Units.Velocity V_inlet; | ||
| Inputs.InputReal hd; | ||
| Inputs.InputArea Afr; | ||
| Inputs.InputReal Lfi; | ||
| Inputs.InputFrictionCoefficient Cf; | ||
|
||
|
|
||
| constant Real gr(unit="m/s2") = Modelica.Constants.g_n; | ||
|
|
||
| Units.Density rho_air_inlet; | ||
| Units.Density rho_air_outlet; | ||
|
|
||
| Units.MassFlowRate Q_hot_in; | ||
| Units.MassFlowRate Q_hot_out; | ||
| Units.MassFlowRate Q_cold_in; | ||
| Units.MassFlowRate Q_cold_out; | ||
|
|
||
| Real w_in; | ||
| Real w_out; | ||
| Real w_sat[N_step]; | ||
|
|
||
| Units.SpecificEnthalpy i_initial; | ||
| Units.SpecificEnthalpy i_final; | ||
|
|
||
| Units.Temperature T_cold_in; | ||
| Units.Temperature T_cold_out; | ||
| Units.Temperature T_hot_in; | ||
| Units.Temperature T_hot_out; | ||
|
|
||
| // Poppe Inputs | ||
| Units.Temperature deltaTw; | ||
|
|
||
| parameter Integer N_step = 10; | ||
|
||
| Real w[N_step]; | ||
| Real M[N_step]; | ||
| Real Me; | ||
| Real i[N_step]; | ||
| Real Tw[N_step]; | ||
| Real Ta[N_step]; | ||
| Units.HeatCapacity cp[N_step]; | ||
| Real Pin[N_step]; | ||
| Real Lef[N_step]; | ||
| Units.MassFlowRate Qw[N_step]; | ||
| Units.MassFlowRate Qa[N_step]; | ||
|
|
||
|
||
| WaterSteam.Connectors.Inlet water_inlet_connector annotation (Placement(transformation(extent={{-120,-10},{-100,10}}))); | ||
| WaterSteam.Connectors.Outlet water_outlet_connector annotation (Placement(transformation(extent={{100,-10},{120,10}}))); | ||
| MetroscopeModelingLibrary.MoistAir.Connectors.Inlet air_inlet_connector annotation (Placement(transformation(extent={{-10,100},{10,120}}))); | ||
| MetroscopeModelingLibrary.MoistAir.Connectors.Outlet air_outlet_connector annotation (Placement(transformation(extent={{-10,-120},{10,-100}}))); | ||
| WaterSteam.BaseClasses.IsoHFlowModel water_inlet_flow annotation (Placement(transformation(extent={{-76,-10},{-56,10}}))); | ||
| WaterSteam.BaseClasses.IsoPHFlowModel water_outlet_flow annotation (Placement(transformation(extent={{64,-10},{84,10}}))); | ||
| WaterSteam.BoundaryConditions.Source water_outlet annotation (Placement(transformation(extent={{22,-10},{42,10}}))); | ||
| WaterSteam.BoundaryConditions.Sink water_inlet annotation (Placement(transformation(extent={{-42,-10},{-22,10}}))); | ||
| MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel air_inlet_flow annotation (Placement(transformation( | ||
| extent={{-10,-10},{10,10}}, | ||
| rotation=270, | ||
| origin={0,56}))); | ||
| MetroscopeModelingLibrary.MoistAir.BoundaryConditions.Sink air_inlet annotation (Placement(transformation( | ||
| extent={{-10,-10},{10,10}}, | ||
| rotation=270, | ||
| origin={0,28}))); | ||
| MetroscopeModelingLibrary.MoistAir.BoundaryConditions.Source | ||
| air_outlet annotation (Placement(transformation( | ||
| extent={{-10,-10},{10,10}}, | ||
| rotation=270, | ||
| origin={0,-32}))); | ||
| MetroscopeModelingLibrary.MoistAir.BaseClasses.IsoPHFlowModel air_outlet_flow annotation (Placement(transformation( | ||
| extent={{-10,-10},{10,10}}, | ||
| rotation=270, | ||
| origin={0,-64}))); | ||
| equation | ||
|
|
||
| // connectors | ||
| air_inlet_flow.P_out = Pin[1]; | ||
| air_inlet_flow.Q = Q_cold_in; | ||
| air_inlet_flow.h = i_initial; | ||
| air_inlet.T_in = T_cold_in; | ||
| w_in = air_inlet.Xi_in[1]; | ||
|
|
||
| air_outlet_flow.P_in = Pin[N_step]; | ||
| air_outlet_flow.Q = Q_cold_out; | ||
| air_outlet_flow.h = i_final; | ||
| air_outlet.T_out = T_cold_out; | ||
| w_out = air_outlet.Xi_out[1]; | ||
|
|
||
| water_inlet_flow.P_out = Pin[N_step]; | ||
| water_inlet_flow.Q = Q_hot_in; | ||
| water_inlet_flow.T_in = T_hot_in; | ||
|
|
||
| water_outlet_flow.P_out = Pin[1]; | ||
| water_outlet_flow.Q = Q_hot_out; | ||
| water_outlet_flow.T_in = T_hot_out; | ||
|
|
||
| // New Poppe Equations | ||
|
|
||
| deltaTw = (Tw[N_step] - Tw[1]) / (N_step - 1); | ||
|
|
||
| for n in 1:N_step loop | ||
| Tw[n] = T_hot_out + (T_hot_in-T_hot_out)*(n-1)/(N_step-1); | ||
| Ta[n] = MoistAir.T_phX(Pin[n], i[n], {w[n]}); | ||
| w_sat[n] = MoistAir.xsaturation_pT(Pin[n], Ta[n]); | ||
| end for; | ||
|
|
||
| for n in 1:N_step-1 loop | ||
|
|
||
|
|
||
| if w[n] < w_sat[n] then | ||
| w[n+1] = w[n] + deltaTw * f(Tw[n], w[n], i[n], cp[n], Qw[n], Qa[n], Pin[n], Lef[n]); | ||
| i[n+1] = i[n] + deltaTw * g(Tw[n], w[n], i[n], cp[n], Qw[n], Qa[n], Pin[n], Lef[n]); | ||
| M[n+1]= M[n] + deltaTw * h(Tw[n+1], w[n+1], i[n+1], cp[n+1], Pin[n+1], Lef[n+1]); | ||
|
|
||
| Qw[n+1] = Qw[n] + Qa[n] * (w[n+1] - w[n]); | ||
|
|
||
| Qa[n+1] = Qa[n] * (1 + (w[n+1] - w[n])); | ||
|
|
||
| Lef[n+1] = Lef[n]; | ||
|
|
||
| cp[n+1] = cp[n]; | ||
|
|
||
| Pin[n+1] = Pin[n]; | ||
|
|
||
| else | ||
| w[n+1] = w[n] + deltaTw * j(Tw[n], Ta[n], w[n], i[n], cp[n], Qw[n], Qa[n], Pin[n], Lef[n]); | ||
| i[n+1] = i[n] + deltaTw * k(Tw[n], Ta[n], w[n], i[n], cp[n], Qw[n], Qa[n], Pin[n], Lef[n]); | ||
| M[n+1]= M[n] + deltaTw * m(Tw[n+1], Ta[n+1], w[n+1], i[n+1], cp[n+1], Pin[n+1], Lef[n+1]); | ||
|
|
||
| Qw[n+1] = Qw[n] + Qa[n] * (w[n+1] - w[n]); | ||
|
|
||
| Qa[n+1] = Qa[n] * (1 + (w[n+1] - w[n])); | ||
|
|
||
| Lef[n+1] = Lef[n]; | ||
|
|
||
| cp[n+1] = cp[n]; | ||
|
|
||
| Pin[n+1] = Pin[n]; | ||
|
|
||
| end if; | ||
|
|
||
| end for; | ||
|
|
||
| Me = hd * Afr / Qw[1]; | ||
| M[N_step] = Me; | ||
| M[1] = 0; | ||
|
|
||
| w[1] = w_in; | ||
| w[N_step] = w_out; | ||
|
|
||
| i[1] = i_initial; | ||
| i[N_step] = i_final; | ||
|
|
||
| Qw[1] = Q_hot_out; | ||
| Qw[N_step] = Q_hot_in; | ||
| Qa[1] = Q_cold_in; | ||
| Qa[N_step] = Q_cold_out; | ||
|
|
||
| Lef[1] = 0.9077990913 * (((MoistAir.xsaturation_pT(Pin[1], T_cold_in)+0.622)/(w[1]+0.622))-1) / log((MoistAir.xsaturation_pT(Pin[1], T_cold_in)+0.622)/(w[1]+0.622)); | ||
| cp[1] = WaterSteamMedium.specificHeatCapacityCp(water_inlet_flow.state_in); | ||
|
|
||
| // Drift Equation | ||
|
||
| rho_air_inlet = air_inlet_flow.rho_in; | ||
| rho_air_outlet = air_outlet_flow.rho_out; | ||
|
|
||
| 0.5 * 0.5 *(rho_air_inlet + rho_air_outlet) * Cf * abs(V_inlet) * V_inlet = (rho_air_inlet - rho_air_outlet) * gr * Lfi; | ||
| Q_cold_in = (V_inlet * Afr * rho_air_inlet)* (1 - air_inlet.Xi_in[1]); | ||
|
|
||
| connect(water_inlet_connector, water_inlet_flow.C_in) annotation (Line(points={{-110,0},{-76,0}}, color={28,108,200})); | ||
| connect(water_outlet_flow.C_out, water_outlet_connector) annotation (Line(points={{84,0},{110,0}}, color={28,108,200})); | ||
| connect(water_outlet_flow.C_in, water_outlet.C_out) annotation (Line(points={{64,0},{37,0}}, color={28,108,200})); | ||
| connect(water_inlet_flow.C_out, water_inlet.C_in) annotation (Line(points={{-56,0},{-37,0}}, color={28,108,200})); | ||
| connect(air_inlet_flow.C_in, air_inlet_connector) annotation (Line(points={{0,66},{0,110}}, color={85,170,255})); | ||
| connect(air_outlet_flow.C_out, air_outlet_connector) annotation (Line(points={{0,-74},{0,-110}}, color={85,170,255})); | ||
| connect(air_inlet_flow.C_out, air_inlet.C_in) annotation (Line(points={{0,46},{0,33}}, color={85,170,255})); | ||
| connect(air_outlet_flow.C_in, air_outlet.C_out) annotation (Line(points={{0,-54},{0,-37}}, color={85,170,255})); | ||
| annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-120,-120},{120,120}}), graphics={ | ||
| Ellipse( | ||
| extent={{-20,110},{20,70}}, | ||
| lineColor={28,108,200}, | ||
| fillColor={95,95,95}, | ||
| fillPattern=FillPattern.Backward), | ||
| Line(points={{-80,-80},{82,-80},{40,60},{-40,60},{-80,-80}}, color={28,108,200}), | ||
| Ellipse( | ||
| extent={{-48,82},{-40,74}}, | ||
| lineColor={28,108,200}, | ||
| fillColor={95,95,95}, | ||
| fillPattern=FillPattern.Backward), | ||
| Ellipse( | ||
| extent={{32,114},{40,106}}, | ||
| lineColor={28,108,200}, | ||
| fillColor={95,95,95}, | ||
| fillPattern=FillPattern.Backward), | ||
| Ellipse( | ||
| extent={{28,78},{36,70}}, | ||
| lineColor={28,108,200}, | ||
| fillColor={95,95,95}, | ||
| fillPattern=FillPattern.Backward), | ||
| Ellipse( | ||
| extent={{-36,110},{-28,104}}, | ||
| lineColor={28,108,200}, | ||
| fillColor={95,95,95}, | ||
| fillPattern=FillPattern.Backward), | ||
| Ellipse( | ||
| extent={{26,-44},{-28,22}}, | ||
| lineColor={28,108,200}, | ||
| fillColor={85,255,255}, | ||
| fillPattern=FillPattern.Solid)}), Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-120,-120},{120,120}}))); | ||
| end CoolingTowerPoppewithSS; | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file can be deleted now, we keep only the model with supersaturated air