Skip to content
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

simulate a real heat pump system with heat storage and two-point control #39

Open
Jo6a opened this issue Jun 2, 2019 · 6 comments
Open

Comments

@Jo6a
Copy link

Jo6a commented Jun 2, 2019

First of all, many thanks for providing the code.
I want to use the cycle model in heat mode to simulate a real heat pump system.
In the real system, the heat pump is either switched on or off according to the temperatures in a heat storage tank.
Is it possible to simulate a longer period when the heat pump is switched on or off from time to time?

@abahman
Copy link
Contributor

abahman commented Jun 2, 2019

Thank you for your question.
Unfortunately, the current ACHP model does not handle dynamic condition. However, the model is based on steady-state. Therefore, you can modify the code to simulate the load every increments too time.

@Jo6a
Copy link
Author

Jo6a commented Jun 2, 2019

Thank you very much for the quick answer. That sounds like a good plan.

My rough approach would be now:

  • Select discrete time interval, how often simulation should run (e.g. every 5 minutes)
  • Every 5 minutes in simulation time (when heat pump is switched on):
    • Running the solver in heat mode until it converges (use of converged values as init values in the next iteration - do I have to change anything else in the parameters?)
    • Loading the amount of total heat transfer rate Q_dot of the condenser into my heat storage model (in W/5min).

Would that make sense? Sorry if I don't quite understand something.

@abahman
Copy link
Contributor

abahman commented Jun 2, 2019

Sounds fine with me.
Bare in mind that the condenser is air-typed heat exchanger (HX) in the default cycle model. You can modify the cycle with refrigerant-to-refrigerant internal HX (e.g. Plate heat exchanger) for the heat storage.

@Jo6a
Copy link
Author

Jo6a commented Jun 3, 2019

Thanks a lot for your help and your hint, I will modify the default cycle model accordingly.

I noticed that with the default cycle model the actual compressor electrical power W of the compressor and the total heat transfer rate Q of the condenser are always the same after the solver has converged:

Cycle.PreconditionedSolve()
print('Cycle.Evaporator.Q: ' + str(Cycle.Evaporator.Q)) # 7009.537572462409
print('Cycle.Compressor.W: ' + str(Cycle.Compressor.W)) # 2173.533962381058
Cycle.PreconditionedSolve()
print('Cycle.Evaporator.Q: ' + str(Cycle.Evaporator.Q)) # 7009.537572462409
print('Cycle.Compressor.W: ' + str(Cycle.Compressor.W)) # 2173.533962381058

Can this be true? This would mean that it makes no sense to call the solver in discrete intervals for the simulation, if I am only interested in these two values?

@ibell
Copy link
Contributor

ibell commented Jun 4, 2019

That's absolutely correct. The idea of @abahman is for systems in which the boundary conditions are changing, in which case, if you neglect the dynamics of the system, this idea would work well. If the dynamics of the system itself are important, then this approach would not be suitable.

@Jo6a
Copy link
Author

Jo6a commented Jun 4, 2019

Thank you, that makes sense.

Which boundary conditions would typically change over time?

If I neglect these dynamics, I probably can't simulate an inertia in switching the heat pump system on and off or an increase in compressor power consumption as shown in the picture, right?

heat_pump

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants