1 Introduction

Blockage is the interaction effect between the flow past a body and the surrounding boundaries in constrained flow conditions. Its effects have been discussed since the early application of laboratories to study aero- and hydrodynamic phenomena (Glauert 1933). Wind tunnels, towing tanks and other fluid-dynamics laboratories are prone to induce interaction effects not seen in full-scale open flows due to the close proximity of the walls to the body. Blockage effects are also present for full-scale hydrokinetic turbines where the swept area of the turbines can represent a substantial fraction of the tidal channel cross-sectional area. Blockage effects modify the thrust and power performance of the turbines.

Blockage interaction effects are typically observed, in the particular case of turbines, as an increase in both power and thrust forces when compared to the open-flow condition. This is caused by different effects such as an increase in flow speed around the body, a change of pressure in the wake, differences in flow-development for lifting surfaces such as foil sections or even longitudinal pressure gradients associated with the tank boundary layer and fluid losses (Glauert 1933; Pope and Harper 1966).

Early attempts to explain the behaviour of a turbine were made by means of the one-dimensional actuator-disc theory. This concept was employed to derive the energy extraction limit for an open-flow condition, set by a maximum power coefficient \(C_{\mathrm{Pmax}} = 16/27\) known as the Lanchester–Betz limit (Lanchester 1915; Betz 1920). These efforts were expanded by Garrett and Cummins (2007) showing that the maximum power coefficient for an actuator disk in a constrained flow is \(C_{\mathrm{Pmax}} = 16/27(1-\beta )^{-2}\), where \(\beta \) is the blockage expressed as a ratio between the turbine swept area and the channel cross-sectional area, showing that an increase in power extraction is dependent on the blockage ratio.

A more complex approach to the problem of modelling a turbine has been done by considering conservation of linear and angular momentum in a series of concentric annuli over the rotor swept area. The axial and tangential forces of the turbine on the flow are determined by coupling momentum theory with blade element theory by applying bi-dimensional lift and drag curves as functions of angle of attack for the turbine aerofoils. Overall turbine torque and thrust are determined by integrating these forces across the blade span. This approach is known as the Blade Element Momentum method (BEM) (Glauert 1947), and has been widely employed for turbine and propeller design and load assessment (e.g. Hansen et al. 2006; Wang et al. 2016). The traditional derivation does not consider blockage and is limited to steady two-dimensional analysis of the flow over the aerofoils and thus extensions have been proposed to consider effects such as tip-losses (see, e.g. Burton et al. 2001; Wimshurst and Willden 2017), turbulent wake effects (e.g. Buhl 2005), and even transient phenomena (e.g. Hansen et al. 2004). The effects of blockage have recently been incorporated into BEM theory by Vogel et al. (2018) by modifying the linear momentum equations. The modified BEM theory shows reasonable agreement to within 5% of comparable blade resolved simulations.

Fig. 1
figure 1

Characteristics of the Sch15B tidal turbine (Schluntz and Willden 2015)

Turbine modelling can also be carried out by means of computational fluid dynamics (CFD) simulations. These methods consist in obtaining numerical solutions to the Navier–Stokes equations, with different models of the physics and resolution, both in spatial and temporal dimensions, providing insights about the devices and the surrounding fluid as well. CFD models are capable of accounting for blockage effects by directly modelling the flow itself, but at a high cost in terms of time and computational effort.

Different approaches for modelling actual turbines have been implemented within CFD codes such as actuator disks, lines or CFD-BEM models. These are capable of providing different levels of detail depending on the implementation and requirements, ranging from simple wake simulations to actual turbine design for particular cases (see, e.g. Shen et al. 2012; Hunter et al. 2015; Schluntz and Willden 2015; Wimshurst and Willden 2017). The most complex approach, however, consists of fully blade-resolved simulations, where the blade surfaces are modelled as solid boundaries. This approach provides insights about the development of the flow across both the chord and blade-span dimensions, accounting inherently for effects such as spanwise flow, flow separation, etc. (see, e.g. Tampier et al. 2017; Wimshurst and Willden 2016).

From an engineering perspective, blockage is relevant as it changes significantly the conditions in which a turbine operates, and corrections are likely to be required. Blockage corrections may be required to translate laboratory-scale experimental results to full-scale conditions, or to calculate the expected power and loads on tidal turbines deployed in blocked-flow conditions. For these reasons, the availability of quick blockage correction methods that can be employed for results obtained from different sources (experiments, CFD or BEM) is valuable when assessing performance and behaviour under different operational and deployment conditions.

The present work analyses a series of steady-state, blade-resolved, Reynolds-averaged Navier–Stokes (RANS) CFD simulations of a horizontal axis tidal turbine under different blockage ratios representing conditions ranging from highly blocked flow to quasi-open-water over a range of different tip-speed ratios. The CFD results are used to compare the blockage correction methods described by Glauert (1933), Maskell (1963), Pope and Harper (1966), Mikkelsen and Sørensen (2002), Bahaj et al. (2007) and Werle (2010) and a correction method proposed by the authors by applying them to the different blocked CFD results and comparing them with those of the quasi open-flow condition.

2 Analysis cases

A tidal turbine designed by Schluntz and Willden (2015) and modified by Wimshurst and Willden (2016) in the root region was simulated under different operational conditions. This rotor, referred to as Sch15B, was designed and optimised to operate under a blockage ratio of \(\beta = 0.196\), with \(\beta \) defined as the ratio of the turbine swept area to the channel cross-sectional area.

The Sch15B rotor is a three-bladed 20-m diameter turbine developed with a single RISØ A1-24 aerofoil and a thickened trailing edge from 25% to the span up to the tip, as described in Wimshurst and Willden (2016). A render of the full turbine and its hydrofoil cross sections are shown for illustration purposes in Fig. 1a. The hydrofoil section is centred at the quarter-chord location and the blade has solidity \(\sigma \) and twist \(\gamma \) distributions that are shown in Fig. 1b, c, respectively, with the solidity defined as

$$\begin{aligned} \sigma = Nc/(2\pi r) \end{aligned}$$

from which N is the number of blades, c the local chord and r the local radius.

Five sets of blockage simulations were prepared, with \(\beta \in [0.01, 0.05, 0.10,\) 0.20, 0.40]. These cases cover a wide range, from the quasi-open-flow condition (\(\beta = 0.01\)) (Garrett and Cummins 2007) to a highly blocked case (\(\beta = 0.40\)). The blockage cases and the domain diameter are shown in Table 1. For each blockage condition, the turbine was simulated at four different tip-speed ratios (defined in Eq. 2) \(\lambda \in [4.0, 5.0, 6.0, 7.0]\). This covers a range of likely operating conditions for tidal turbines limited by flow separation at lower tip-speed ratios and cavitation inception at the higher end (Wimshurst et al. 2018).

$$\begin{aligned} \lambda = \frac{\omega R}{U} \end{aligned}$$
Table 1 Blockage cases simulated in this study

Several quantities are extracted from the CFD simulations to enable comparison with and between the different blockage correction methods. Thrust and torque are obtained by integrating the static pressures over the turbine surfaces, and then converted to non-dimensional power and thrust coefficients according to Eqs. 3 and 4, where \(\rho \) is the fluid density, T is turbine thrust and the power \(P=Q\omega \) is product of the rotor torque Q and rotational speed \(\omega \). U is the undisturbed flow speed far upstream of the turbine and A is the rotor swept area.

$$\begin{aligned}&C_p = \frac{P}{\frac{1}{2}\rho A U^3} \end{aligned}$$
$$\begin{aligned}&C_T = \frac{T}{\frac{1}{2}\rho A U^2} \end{aligned}$$

In addition to these results, the axial induction factors a are also obtained from the simulations, with a defined as

$$\begin{aligned} U_1 = U(1-a) \end{aligned}$$

where \(U_1\) is the average flow velocity at the turbine plane. Rearranging the previous equation, a can be easily calculated as

$$\begin{aligned} a = 1 - \frac{U_1}{U} \end{aligned}$$

The axial induction factor was extracted from the simulations by obtaining the velocity \(U_1\) averaging the axial velocities in annular sections located at 1.5 local chords upstream and downstream from the turbine plane.

Finally, qualitative information is also obtained from the CFD in the form of velocity profiles, providing insights about the wake development and interaction effects between the rotor and the boundaries.

3 Blockage correction methods

The blockage \(\beta \) is defined as the ratio of the cross-sectional area of a tank or channel C where a turbine is operating and the turbine swept area A:

$$\begin{aligned} \beta = A/C. \end{aligned}$$

Blockage correction methods typically seek to obtain a relationship between the upstream tank velocity \(U_T\) (see Fig. 2) and the equivalent upstream velocity \(U_F\) in free-flow conditions where the turbine would be operating at the same conditions such as angle of attack, mass-flux through the rotor, turbine RPM and turbine thrust (Bahaj et al. 2007). Most blockage correction methods are based on traditional actuator disc theory adapted for the particular case of a blocked flow and attempt to obtain an equivalent free-flow velocity \(U_F\) as function of different variables such as blockage \(\beta \), thrust coefficient \(C_T\), wake expansion or induction factors. In this kind of approach, the turbine is represented as an actuator disc across which a static pressure discontinuity occurs, and thrust can be defined as in the following equation, where \(P_1^{+}\) and \(P_1^{-}\) are the average static pressures on both sides of the actuator disc:

$$\begin{aligned} T = A (P_1^{+} - P_1^{-}). \end{aligned}$$
Fig. 2
figure 2

Diagram of flow past an actuator disc in a blocked environment

Figure 2 represents the flow past an idealised turbine in a blocked environment. The undisturbed flow velocity in the blocked environment \(U_T\) at the inlet is considered uniform across the cross-sectional area of the tunnel C. The flow speed reduces to \(U_1\) through the rotor at the turbine plane, and by conservation of mass is accelerated to \(U_3\) in the bypass region. At some distance downstream of the turbine plane the area of the wake before mixing is defined as \(A_W\), with a reduced flow speed \(U_2\), a recovered pressure \(P_2\), and a flow speed in the bypass region that is further accelerated to \(U_4\).

For each blockage correction method, a relation between the tank velocity \(U_T\) and a corresponding free-stream velocity \(U_F\) is given, leading to the following corrections for \(\lambda \), \(C_T\) and \(C_P\) determined for blocked conditions:

$$\begin{aligned} \lambda _c= & {} \lambda \frac{U_T}{U_F} \end{aligned}$$
$$\begin{aligned} C_{Tc}= & {} C_T \left( \frac{U_T}{U_F} \right) ^2 \end{aligned}$$
$$\begin{aligned} C_{Pc}= & {} C_P \left( \frac{U_T}{U_F} \right) ^3 \end{aligned}$$

where the subscript c is denotes corrected or equivalent free-flow values. In the following sections, each of the blockage correction methods is presented and briefly discussed.

3.1 Glauert (1933)

The blockage correction of Glauert (1933), intended initially for aircraft propellers, considers an equivalent free-stream velocity at equal thrust in the tank or wind tunnel. The resulting correction:

$$\begin{aligned} \frac{U_T}{U_F} = \left( 1 + \frac{\beta \ C_T}{4 \sqrt{1 - C_T}} \right) ^{-1} \end{aligned}$$

can be used for propellers and turbines, but is limited to thrust coefficients \(C_T < 1\). This can be problematic for highly loaded turbines such as tidal turbines where \(C_T\) can be significantly greater than unity, and thus limits the applicability of the method for tidal applications.

3.2 Maskell (1965)

In 1965, Maskell (1963) proposed a blockage correction method for bluff bodies, which has also been used for turbines and aerodynamic profiles. The blockage correction:

$$\begin{aligned} \frac{U_T}{U_F} = \sqrt{ 1 - \ \beta \ C_T (1-k^2)^{-1}} \end{aligned}$$

with \((1-k^2)^{-1} = -C_{pb}\), the base-pressure coefficient as defined in Maskell (1963). Maskell recommended an empirical value of 2.5 for the \((1-k^2)^{-1}\)term due to its relatively small variation over the range of blockage ratios covered in that study. Due to the large range of blockage ratios in the present study, a linear regression was made from the data presented in the original reference giving \((1-k^2) = 0.3551 - 5.1050 \beta \). Other modifications to the \((1-k^2)\) term have been proposed for other geometries or different aspect ratios, e.g. Mercker (1986) Hackett and Cooper (2001) and Leuschen and Mebarki (2012).

3.3 Pope and Harper (1966)

Pope and Harper (1966) presented a blockage correction which has been widely used for low-speed wind tunnel tests for blockages \(\beta \) from 1 to \(10\%\). The correction

$$\begin{aligned} \frac{U_T}{U_F} = \frac{1}{1 + \epsilon _t} \end{aligned}$$

utilises an empirical factor \(\epsilon _t\) to account for blockage effects. The authors suggest \(\epsilon _t = 1/4 \beta \), although this does not necessarily apply to all geometries or for complex wake flows.

3.4 Mikkelsen and Sørensen (2002)

In 2002, Mikkelsen and Sørensen (2002) presented a blockage correction method specifically applied to wind turbines. The correction

$$\begin{aligned} \frac{U_T}{U_F} = \frac{1}{u + \frac{C_T}{4u}} \end{aligned}$$

