-
Notifications
You must be signed in to change notification settings - Fork 68
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
Starting parameter assistance #76
Comments
Hi @NicholasFry, |
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? |
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')
What do you mean here? For what purpose do you need the ambient air conditions
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.
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.
The text was updated successfully, but these errors were encountered: