This function uses the parameters required to calculate the borefield's thermal
response to build a SHA1-encrypted string unique to the borefield in question.
Then, if the forceGFunCalc input is true or if
there is no .mat file with the SHA1 hash as its filename in the
tmp/temperatureResponseMatrix folder,
the thermal response will be calculated and written as a
.mat file. Otherwise, the
thermal response will simply be read from the
.mat file. In the .mat file, the data
is saved in a matrix with the name TStep, where the first column is
the time (in seconds) and the second column is the temperature step response,
which is the g-function divided by 2 π H ksoi, with
H being the borehole length and ksoi being the thermal
conductivity of the soil.
impure function temperatureResponseMatrix extends Modelica.Icons.Function; input Integer nBor "Number of boreholes"; input Real cooBor[nBor, 2] "Borehole coordinates"; input Modelica.Units.SI.Height hBor "Borehole length"; input Modelica.Units.SI.Height dBor "Borehole buried depth"; input Modelica.Units.SI.Radius rBor "Borehole radius"; input Modelica.Units.SI.ThermalDiffusivity aSoi "Thermal diffusivity of soil"; input Modelica.Units.SI.ThermalConductivity kSoi "Thermal conductivity of soil"; input Integer nSeg "Number of line source segments per borehole"; input Integer nTimSho "Number of time steps in short time region"; input Integer nTimLon "Number of time steps in long time region"; input Integer nTimTot "Number of g-function points"; input Real ttsMax "Maximum non-dimensional time for g-function calculation"; input String sha "SHA-1 encryption of the g-function arguments"; input Boolean forceGFunCalc "Set to true to force the thermal response to be calculated at the start"; output Modelica.Units.SI.ThermalResistance TStep[nTimTot, 2] "Temperature step-response time series"; end temperatureResponseMatrix;
impure declaration for MSL 4.0.0.