where \(u = 1 - a\). This correction requires the induction factor a, which can be obtained directly from CFD simulations such as those described in Sect. 2 or indirectly from the thrust coefficient. The latter can be calculated from momentum theory for low thrust coefficients, but has to be corrected empirically for larger thrust coefficients, as described for example in Burton et al. (2001).

3.5 Bahaj et al. (2007)

Bahaj et al. (2007) presented a blockage correction method based on an actuator disc model. The correction

$$\begin{aligned} \frac{U_T}{U_F} = \frac{U_1 / U_T}{(U_1 / U_T)^2 + C_T / 4} \end{aligned}$$

is solved iteratively, with the term \(U_1\) obtained from continuity arguments as described in Bahaj et al. (2007). The method only requires blockage and and thrust information (\(\beta \) and \(C_T\)), and has been used for hydrokinetic turbines by several authors, e.g. Fontaine et al. (2013), Cavagnaro and Polagye (2014) and Tampier et al. (2017).

3.6 Werle (2010)

Werle (2010) presented a blockage correction, aimed as an easily applicable correction for measurements near the maximum extractable power. The correction

$$\begin{aligned} \frac{U_T}{U_F} = 1 - \beta \end{aligned}$$

only requires the blockage \(\beta \), but should not be used to correct \(C_T\) and \(C_P\) as for the other methods as described in Eqs. 10 and 11. Alternatively, Werle proposes the following corrections for \(C_T\) and \(C_P\):

$$\begin{aligned}&C_{Tc} = \frac{(1 - \beta )^2}{1 + \beta } C_T \end{aligned}$$
$$\begin{aligned}&C_{Pc} = (1 - \beta )^2 C_P \end{aligned}$$

It should be noted that Werle recommended this approach only as a reasonable first approximation near the maximum power coefficient.

3.7 Continuity correction

A correction based on continuity arguments and CFD simulations is proposed by the authors to provide a comparison with the correction methods listed above and to expand the capabilities of the methods available from the literature by introducing an empirical factor.

We are looking for a free-stream velocity \(U_F\) which would give us an equivalent thrust to that of the blocked-flow condition in an unconstrained flow. The effect of blockage is to increase turbine thrust for a given through turbine flow speed, thus \(U_F > U_T\). We also know that the velocity in the bypass between the wake and tunnel, downstream of the turbine, is greater than \(U_T\), so we assume that there is an arbitrary plane where the velocity in the bypass would be equal to \(U_F\).

Then we can define the cross-sectional area of the wake in this reference plane as

$$\begin{aligned}&A_R = A + \delta _F A \end{aligned}$$
$$\begin{aligned}&\Rightarrow A_R = A ( 1 + \delta _F) \end{aligned}$$

where \(\delta _F\) is an empirical factor. Values for \(\delta _F\) vary such that if \(\delta _F = 0\), \(A_R = A\), and if \(A_R = A_W\), then \(\delta _F = A_W/A - 1\).

Defining the wake velocity in this reference plane as \(U_R\) and then applying the continuity equation:

$$\begin{aligned} U_R A_R = U_1 A \end{aligned}$$

Using Eq. 5, we can then define \(U_R\) as

$$\begin{aligned} U_R = \frac{U_T(1-a)}{(1+\delta _F)} \end{aligned}$$

Following continuity in the bypass flow, and recalling that in this reference plane the velocity in the bypass is equal to \(U_F\), then

$$\begin{aligned} U_3 (C-A) = U_F (C-A_R) \end{aligned}$$

which, using Eqs. 7 and 21, can be rearranged as

$$\begin{aligned} U_F = U_3 \left[ \frac{1-\beta }{1-\beta (1+\delta _F)}\right] \end{aligned}$$

Then through a continuity balance between the turbine plane and the channel inflow, and using the definition of Eq. 25:

$$\begin{aligned}&U_T C = U_1 A + U_3(C-A) \end{aligned}$$
$$\begin{aligned}&\Rightarrow U_T \left[ C - (1-a)A \right] = U_F \frac{(C-A)}{\left[ \frac{1-\beta }{1-\beta (1+\delta _F)} \right] } \end{aligned}$$

Finally, Eq. 27 can be rearranged to define the correction factor as

$$\begin{aligned} \frac{U_T}{U_F} = \frac{1-\beta (1+\delta _F)}{1-\beta (1-a) } \end{aligned}$$

As for the Mikkelsen and Sørensen (2002) correction, this method requires the induction factor a, which can be obtained directly from CFD simulations or estimated empirically. The influence of the empirical factor \(\delta _F\) will be analysed in more detail in Sect. 6.

4 Error definition

To assess the performance of the different methods, the blockage-corrected results were analysed and compared to a quasi free-flow condition, with error metrics as defined below. The \(\beta = 0.01\) simulations represented the case of quasi-free-flow condition as blockage effects are described as negligible once \(\beta \) becomes smaller than 2% (Garrett and Cummins 2007).

Fig. 3
figure 3

Mesh of the turbine surfaces

Table 2 Mesh sensitivity analysis for the stationary domain

For the analysis, the normalised error is calculated as

$$\begin{aligned} E_{C_X} = \frac{C_{Xc} - C_{X0}}{C_{X0}} \end{aligned}$$

where the subscript X corresponds to thrust or power (T or P), subscript c corresponds to the corrected results, and subscript 0 to the unblocked results (\(\beta = 0.01\)). The relative error is obtained for each method along the corrected range of \(\lambda _c\) for each blockage ratio. The reader should note that the tip-speed ratio is corrected by the different methods in addition to the power and thrust coefficients. To obtain the corresponding \(C_{X0}\) values for the quantification of error, a third-order spline interpolation was employed to estimate the unblocked values at \(\lambda _c\). A global overview of error for each method was obtained from the average magnitude of the error values for \(E_{C_T}\) and \(E_{C_P}\):

$$\begin{aligned} \mathrm{MAE}_X = \overline{\left| E_{C_X} \right| } \end{aligned}$$

5 Numerical methods

5.1 Reynolds-averaged Navier–Stokes equations

The dataset for this study was obtained by numerically solving the steady-state Reynolds-averaged Navier–Stokes equations (RANS) under constant density and constant temperature assumptions (Ferziger and Peric 2001) using the commercial software ANSYS Fluent 19.0. The multiple reference frame (MRF) model introduced by Luo et al. (1994) was employed to model the turbine rotation under steady-state conditions.

Fig. 4
figure 4

Longitudinal cut of mesh

Fig. 5
figure 5

Detailed view of blade cross-sectional mesh

Fig. 6
figure 6

Thrust (a) and power (b) coefficient variation with blockage ratio and tip-speed ratio extracted from the CFD simulations

This approach allows the flow behaviour to be predicted using two rotating frames of reference, one that rotates at the turbine speed and the second one being stationary. The velocities, under this model, are defined in terms of the absolute velocity \(\mathbf {v}\), the relative velocity \(\mathbf {v}_r\) and the whirl velocity \(\mathbf {u}_r = {\omega }\times \mathbf {r}\), with \({\omega }\) the rotational speed and \(\mathbf {r}\) the position vector relative to the centre of the local frame of reference. These quantities are related as

$$\begin{aligned} \mathbf {v}_r = \mathbf {v} - \mathbf {u}_r \end{aligned}$$

The governing equations are a modified version of the Navier–Stokes equations that include centrifugal and Coriolis acceleration terms. In a relative velocity formulation (Fluent 2018), these can be written as

$$\begin{aligned}&\nabla \cdot \mathbf{v} _r = 0 \end{aligned}$$
$$\begin{aligned}&\frac{\partial }{\partial t}(\rho \vec {v}_r)+\nabla \cdot (\rho \vec {v}_r \vec {v}_r) + \rho (2 {\vec {\omega }} \times \vec {v_r}+ {\vec {\omega }}\times ({\vec {\omega }}\times \vec {r}))\nonumber \\&\quad = -\nabla p + \nabla \cdot \vec {{T}} + \vec {F} \end{aligned}$$

where t is the time variable, \(\rho \) the flow density, p the static pressure, \(\mathbf {\mathbf {T}}\) the stress tensor and \(\mathbf {F}\) the external body forces.

Equations 32 and 33 are solved in each region. If the region is stationary (\({\omega } = 0\)), the equations are reduced to their stationary form. At the interfaces between regions with different reference frames, an implicit coupling is performed using Eq. 31, transforming the velocities and velocity gradients to a common reference frame, while scalar quantities remain invariant.

The \(k{-}\omega \) SST turbulence model described by Menter (1994), with the model coefficients updated as described in Menter et al. (2003), was employed to close the RANS equations. The \(k{-}\omega \) SST turbulence model has been found to compare well to higher order turbulence closures in numerical studies and experiments of turbines (Abolghasemi et al. 2016; Shives and Crawford 2016). The non-dimensional wall distance \(y^+\) was maintained in the wall-modelling range (\(y^+ \in [30, 300]\)) near fluid boundaries by appropriately scaling the size of wall-adjacent cells.

