Open NicholasFry opened 3 years ago
Hi @NicholasFry, I will be on a short train ride later and have a look at the issue. Best Francesco
Btw: I saw that you are interested in geothermal heating. We have been working on geothermal power generation recently (https://github.com/fwitte/ORCSimulator) as well as geothermal storage integration with heat pumps. If you are interested, we can have a talk on that topic. Just contact me via matrix (https://matrix.to/#/@fwitte:matrix.org) or email (francesco.witte( at )hs-flensburg.de). Maybe there might be some idea for a cooperation?
What do I need to do to define the appropriate starting values (e.g. pr=, ttd_u=, p0= outlet to the evaporator)?
Starting values are only required for the Newton-Algorithm as good initial guess for faster (often also only way of successful) solution finding. The model you apply does not have starting value issues in setting up the design but rather than that in the offdesign simulation. As we have a good initial guess from the design simulation, states, that are too far away from that point might in some cases be difficult to find a solution for. I recommend a procedure similar to the following:
[...]
T_range = [35, 40, 45, 50, 55, 65][::-1]
Q_range = np.array([50e4, 180e4, 280e4, 300e4, 340e4, 360e4, 380e4, 420e4])[::-1]
df = pd.DataFrame(columns=Q_range / -cons_1.Q.val)
for T in T_range:
rejected_heat_to_pump.set_attr(T=T)
eps = []
for Q in Q_range:
cons_1.set_attr(Q=-Q)
if Q == Q_range[0]:
nw.solve('offdesign', design_path='heat_pump_water', init_path='heat_pump_water')
else:
nw.solve('offdesign', design_path='heat_pump_water')
if nw.lin_dep:
eps += [np.nan]
else:
eps += [
abs(condenser_1.Q.val) / (compressor1.P.val + erp1.P.val + pu.P.val)
]
df.loc[T] = eps
df.to_csv('COP_water.csv')
Can I incorporate the outdoor air temperature conditions?
What do you mean here? For what purpose do you need the ambient air conditions
How can I determine the correct mass flow factor below, prior to running the calculations? erp1_ev1.set_attr(m=Ref(ves1_dr1, 1.25, 0), p0=5)#pump outlet to evaporator1
This value basically does nothing in this model besides determining the steam mass fraction of the working fluid returning from the evaporator into the drum. I kind of set this value arbitrarily. I actually not even sure, if using a drum for gas/liquid separation is commong in heat pumps.
With a 4MWthermal design size, how can I find an optimum if the COP keeps increasing with smaller relative load factors?
TESPy does not have feature inbuilt for this function. But you can easily include the simulation run in some kind of search method like the golden section search or bisection. Have a look into the ORC github repository for an implementation of the golden section search. The code is deriven from the example code at https://en.wikipedia.org/wiki/Golden-section_search.
@fwitte thank you again for answering my questions. I will look into the optimization process. As for the drum separator, I do not have the answer on typical designs either. I appreciate the insights on how it works.
My ambient temperature concern is more of a feeding fluid temperature problem. Since I am drawing waste heat from a fluid reservoir, it will be subject to the air temperature. In this case, I should simply vary the feed temperature profile with climatic conditions.
As for the 35C case, it then seems possible to use TESPy to quickly determine the lower limit for feed temperature on a cycle, given the stated exit temperature. This is very interesting to work with and actually quite accessible! Enjoy your weekend.
Hi all. I am looking for more assistance on defining the initial parameters in this basic heat pump layout. This is fed by hot water from a waste heat source.
What do I need to do to define the appropriate starting values (e.g. pr=, ttd_u=, p0= outlet to the evaporator)? Can I incorporate the outdoor air temperature conditions?
How can I determine the correct mass flow factor below, prior to running the calculations? erp1_ev1.set_attr(m=Ref(ves1_dr1, 1.25, 0), p0=5)#pump outlet to evaporator1
With a 4MWthermal design size, how can I find an optimum if the COP keeps increasing with smaller relative load factors?
Thank you for any assistance you can offer. I am still trying to learn how to appropriately design with this library.