From 9b6575fd2ee9bf248f982f00fa64072d44078daa Mon Sep 17 00:00:00 2001 From: Alessandro Maccarini Date: Mon, 11 Sep 2023 20:54:22 +0200 Subject: [PATCH] Adjusted pressure drop parameters --- IBPSA/Fluid/Geothermal/Aquifer/MultiWell.mo | 59 ++++++++++--------- .../Aquifer/Validation/NumberWells.mo | 8 +-- 2 files changed, 36 insertions(+), 31 deletions(-) diff --git a/IBPSA/Fluid/Geothermal/Aquifer/MultiWell.mo b/IBPSA/Fluid/Geothermal/Aquifer/MultiWell.mo index 36611e198c..0f3b25209b 100644 --- a/IBPSA/Fluid/Geothermal/Aquifer/MultiWell.mo +++ b/IBPSA/Fluid/Geothermal/Aquifer/MultiWell.mo @@ -63,7 +63,7 @@ model MultiWell "Model of a single well for aquifer thermal energy storage" Movers.Preconfigured.SpeedControlled_y pumCol( redeclare final package Medium = Medium, final m_flow_nominal=m_flow_nominal, - final dp_nominal=dpAquifer_nominal + dpWell_nominal + dpExt_nominal) + final dp_nominal=powCoo.dpMea_nominal + dpWell_nominal + dpExt_nominal) "Pump to extract from cold well" annotation (Placement(transformation( extent={{-10,10},{10,-10}}, rotation=90, @@ -71,7 +71,7 @@ model MultiWell "Model of a single well for aquifer thermal energy storage" Movers.Preconfigured.SpeedControlled_y pumHot( redeclare final package Medium = Medium, final m_flow_nominal=m_flow_nominal, - final dp_nominal=dpAquifer_nominal + dpWell_nominal + dpExt_nominal) + final dp_nominal=powHot.dpMea_nominal + dpWell_nominal + dpExt_nominal) "Pump to extract from hot well" annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=90, @@ -80,7 +80,7 @@ model MultiWell "Model of a single well for aquifer thermal energy storage" Airflow.Multizone.Point_m_flow powCoo( redeclare final package Medium = Medium, m=1, - final dpMea_nominal=dpAquifer_nominal/2, + final dpMea_nominal=2*dpAquifer_nominal/(nCoo + nHot), final mMea_flow_nominal=m_flow_nominal) "Pressure drop in the cold side of the aquifer" annotation (Placement( transformation( @@ -88,15 +88,19 @@ model MultiWell "Model of a single well for aquifer thermal energy storage" rotation=-90, origin={-80,-10}))); - FixedResistances.HydraulicDiameter resCoo( + FixedResistances.PressureDrop resCoo( redeclare final package Medium = Medium, - final m_flow_nominal=m_flow_nominal, - dh=2*rWB, - final length=length, - v_nominal=m_flow_nominal/rhoWat/rWB^2/Modelica.Constants.pi, - fac = 1, - roughness = 5.0E-6, - dp(nominal=1E3)) + m_flow_nominal=m_flow_nominal, + dp_nominal=Modelica.Fluid.Pipes.BaseClasses.WallFriction.Detailed.pressureLoss_m_flow( + m_flow=m_flow_nominal/nCoo, + rho_a=rhoWat, + rho_b=rhoWat, + mu_a=mu, + mu_b=mu, + length=length, + diameter=rWB, + roughness=2.5e-5, + m_flow_small=1E-4*abs(m_flow_nominal))) "Pressure drop in the cold well" annotation ( Placement(transformation( extent={{10,-10},{-10,10}}, @@ -105,22 +109,26 @@ model MultiWell "Model of a single well for aquifer thermal energy storage" Airflow.Multizone.Point_m_flow powHot( redeclare final package Medium = Medium, m=1, - final dpMea_nominal=dpAquifer_nominal/2, + final dpMea_nominal=2*dpAquifer_nominal/(nCoo + nHot), final mMea_flow_nominal=m_flow_nominal) "Pressure drop in the warm side of the aquifer" annotation (Placement( transformation( extent={{10,10},{-10,-10}}, rotation=-90, origin={80,-10}))); - FixedResistances.HydraulicDiameter resHot( + FixedResistances.PressureDrop resHot( redeclare final package Medium = Medium, - final m_flow_nominal=m_flow_nominal, - dh=2*rWB, - final length=length, - v_nominal=m_flow_nominal/rhoWat/rWB^2/Modelica.Constants.pi, - fac = 1, - roughness = 5.0E-6, - dp(nominal=1E3)) + m_flow_nominal=m_flow_nominal, + dp_nominal=Modelica.Fluid.Pipes.BaseClasses.WallFriction.Detailed.pressureLoss_m_flow( + m_flow=m_flow_nominal/nHot, + rho_a=rhoWat, + rho_b=rhoWat, + mu_a=mu, + mu_b=mu, + length=length, + diameter=rWB, + roughness=2.5e-5, + m_flow_small=1E-4*abs(m_flow_nominal))) "Pressure drop in the warm well" annotation ( Placement(transformation( extent={{10,10},{-10,-10}}, @@ -290,15 +298,12 @@ equation -60,86},{-60,100}}, color={0,127,255})); connect(resHot.port_b, port_Hot) annotation (Line(points={{80,60},{80,86},{60, 86},{60,100}}, color={0,127,255})); - connect(powCoo.port_a, volCoo[1].ports[1]) annotation (Line(points={{-80,-20}, - {-80,-34},{-49,-34},{-49,-10}}, + connect(powCoo.port_a, volCoo[1].ports[1]) annotation (Line(points={{-80,-20},{-80,-34},{-48,-34},{-48,-10}}, color={0,127,255})); - connect(powHot.port_a, volHot[1].ports[1]) annotation (Line(points={{80,-20},{ - 80,-34},{49,-34},{49,-10}}, + connect(powHot.port_a, volHot[1].ports[1]) annotation (Line(points={{80,-20},{80,-34},{48,-34},{48,-10}}, color={0,127,255})); - connect(volCoo[nVol].ports[2], volHot[nVol].ports[2]) annotation (Line(points={{-51,-10}, - {-48,-10},{-48,-22},{51,-22},{51,-10}}, - color={0,127,255})); + connect(volCoo[nVol].ports[2], volHot[nVol].ports[2]) annotation (Line(points={{-52,-10},{-48,-10},{-48,-22},{52,-22}, + {52,-10}}, color={0,127,255})); connect(powCoo.port_b,pumCol. port_a) annotation (Line(points={{-80,0},{-80,10}}, color={0,127,255})); connect(pumCol.port_b, resCoo.port_a) diff --git a/IBPSA/Fluid/Geothermal/Aquifer/Validation/NumberWells.mo b/IBPSA/Fluid/Geothermal/Aquifer/Validation/NumberWells.mo index 11df946e87..2f4f043675 100644 --- a/IBPSA/Fluid/Geothermal/Aquifer/Validation/NumberWells.mo +++ b/IBPSA/Fluid/Geothermal/Aquifer/Validation/NumberWells.mo @@ -48,10 +48,10 @@ equation {-16,-20},{-4,-20},{-4,-40}}, color={0,127,255})); connect(aquWel1.port_Col, aquWel1.port_Hot) annotation (Line(points={{-16,40}, {-16,60},{-4,60},{-4,40}}, color={0,127,255})); - connect(bou.ports[1], aquWel1.port_Hot) annotation (Line(points={{40,-1},{6, - -1},{6,60},{-4,60},{-4,40}}, color={0,127,255})); - connect(bou.ports[2], aquWel2.port_Hot) annotation (Line(points={{40,1},{26,1}, - {26,0},{6,0},{6,-20},{-4,-20},{-4,-40}}, color={0,127,255})); + connect(bou.ports[1], aquWel1.port_Hot) annotation (Line(points={{40,2},{6,2},{6,60},{-4,60},{-4,40}}, + color={0,127,255})); + connect(bou.ports[2], aquWel2.port_Hot) annotation (Line(points={{40,-2},{26,-2},{26,0},{6,0},{6,-20},{-4,-20},{-4, + -40}}, color={0,127,255})); connect(cheEqu.u1, temWel1.y) annotation (Line(points={{58,76},{46,76},{46,82}, {41,82}}, color={0,0,127})); connect(cheEqu.u2, temWel2.y) annotation (Line(points={{58,64},{46,64},{46,50},