To solve the discretised problem, we employed a pressure-based coupled solver, as described in Fluent (2018). Convergence was achieved after 15,000–20,000 iterations, with reduction of the continuity and velocity residual by at least six orders of magnitude, and five orders of magnitude for the turbulence scalars.

5.2 Computational domain and mesh study

A solution domain that exploits the azimuthal symmetry of the problem was defined using periodic boundary conditions requiring only one third of the problem to be modelled. The \(120^\circ \) wedge consists in two structured mesh subdomains referred to as the rotatory and stationary subdomains. The meshes were built using ICEM 19.0.

Fig. 7
figure 7

Axial velocities at \(\lambda =7.0\) in a slice located at the centre turbine plane. Top cases, from left to right: blockage conditions of \(\beta \in [0.40, 0.20, 0.10, 0.05]\), respectively. Below, the transverse slice for \(\beta = 0.01\). The flow direction is into the page

The rotatory domain was based on the work presented by Wimshurst and Willden (2016). The turbine blade was modelled with 128 cells over the chord, and 110 in the span-wise direction, remaining within the mesh-independent region. The domain follows a Y-Mesh topology, resulting in approximately 4.2 million cells for the 120\(^{\circ }\) wedge. The mesh on the blade surface is shown in Fig. 3.

A mesh sensitivity study also analysed the influence of different parameters inside the O-grid layer surrounding the blade (see Fig. 5) was presented by Zilic de Arcos et al. (2019). In particular, the number of layers of the O-grid around the profile \(n_l\), the thickness of the first layer \(\Delta Y\) and the growth rate \(G_r\) were studied. Following Zilic de Arcos et al. (2019), a growth rate of 1.05, 25 layers and a first-layer thickness of \(2.5\times 10^{-4}\,m\) were selected for the analysis due to the low mesh sensitivity as well as avoiding the buffer region between the wall-modelling and wall-solving approaches (\(5<y^+<30)\). The rest of the domain was adjusted accordingly to provide smooth transitions with the O-grid region.

Fig. 8
figure 8

Axial velocities at \(\lambda =7.0\) in a longitudinal slice. From top to bottom, blockage cases \(\beta \in [0.40, 0.20, 0.10, 0.05, 0.01]\), respectively. The flow direction is from right to left

The mesh in the stationary domain follows an azimuthal O-grid strategy. Considering that the interest of this study is placed on the forces over the blade, the resolution of the stationary domain is of lower importance. Nonetheless, a mesh independence study was performed using the model described in this study by simulating three meshes with different numbers of cells \(n_c\). The mesh convergence assessment method presented by Celik and Karatekin (1997) was employed to determine that the meshes are within the asymptotic convergence region. Specifically, evaluating the parameter R (Eq. 34) for the thrust and power coefficients indicates that thrust displays an oscillatory convergence (\(R<0\)) whereas power shows a monotonic convergence (\(0<R<1\)).

$$\begin{aligned} R = \frac{F_2-F_3}{F_1-F_2} \end{aligned}$$

with \(F_i\) being the thrust or power coefficient values and the subindex \(i = 1,2,3\) indicating the coarse, medium and fine meshes, respectively.

Following this analysis, the mesh convergence method uses Richardson’s extrapolation to approximate the analysed quantity \(F_{\mathrm{ext}}\) in the limit where the mesh typical size \(h_i\) is zero, based on the apparent order of the method n and the refinement ratios \(a_i\) such that

$$\begin{aligned} n= & {} |\ln [(F_2-F_3)/(F_1-F_2)]/\ln (a_2)-f(n)| \end{aligned}$$
$$\begin{aligned} f(n)= & {} \ln \left[ \left( (a_3/a_2)^n-1\right) /\left( a_2^n-1\right) \right] /\ln (a_2) \end{aligned}$$
$$\begin{aligned} F_{\mathrm{ext}}= & {} \left( a_2^n F_1-F_2\right) /\left( a_2^n-1\right) \end{aligned}$$

Finally, the discretization error is described as

$$\begin{aligned} e_{\mathrm{ext}} = (F_{ext} - F_h)/F_{\mathrm{ext}} \end{aligned}$$

Notice that, due to the oscillatory convergence of thrust, a sign change is used in Eq. 35 according to Celik and Karatekin (1997).

