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

Ground temperature at locations (x, y, z) #265

Open
MassimoCimmino opened this issue Aug 28, 2023 · 7 comments
Open

Ground temperature at locations (x, y, z) #265

MassimoCimmino opened this issue Aug 28, 2023 · 7 comments
Labels

Comments

@MassimoCimmino
Copy link
Owner

This issue is to implement the evaluation of field-to-point thermal response factors to evaluate ground temperatures at precise locations in the ground.

@MassimoCimmino MassimoCimmino changed the title Temperature at a locations (x, y, z) Temperature at locations (x, y, z) Aug 28, 2023
@MassimoCimmino MassimoCimmino changed the title Temperature at locations (x, y, z) Ground temperature at locations (x, y, z) Aug 28, 2023
@NFdrybattery
Copy link

@MassimoCimmino
Hi,
I am studying the long-term changes in the soil temperature field near the GCHP buried pipes. I want to know whether pygfunction is able to do so,right now, just like CFD methods such as FLUENT. Thanks.

@MassimoCimmino
Copy link
Owner Author

No, this feature is not ready yet.

Note that soil temperatures are not necessary for the simulation of GCHP systems using g-functions.

@NFdrybattery
Copy link

@MassimoCimmino
Thanks for the reply!

@j-c-cook
Copy link
Contributor

Will this request be fed through **options into the gfunction.gFunction class?

Will the required input be a n x 3 array, where n defines any number of coordinates requested?

Is it possible to consider a segment-to-point thermal response where the point has no thermal emission?

@MassimoCimmino
Copy link
Owner Author

Yes, this would be part of the options in the gFunction class.

I would support two options:

  1. Calculation of temperatures à points (x, y, z). It seems a tuple of three arrays or scalars would be in line with the other classes and functions in the package. This would also allow convenient inputs such as (array, array, scalar), e.g. to evaluate temperatures on a single horizontal plane.
  2. Depth-averaged temperatures along lines. The input could use a list of (non-emitting) borehole objects to specifiy the locations and min/max depths.

Thermal response factors will be calculated in some gFunction.gFunc_T array (size nPoints by nTimes), for example. The load aggregation module will need to be extended to allow the use of different sets of g-function to calculate either of the borehole wall temperature or the temperatures at the requested points using the same load history.

@j-c-cook
Copy link
Contributor

@MassimoCimmino Hi, I am studying the long-term changes in the soil temperature field near the GCHP buried pipes. I want to know whether pygfunction is able to do so,right now, just like CFD methods such as FLUENT. Thanks.

@NFdrybattery

pygfunction employes a semi-analytical method to compute g-functions. "Semi" indicates that boreholes are segmented vertically, while "analytical" refers to the use of a single integral finite line source solution. In contrast, computational fluid dynamics (CFD) typically utilizes a grid or mesh system where each point possesses properties, including temperature.

These concepts are detailed in literature, but I emphasize the distinction from CFD due to the vastly different methodologies. While direct comparisons to high-quality CFD calculations will be valuable, until the feature described here is implemented, you may want to investigate utilizing the borehole wall temperature profiles.

The borehole wall temperature profiles can be calculated by setting profiles to True inside of **options. The borehole wall temperature profiles are referenced later in the unequal segment example.

options = {'nSegments': nSegments,
'segment_ratios': segment_ratios,
'disp': True,
'profiles': True}
g_func_predefined = gt.gfunction.gFunction(
boreField, alpha, time=time, options=options, method=method)

@NFdrybattery
Copy link

@j-c-cook
Thanks for the explanation!
I understand the difference between these two methods. I was trying to investigate the possibility of using GCHP for cross-season thermal storage, and the long-term soil temperature field variation is needed. The CFD method definitely solve my problem, but the cell number is enourmus, I just made it work on a cloud server, and it still takes a long time to get the results.
However, if it is solvable by pygfunction, things will be different. I can run the simulation on PC.
Also I read the documentation, knowing that unequal inlet mass flow for boreholes is supported. So is it possible to create a virtual borehole and set the massflow to zero or the pipe thermal resistance to a high value to take the borehole temperature as soil temperature?

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

No branches or pull requests

3 participants