This function uses a numerical quadrature to evaluate the one-integral form
of the FLS solution. For vertical boreholes, the FLS solution was proposed
by Claesson and Javed [1] and extended to boreholes with
different vertical positions by Cimmino and Bernier [2].
The FLS solution is given by:
where \(\beta_1\) and \(\beta_2\) are the tilt angle of the
boreholes (relative to vertical), and \(\theta_1\) and
\(\theta_2\) are the orientation of the boreholes (relative to the
x-axis).
Note
The reciprocal thermal response factor
\(h_{2\rightarrow1}(t)\) can be conveniently calculated by:
Value of time (in seconds) for which the FLS solution is evaluated.
alphafloat
Soil thermal diffusivity (in m2/s).
borehole1Borehole object or list of Borehole objects, length (N)
Borehole object of the borehole extracting heat.
borehole2Borehole object or list of Borehole objects, length (M)
Borehole object for which the FLS is evaluated.
reaSourcebool
True if the real part of the FLS solution is to be included.
Default is True.
imgSourcebool, optional
True if the image part of the FLS solution is to be included.
Default is True.
approximationbool, optional
Set to true to use the approximation of the FLS solution of Cimmino
(2021) [3]. This approximation does not require
the numerical evaluation of any integral.
Default is False.
Mint, optional
Number of Gauss-Legendre sample points for the quadrature over
\(u\). This is only used for inclined boreholes.
Default is 11.
Nint, optional
Number of terms in the approximation of the FLS solution. This
parameter is unused if approximation is set to False.
Default is 10. Maximum is 25.
Returns:
hfloat or array, shape (M, N, K), (M, N) or (K)
Value of the FLS solution. The average (over the length) temperature
drop on the wall of borehole2 due to heat extracted from borehole1 is:
The function returns a float if time is a float and borehole1 and borehole2
are Borehole objects. If time is a float and any of borehole1 and borehole2
are lists, the function returns an array, shape (M, N), If time is an array
and borehole1 and borehole2 are Borehole objects, the function returns an
array, shape (K).If time is an array and any of borehole1 and borehole2 are
are lists, the function returns an array, shape (M, N, K).
Evaluate the equivalent Finite Line Source (FLS) solution.
This function uses a numerical quadrature to evaluate the one-integral form
of the FLS solution, as proposed by Prieto and Cimmino
[7]. The equivalent FLS solution is given by:
This is a vectorized version of the finite_line_source() function
using scipy.integrate.quad_vec to speed up calculations. All arrays
(dis, H1, D1, H2, D2) must follow numpy array broadcasting rules. If time
is an array, the integrals for different time values are stacked on the
last axis.
where \(\beta_1\) and \(\beta_2\) are the tilt angle of the
boreholes (relative to vertical), and \(\theta_1\) and
\(\theta_2\) are the orientation of the boreholes (relative to the
x-axis).
Note
The reciprocal thermal response factor
\(h_{2\rightarrow1}(t)\) can be conveniently calculated by:
Value of time (in seconds) for which the FLS solution is evaluated.
alphafloat
Soil thermal diffusivity (in m2/s).
rb1array
Radii of the emitting heat sources.
x1float or array
x-Positions of the emitting heat sources.
y1float or array
y-Positions of the emitting heat sources.
H1float or array
Lengths of the emitting heat sources.
D1float or array
Buried depths of the emitting heat sources.
tilt1float or array
Angles (in radians) from vertical of the emitting heat sources.
orientation1float or array
Directions (in radians) of the tilt the emitting heat sources.
x2array
x-Positions of the receiving heat sources.
y2array
y-Positions of the receiving heat sources.
H2float or array
Lengths of the receiving heat sources.
D2float or array
Buried depths of the receiving heat sources.
tilt2float or array
Angles (in radians) from vertical of the receiving heat sources.
orientation2float or array
Directions (in radians) of the tilt the receiving heat sources.
reaSourcebool, optional
True if the real part of the FLS solution is to be included.
Default is True.
imgSourcebool, optional
True if the image part of the FLS solution is to be included.
Default is true.
Mint, optional
Number of points for the Gauss-Legendre quadrature rule along the
receiving heat sources.
Default is 21.
approximationbool, optional
Set to true to use the approximation of the FLS solution of Cimmino
(2021) [12]. This approximation does not require
the numerical evaluation of any integral.
Default is False.
Nint, optional
Number of terms in the approximation of the FLS solution. This
parameter is unused if approximation is set to False.
Default is 10. Maximum is 25.
Returns:
fcallable
Integrand of the finite line source solution. Can be vector-valued.
Notes
This is a vectorized version of the finite_line_source() function
using scipy.integrate.quad_vec to speed up calculations. All arrays
(x1, y1, H1, D1, tilt1, orientation1, x2, y2, H2, D2, tilt2,
orientation2) must follow numpy array broadcasting rules.
This function uses a numerical quadrature to evaluate the one-integral form
of the FLS solution, as proposed by Claesson and Javed
[10] and extended to boreholes with different vertical
positions by Cimmino and Bernier [11]. The FLS solution
is given by:
Value of time (in seconds) for which the FLS solution is evaluated.
alphafloat
Soil thermal diffusivity (in m2/s).
disfloat or array
Radial distances to evaluate the FLS solution.
H1float or array
Lengths of the emitting heat sources.
D1float or array
Buried depths of the emitting heat sources.
H2float or array
Lengths of the receiving heat sources.
D2float or array
Buried depths of the receiving heat sources.
reaSourcebool
True if the real part of the FLS solution is to be included.
Default is True.
imgSourcebool
True if the image part of the FLS solution is to be included.
Default is True.
approximationbool, optional
Set to true to use the approximation of the FLS solution of Cimmino
(2021) [12]. This approximation does not require
the numerical evaluation of any integral.
Default is False.
Nint, optional
Number of terms in the approximation of the FLS solution. This
parameter is unused if approximation is set to False.
Default is 10. Maximum is 25.
Returns:
hfloat
Value of the FLS solution. The average (over the length) temperature
drop on the wall of borehole2 due to heat extracted from borehole1 is:
This is a vectorized version of the finite_line_source() function
using scipy.integrate.quad_vec to speed up calculations. All arrays
(dis, H1, D1, H2, D2) must follow numpy array broadcasting rules. If time
is an array, the integrals for different time values are stacked on the
last axis.