A detailed discussion of this grid-convergence assessment methodology, as well as the relationship between \(e_{\mathrm{ext}}\) and the grid-convergence index (Roache 1994) can be found in Celik and Karatekin (1997). The results of the mesh convergence for \(C_T\) and \(C_P\), as well as the relative error \(E_R\) and the extrapolated error \(e_{\mathrm{ext}}\) according to the described methodology are provided in Table 2.

Considering the mesh sensitivity analysis results, the medium-resolution configuration was deemed sufficient and was employed for the rest of the analysed cases. A longitudinal cut of this mesh can be seen in Fig. 4.

The boundary conditions were configured following (Wimshurst and Willden 2016): turbine surfaces were defined as no-slip smooth walls; the inlet defined with a steady uniform inflow velocity of 4.5 m/s, a turbulent length scale of 0.70 times the turbine diameter and a turbulent intensity of 10%; the outer boundary as a symmetry condition to model a frictionless wall; the outlet defined by a constant pressure equal to the undisturbed flow; and axial symmetry was exploited using non-conformal periodic boundary conditions on the walls of the \(120^\circ \) wedge (Fig. 5).

The modelling approach based on the \(k-\omega \) SST turbulence model, the periodic symmetry condition, the MRF steady-state approach, the boundary conditions and other model characteristics have been previously validated through comparison of the simulated results of the MEXICO rotor to the experiments published by Schepers et al. (2012) and Boorsma and Schepers (2014) in terms of spanwise force distribution and sectional pressure distributions, showing a good agreement for both quantities. The full details of this study are presented in Wimshurst and Willden (2017).

6 Results and discussion

6.1 Uncorrected CFD results for blockage variation

As discussed in Sect. 2 and detailed in Table 1, CFD simulations were carried out for a blockage range from \(0.01\le \beta \le 0.40\). Figure 6 shows the thrust and power coefficients for each blockage condition as functions of the uncorrected tip-speed ratio \(\lambda \). The lowest blockage ratio (\(\beta = 0.01\)) is considered as a quasi-free-flow condition and is used as a reference to benchmark the correction methods.

Transverse and streamwise contours of the axial velocity for the different blockage ratios are presented in Figs. 7 and 8 at a tip-speed ratio of \(\lambda = 7.0\). It can be observed from these figures that the flow in the bypass region is accelerated as blockage increases. The mass flux through the rotor also increases with blockage ratio when \(\lambda \) is held constant as there is greater resistance to acceleration of the bypass flow in constrained flows. The greater shear stress developed between the bypass and through-turbine flows means that there is greater recovery of the flow speed in the wake of the turbine as blockage increases at comparable streamwise positions.

6.2 Proposed method

As mentioned in Sect. 3.7, the proposed continuity method requires an empirical correction factor \(\delta _F\). For this study, two different cases were evaluated: one with \(\delta _F\) defined as a function of \(\beta \) and another one where \(\delta _F=0.1\) is considered constant for all the different cases.

The curve shown in Fig. 9 shows the function \(\delta _F = f(\beta )\) that minimises the mean average error defined in Sect. 4 at each blockage ratio across the full range of tip-speed ratios.

6.3 Results with blockage correction

The presented results for \(\beta = 0.01\) to 0.40 were corrected using each one of the presented methods, as shown in Fig. 10. This set of graphs gives a first overview of the effectiveness of each one of the methods. Notice that, for the Glauert correction, results are shown only when \(C_T < 1\).

6.4 Error analysis

The results for the error are shown in Table 3 for each correction method and in Fig. 11 with the power and thrust errors plotted as functions of both \(\lambda _c\) and \(\beta \).

From Table 3, it can be observed that the proposed method displays the smallest error both if used with the optimum \(\delta _F(\beta )\) or the constant \(\delta _F =0.1\) value, followed closely by Bahaj’s and Mikkelsen and Sørensen methods.

Pope and Harper and Maskell corrections also display an acceptable performance if a low blockage is considered. For the Glauert method, even if only results where \(C_T < 1\) are considered, a higher total error can be observed. The Werle method, as proposed in Werle (2010), also demonstrates a high level of error, and is, therefore, not recommended as a correction method for any blockage and tip-speed ratio range.

To study the dependency of the mean absolute error over blockage \(\beta \) and reference tip-speed ratio \(\lambda \), results were plotted over these variables, respectively.Footnote 1 In Fig. 11, \(\mathrm{MAE}_T\) and \(\mathrm{MAE}_P\) are shown, each as a function of \(\beta \) and \(\lambda \), for each correction method.

