.. gFunctionLibraryDocumentation documentation master file, created by
sphinx-quickstart on Tue Feb 2 18:41:02 2021.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
###############################
gFunctionDatabase Documentation
###############################
************
Introduction
************
Installation
============
The source code for this project can be found on github at https://github.com/j-c-cook/gFunctionDatabase.
The `gFunctionDatabase `_ package has been uploaded to
`PyPi `_. Install the library via pip:
.. code-block:: none
pip install gFunctionDatabase
As long as you are connected to the internet, pip will download and install the package directly from
PyPi. If you would like to install a specific version, then you need to specify. For example, if you
would like to install version 0.2, then the following command is needed:
.. code-block:: none
pip install gFunctionDatabase==0.2
Background
===========
Thermal response functions, known as g-functions, are commonly used to simulate
grount heat exchangers used with ground-source heat pump systems. G-functions
were originally developed by Prof. Johan Claesson and his graduate students at
the University of Lund in Sweden. (:cite:label:`Claesson_Eskilson_1987`,
:cite:label:`Eskilson_1988`, :cite:label:`Hellstrom_1991`) G-functions are used
by ground heat exchanger design tools (:cite:label:`Spitler_2000`,
:cite:label:`BLOCON_2015`, :cite:label:`BLOCON_2017`) and whole building energy
simulation tools (:cite:label:`Liu_2006`, :cite:label:`Mitchell_2020`).
G-functions are unique to a specific borehole configuration (geometry e.g. 5
rows of 10 boreholes spaced 5m apart) and depth.
Calculation of g-functions can be quite computationally time-consuming,
particularly for configurations containing a large number of boreholes. However,
once the g-function is computed, the actual simulation time can be quite short,
particularly if a hybrid time step (:cite:label:`Cullin_2011`) approach is used.
Because of this, pre-computed g-function libraries are commonly used in design
tools and building simulation tools. In practice, the g-functions are
pre-calculated for specific configurations; for each configuration multiple
depths are pre-computer for interpolation purposes. Then, a design tool, can
iteratively adjust the depth to find the correct-sized ground heat exchanger.
Furthermore, the g-functions scale with several non-dimensional parameters that
allow wider application than the specific horizontal spacing and depths used in
the pre-calculation.
Currently, available libraries, implemented in eQuest (:cite:label:`Liu_2006`,
GLHEPRO :cite:label:`Spitler_2000`, EED :cite:label:`BLOCON_2015`) have less
than 1000 possible configurations and are proprietary. This documentation for
the g-function database gives a description of a new publicly available library
containing g-functions for 34,321 configurations at 5 depths. Some of the
configurations are available in existing libraries; others are new. The new
configurations are C-shapes, lopsided-U-shapes and zoned rectangles (
:cite:label:`Cook_Spitler_2021`).
Calculation methodology
=======================
This section breifly describes the procedure used to calculate the g-functions.
The g-functions are calculated with a tool that we call "cpgfunction"
:cite:`Cook_Spitler_2021`. It is based on the semi-anlytical finite line source
methodology developed by Cimmino [:cite:label:`Cimmino_2018`,
:cite:label:`Cimmino_2018b`] for an open-source tool written in Python, called
pygfunction. Cpgfunction is written in C++. Cpgfunction was developed with an
eye towards reducing memory consumption, which can be quite high for large
numbers of boreholes, exceeding 96 GB in many cases. For calculating large
numbers of g-functions, as was done here, the memory requirements can become
critical when running on a cluster. Keeping the memory requirements below
96 GB allowed us to fully use the most common compute nodes on the Oklahoma
State High Performance Computing Cluster :cite:`OSUHPCC`. The time requirement
also improved for most cases, but large number of regularly spaced boreholes
the computation times are similar. For further information on cpgfunction, see
Cook and Spitler (2021).
The g-functions are calculated using the uniform borehole wall temperature
(UBHWT) boundary condition. That is, the heat input at each segment is adjusted
to give uniform (but changiing with time) temperature at the borehole walls.
This is the method commonly used to develop other g-function libraries and has
been used to size ground heat exchangers for commercial systems for the last
30 years.
Database contents
================
The database contains configurations and methods to access and use g-functions.
********************
Modules and examples
********************
.. toctree::
:maxdepth: 2
modules
examples
**********************
Libraries and examples
**********************
.. toctree::
:maxdepth: 2
libraries
lib_examples
************
Bibliography
************
.. bibliography:: references.bib
:cited:
:style: unsrt