<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Jan,<div><br></div><div>Your likely issue is that you might be over-specifying the problem.  You give the heat pump a flow rate, and a delta T that you want to meet but the heat pump has a capacity that will dictate the delta T given the flow rate - and one that likely doesn’t match your load exactly.  It is for these reasons that most designers build heat pump systems where the heat pumps are decoupled from the load.  The heat pumps simply charge the storage tank, turning on and off as needed to maintain an adequate temperature to meet the load.  The load is then just met by discharging energy from the tank.  That way you can have different charging/discharging flows and the controls are much simplified.  We model these frequently in trnsys!</div><div><br></div><div>Jeff <br><br><div dir="ltr">Sent from my iPhone</div><div dir="ltr"><br><blockquote type="cite">On Dec 9, 2022, at 7:10 AM, Böttner, Jan via TRNSYS-users <trnsys-users@lists.onebuilding.org> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style>@font-face { font-family: "Cambria Math"; }
@font-face { font-family: Calibri; }
p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; }
a:link, span.MsoHyperlink { color: rgb(5, 99, 193); text-decoration: underline; }
a:visited, span.MsoHyperlinkFollowed { color: rgb(149, 79, 114); text-decoration: underline; }
p.msonormal0, li.msonormal0, div.msonormal0 { margin-right: 0cm; margin-left: 0cm; font-size: 11pt; font-family: Calibri, sans-serif; }
span.E-MailFormatvorlage18 { font-family: Calibri, sans-serif; color: windowtext; }
.MsoChpDefault { font-size: 10pt; font-family: Calibri, sans-serif; }
@page WordSection1 { size: 612pt 792pt; margin: 70.85pt 70.85pt 2cm; }
div.WordSection1 { page: WordSection1; }</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->


<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi everyone,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I have built a model with a heat pump that can operate in two different modes:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Mode 1: The heat pump directly supplies the heating cycle<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Mode 2: The heat pump supplies a storage tank and the heating cycle is supplied through the tank.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The supply temperature for my heating cycle, as well as the return temperature and the mass flow are calculated in advance and supplied through the Input file.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The system looks like this:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"></span><img width="535" height="301" style="width:5.5729in;height:3.1354in" id="Grafik_x0020_1" alt="image003.jpg" src="cid:image003.jpg@01D90BD7.E6D73D00"><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><u><span lang="EN-US">So what does the heat pump do?<o:p></o:p></span></u></p>
<p class="MsoNormal"><span lang="EN-US">Mode 1: Incoming and outgoing mass flow are the same, determined by the input file. The incoming fluid temperature is the same as the outgoing temperature of the Heating cycle. This temperature Is raised by 5K and the
 outgoing temperature of the heat pump is the same as the incoming temperature of the Heating cycle. These temperatures are also determined by the input file, calculated in advance.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The diverter and mixer control signals are set by the heat pump. So this means 0 for the diverter and 1 for the mixer on the heat pump site, 0 for the mixer and 1 for the diverter on the heating cycle site. The bypass
 flowrate on the heating cycle site should be 0, as the supply temperature is already correct. So the control signal “Fraction to heatsource” from the valve to the diverter should be 1.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Mode 2: The storage tank should be supplied until it reaches a setpoint (55°C). Therefore the maximal mass flow (2000 kg/hr) runs through the heat pump and is heated with the maximum Power. Meanwhile the heating cycle
 needs to be supplied with water from the storage tank, Supply temperature, mass flow and return temperature are determined by the input file. Delta T is again 5 K.
<br>
The water from the storage tank has a higher temperature than the target for the heating cycle and needs to be cooled with the bypass flow. The control signals are set opposite as in mode 1 and the control signal for the bypass diverter is set by the tempering
 valve (Fraction to heat source = 0…1).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><u><span lang="EN-US">What is my problem?</span></u><span lang="EN-US"><br>
It doesn’t work. I have huge temperature spikes (up to 20.000°C) in my streams and I don’t know where they come from.<br>
In mode 1 this results in too high temperatures coming in to the heat pump, 5K are added and the temperature arriving on the heating cycle site are too high, so that the bypass starts mixing in “cold water” (which is already higher than the target temperature).
 But in mode 1, the bypass should never be letting through fluid and it should be one large outer circuit.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I have tried to calculate the control signal for the bypass diverter within an equation as follows:
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">ctrl_signl_bypass = GE(fraction_to_heatsource,heating_cylce_Diverter_ctrl_signl)* fraction_to_heatsource + GT(heating_cylce_Diverter_ctrl_signl, fraction_to_heatsource)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">This might be incorrect as well. But I have tried a lot of different combinations and the result is always wrong (only in different ways
</span><span lang="EN-US" style="font-family:"Segoe UI Emoji",sans-serif">😃</span><span lang="EN-US">)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I would be so grateful if anyone could help me, as I’m stuck here since days, tried a lot of stuff and nothing seems to help.<br>
I have the feeling, the system can’t cope with the two different circuits and the inconsistent mass flows (which varies, as the delivered energy isn’t constant but delta T is always 5K).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">If you have any questions feel free to ask, the whole system is even more complex and I tried to break it down as good as I could.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Best regards,<br>
Jan<o:p></o:p></span></p>
</div>


<span>_______________________________________________</span><br><span>TRNSYS-users mailing list</span><br><span>TRNSYS-users@lists.onebuilding.org</span><br><span>http://lists.onebuilding.org/listinfo.cgi/trnsys-users-onebuilding.org</span><br></div></blockquote></div></body></html>