The results were only plotted up to \(15 \%\) error, considering that methods providing larger errors should not be taken into account for blockage correction. Therefore, most of Werle’s correction points exceed the plotting range. Also, the Glauert correction, due to the limited number of data points available, was omitted on this comparison.

From the plots, a blockage dependency is observed for both \(\mathrm{MAE}_T\) and \(\mathrm{MAE}_P\) on most methods (Fig. 11), which can be expected considering that larger corrections are necessary for higher blockage ratios.

Fig. 9
figure 9

Optimum values of the empirical factor \( \delta _F\) for the proposed method as a function of the blockage ratio \(\beta \)

Fig. 10
figure 10

Blockage corrected thrust and power coefficients \(C_{Tc}\) and \(C_{Pc}\). Free-flow reference values (\(\beta = 0.01\)) are given in black for \(C_T\) and \(C_P\)

Table 3 Mean absolute errors \(\mathrm{MAE}_X\) and standard deviations \(\sigma \) of the error for the thrust and power coefficient corrections
Fig. 11
figure 11

Thrust and power coefficient mean absolute error \(\mathrm{MAE}_T\) and \(\mathrm{MAE}_P\) as functions of the blockage \(\beta \) (top) and the tip-speed ratio \(\lambda \) (bottom)

The Maskell correction shows a more complex dependency of blockage (Fig. 11). This becomes evident from Fig. 10, where an overestimation of \(C_{Tc}\) and \(C_{Pc}\) is observed for \(\beta = 0.4\), contrary to the small underestimation which can be observed for the remaining blockage ratios.

Regarding the Pope and Harper correction, a blockage and tip-speed ratio dependency is observed. This method, despite its simplicity, could be useful as an estimation for relatively small blockage values.

The Mikkelsen and Sørensen correction shows, in addition to a small value of \(\mathrm{MAE}_T\) and \(\mathrm{MAE}_P\), a very small \(\beta \)- and \(\lambda \)-dependency along with the smallest dispersion of all methods (Table 3), and is, therefore, recommended as a suitable blockage correction method for a wide range of blockage and tip-speed ratios, especially if results of induction factors are available and must not be estimated.

For the Bahaj correction method, a relatively small \(\beta \) and \(\lambda \) dependency can be observed, with a relatively small overall error for both thrust and power coefficient corrections. Considering that this correction only requires \(\beta \) and \(C_T\) from experiments (or computations), it can be especially suitable for practical applications as no induction factors are required.

The method proposed in our work is shown for two cases of the empirical factor, with \(\delta _F=0.1\) and \(\delta _F=f(\beta )\). These have a similar behaviour, with the \(\beta \)-dependent \(\delta _F\) case showing a relatively small improvement in the accuracy of the prediction over the constant \(\delta _F\) case. Both cases display higher levels of error at the highest blockage condition, although the magnitude of the error is similar to the Bahaj and Mikkelsen and Sørensen methods.

The inclusion of the empirical factor is also interesting from a different perspective. Systematic series of \(\delta _F\) could be developed for, not only different blockage conditions, but also different channel shapes and aspect ratios, something that is not considered by any of the presented methods. Additional evaluation is required to further validate the proposed correction method.

7 Conclusions

The use of a RANS-CFD tool to model the performance of a hydrokinetic turbine over a wide range of blockage conditions can provide useful data to analyse existing blockage correction methods, propose improvements to these or to develop new methods for specific applications.

From the presented results, the authors recommend the use of the Mikkelsen and Sørensen method for the correction of the blockage for horizontal axis turbines subject to experimental test or numerical simulations under conditions similar to the presented here, considering its low error, low dispersion and low dependency on \(\beta \) and \(\lambda \). If the induction factors are not available, the Bahaj correction is recommended instead, as it shows an even smaller error than the previous method but a larger spread on the corrected results. Despite showing very encouraging results, the proposed method should be validated for other application cases before it can be recommended for its general use.

It is also recommended, considering the presented results, to avoid using the Werle and Glauert methods, providing that other simple and more reliable methods such as those by Maskell or Pope and Harper are available, when quick preliminary corrections at low blockages are required.

Caution must be taken as this study only addressed the problem of homogeneous blockage. Future work should analyse series of different blockage ratios for different turbines, tank sections (e.g. rectangular sections) or other arrangements such as non-cylindrical channels. The proposed model, with its empirical component, could be a viable option to address the problem of non-homogeneous blockage.