-
Notifications
You must be signed in to change notification settings - Fork 21
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
Thermal interference between two borefields #264
Comments
Re: 2 - I will point out a paper that we published a few years back that proposes some methods for doing this. @MassimoCimmino may have a more elegant solution, though. |
No.1There is nothing currently implemented. However, the heat extraction rates of all segments are saved when using the option No.2The method of @mitchute is what I was going to recommend. Thank you @mitchute. It should be noted that the cross-g-functions calculated this way would be calculated using the 'UHTR' boundary condition. The 'UBWT' condition could be calculated using the heat extraction rates of the segments calculated when solving the system of equations (which are saved with the option The following snippet reproduces fig.2 of the paper with pygfunction and the 'equivalent' solver:
|
@mitchute Thank you for this interesting paper. I didn't saw it before, but it is indeed exactly what I was looking for! @MassimoCimmino : I do not get what you mean by:
Is there a way to use the cross-g-functions concept in combination with the UBWT boundary condition after all? |
The method assumes, like the 'UHTR' condition, that all boreholes extract heat at the same rate, uniformly along their lengths. When computing g-functions with the 'UBWT' condition, the heat transfer rate is variable along the boreholes, from borehole to borehole, and varies with time. This could be considered in the calculation of the cross-g-functions, since we already evaluate the heat tranfer rates of all segments. One thing to note is that the impact of the choice of boundary condition is most prominent inside the borehole field. If the two fields are not too close, the choice of boundary condition shouldn't be too significant (intuitively, this remains to be shown). Another thing to keep in mind is that such a 'UBWT' condition is not necessarily more accurate than the 'UHTR' condition for cross-g-functions. They would need to both be compared to a more detailed model for validation. I am working on the g-function module for #215 and this issue could be incorporated. |
Dear @MassimoCimmino , I wondered whether you had some updates on this question. I would like to simulate two circuits to use some boreholes for heat extraction and other for regeneration (heat injection). Could you maybe tell me how I could do ? That would be awesome. Kind regards, |
I just wanted to mention another paper on this topic (Letizia Fascì et al., 2021). It is available here: https://www.sciencedirect.com/science/article/pii/S1359431121006785 |
Thanks @wouterpeere. This is useful. @smo999 - Somehow I had missed a notification for your comment. This is still far from being implemented but I will look into it after #215. The reason for the delay is that we try to fully integrate to new features to the existing ones in pygfunction. In the case of the present issue, it means that we need to differentiate between boundary conditions of uniform heat extraction rates ( This, like some other "feature" issues, is as much of a research challenge than an implementation challenge and is the reason why we have a fairly long development time. In the meantime, the solution would depend on the specific geometry of your system. My script above could be use to calculate cross-g-functions based on the work of Mitchell et al. (2020). There is also the possibility of using the geothermal model that should be soon merged into the Modelica Buildings library : lbl-srg/modelica-buildings#3812 |
Dear @MassimoCimmino
I have two somewhat related questions about what's (currently) possible with pygfunction.
Best regards,
@wouterpeere
The text was updated successfully, but these errors were encountered: