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

Long-term temperature changes of geothermal bore fields #1107

Closed
MassimoCimmino opened this issue Mar 17, 2019 · 4 comments · Fixed by #1152 or #1161
Closed

Long-term temperature changes of geothermal bore fields #1107

MassimoCimmino opened this issue Mar 17, 2019 · 4 comments · Fixed by #1152 or #1161
Assignees

Comments

@MassimoCimmino
Copy link
Contributor

There is an issue with the integration of the finite line source solution in IBPSA.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.finiteLineSource. The upper bound of integration (in theory infinite) is set to 100.0. This is a correct upper limit for typical boreholes with diameters of the order of 6 inches.

However, in the implementation of the thermal response we decided to evaluate the finite line source analytical solution at a radius radius = 0.0005*length. For shorter boreholes (approx. 25 m or less), the radius becomes small and the integrand function is still non-negligible at a value of 100.0. The figure below shows the logarithm (log10) of the integrand.

FiniteLineSource_Integrand_BoreholeLength

This causes issues with the calculation of the thermal response, and becomes progressively worse with decreasing borehole length, as shown below for a 5 meter borehole (the thermal response should be strictly positive).

GFunction_1borehole_5meters

A conservative estimate for the upper bound of integration is 10/radius, or 20000/length in our case. This corrects the thermal response, see below.

GFunction_1borehole_5meters_fixed

@MassimoCimmino
Copy link
Contributor Author

A validation case was added in IBPSA.Fluid.Geothermal.Borefields.Validation.ConstantHeatInjection_100Boreholes to verify that the soil temperature change follows the g-function (calculated in IBPSA.Fluid.Geothermal.Borefields.BaseClasses.HeatTransfer.ThermalResponseFactors.Examples.GFunction_100boreholes). This validates that the total heat transfer rate is correctly divided between the boreholes in the borefield.

@MassimoCimmino
Copy link
Contributor Author

Added an output that returns the average temperature along the wall of the boreholes in the borefield. This output was previously not available, as borehole segments may have different temperatures due to the ground temperature gradient.
Capture

mwetter added a commit that referenced this issue Jun 7, 2019
…), 7.5*floor((i-1)/10)} for i in 1:100}. See comment from 6/7/19 in issue
@mwetter
Copy link
Contributor

mwetter commented Jun 7, 2019

The command

jm_ipython.sh jmodelica.py IBPSA.Fluid.Geothermal.Borefields.Validation.ConstantHeatInjection_100Boreholes

fails with a compilation error. The problematic assignment is

cooBor={{7.5*mod(i-1,10), 7.5*floor((i-1)/10)} for i in 1:100}

in IBPSA.Fluid.Geothermal.Borefields.Validation.BaseClasses.ConstantHeatInjection_100Boreholes_Configuration
If I replace this assignment with the actual matrix, the model simulates. I made this change in e17b45d and filed a support request to Modelon to correct this issue. Once fixed, we can revert this change.

@mwetter
Copy link
Contributor

mwetter commented Jun 13, 2019

I reopen this issue for testing of cooBor={{7.5*mod(i-1,10), 7.5*floor((i-1)/10)} for i in 1:100} for JModelica, revision 12903.
The development branch is issue1107_longTermGeothermal_assignment.

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