1 Introduction

The intersections among discontinuity planes delimit rock blocks; the shape and orientation of the discontinuities determine whether the block is finite, removable and possibly unstable, and its volume (Goodman and Shi 1985). Estimating the block’s volume is not trivial, and many attempts have been made to propose simple analytical methods (Hoek and Bray 1981; Warburton 1981; Palmstrøm, 1996, 2001, 2005). Block volume estimation is fundamental for many different rock engineering applications and, particularly in the study of rockfall phenomena, for the design of barriers in terms of energy absorption capacity and location, where the determination of the so-called “design block” is required (Spadari et al. 2013; Ferrero et al. 2016; Vagnon et al. 2020). In this case, the determination of the design block can be done based on the blocks observed at the slope toe or based on the rock structure determined by geo-structural surveys. The block determination based on measuring the block volumes at the slope toe suffers from a possible major bias error. During their path along the slopes, the blocks can break and reduce their volume significantly, leading to a dangerous underestimation (Corominas et al. 2017; Ruiz-Carulla et al. 2017; Giacomini et al. 2009). On the other hand, a method that can compute volumes from discontinuity spacing and orientation is needed if geo-structural data are utilized. In the literature, the first analytical formulations based on geo-structural data date back to the eighties (Hoek and Bray 1981; Warburton 1981). Methods for modeling polyhedral rock blocks with general shapes were then developed, but only in the form of algorithms capable of identifying rock blocks generated from the intersection of discontinuities (Lin et al. 1987; Jing 2000; Lu 2002; Elmouttie et al. 2010). More recently, the advent of the Discrete Fracture Network (DFN) generators made it convenient to generate 3D models of rock mass portions from which to obtain single block volumes (Xu and Dowd 2010; Lambert et al. 2012; Francioni et al. 2020). This research aims instead to propose a new analytical solution for calculating rock block volume in the case of three discontinuity sets whose orientation and true spacing are known. Only the effect of the geometrical properties of the discontinuities within a rock mass is considered, although realistically, slope morphology plays a crucial role in defining detachable blocks. The new formula shall be considered the correct way to calculate the volume delimited by three discontinuity planes, and therefore it should be intended as a fast tool researchers and practitioners can take advantage of, thanks to its easiness of use, while being aware of its limitations with respect to DFN generators. In fact, the average users of the volume analytical formula generally do not have access to sophisticated numerical codes such as DFNs, or to the resources they might require: both economically and in terms of expertise and skill required to use them properly. They usually need a quick method to assess a design block for performing rockfall simulations rather than simulating the structure of an entire rock mass. The results of the new solution applied to 12 theoretical blocks are compared with those obtained from the traditional Palmstrøm’s formulation and those produced by a DFN generator, such as 3DEC (Itasca Consulting Group). Finally, the application to the case study of Elva valley road (Northern Italy), which is overhung by steep rocky cliffs and is subject to the consequences of frequent rockfall phenomena, is analyzed to discuss the implications of adopting the proposed method in a real case.

2 State-of-the-Art on Analytical Solutions for Calculating Block Volume

The first attempt to estimate the volume defined by a subdivision of the rock due to discontinuity planes was proposed by Miles (1972). Blocks were assumed to be created either by three discontinuity sets with a negative exponential spacing probability distribution (regular subdivision) or by a random space partition with planes placed by a Poisson process with uniform density (random subdivision) (Ross 2009).

Hoek and Bray (1981) proposed an analytical solution for calculating the volume of a wedge generated by two intersecting discontinuity planes, the upper ground surface, the slope face and, if present, a tension crack. The aim of this calculation is to obtain the weight of the wedge, in order to compute the factor of safety associated with the wedge sliding. The block volume is calculated based on the orientation of the planes, the slope height referred to the first discontinuity plane and, if tension crack exists, its distance from the crest, measured along the trace of the first discontinuity plane. A certain number of calculation steps are required to complete the process. While this procedure is rigorous, it is only suitable for a very specific object such as a wedge, formed by four or five planes. Therefore, for using this procedure in a general case, one must trace everything back to the wedge case, namely associate to each block surface a defined role.

Warburton (1981) proposed a method to perform the vector stability analysis of a rock block in a constrained geometrical configuration. Within the calculation process, one can find a method for calculating areas of block faces, together with the block’s volume and center of mass of an arbitrary polyhedral rock block with any number of free faces. However, this method employs the 3D coordinates of the points belonging to the block’s edges, which derive from previous calculation steps. Furthermore, the volume is not calculated through an analytical formula: the block is discretized into pyramids whose volume is calculated and summed.


Palmstrøm (1996, 2005) produced simple analytical solutions for estimating block volume from various types of joint density measurements. His well-known equation in the case of three discontinuity sets generating a block is:

$$ V_{B} = \frac{{S_{1} S_{2} S_{3} }}{{\sin \gamma_{12} \sin \gamma_{23} \sin \gamma_{13} }}, $$
(1)

where S1, S2, and S3 are the spacing of the three sets of discontinuities; γ12 is the angle between set 1 and set 2, and similarly for γ23 and γ13. Equation 1 became a cornerstone in volume estimation, and many academics and professionals adopted it.

Recently, Lopes and Lana (2017) proposed an analytical solution able to overcome the need for measuring mutual angles among sets. The solution is based on linear algebra and vectorial analysis concepts. Volume depends on discontinuity orientations, spacing, and block shape, and the solution is developed for tabular, prismatic, and tetrahedral blocks. Lopes and Lana affirm that a discontinuity plane with dip ϕn, dip direction θn, and spacing Sn can be represented by its director vector \(\overrightarrow{{\mu }_{n}^{\prime}}= \left({A}_{n},{B}_{n},{C}_{n}\right)\), where

$$ \left[ {\begin{array}{*{20}l} {A_{n} } \\ {B_{n} } \\ {C_{n} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {S_{n} sin\left( {\phi_{n} } \right)cos\left( {\theta_{n} } \right)} \\ {S_{n} sin\left( {\phi_{n} } \right)sin\left( {\theta_{n} } \right)} \\ {S_{n} cos\left( {\phi_{n} } \right)} \\ \end{array} } \right]. $$
(2)

They stated that the volume V of a block created by three discontinuity sets could be calculated as:

$$ V = \left| {\left( {\overrightarrow {{\mu_{1}^{\prime} }} \times \overrightarrow {{\mu_{2}^{\prime} }} } \right)\cdot\overrightarrow {{\mu_{3}^{\prime} }} } \right| = \left| {det\left( M \right)} \right|, $$
(3)

where

$$ M = \left[ {\begin{array}{*{20}c} {A_{1} } & {A_{2} } & {A_{3} } \\ {B_{1} } & {B_{2} } & {B_{3} } \\ {C_{1} } & {C_{2} } & {C_{3} } \\ \end{array} } \right]. $$

Equation 3 is based on the so-called scalar triple product, namely the dot product of one of the vectors with the cross product of the other two. The absolute value of the scalar triple product represents the parallelepiped volume because, basically, it consists of the product of the area of the basis (calculated by the cross product) for the height (calculated by the dot product). Equation 3 gives the volume of a six-face solid. Still, spatially these direction vectors may also define a solid with a different number of faces; therefore, the result could need to be multiplied by a constant, depending on the actually considered shape of the block.

3 Proposal of a New Formula

Even if the geometrical approach based on the triple product is correct, the solution described by Eq. 3 cannot properly consider true spacing. In fact, considering the definition given by Palmstrøm (2001), the discontinuity set spacing is the normal or minimum distance between individual discontinuities within a discontinuity set. Focusing on the geometrical meaning of the definition, normal set spacing is the distance between a pair of adjacent discontinuities from the same set, perpendicular to the average orientation in that set (Riquelme et al. 2015). From this definition, a new method is proposed in the following.

Considering the coordinate system represented in Fig. 1, the components of the three director vectors \(\overrightarrow{{\mu }_{n}}= \left({a}_{n},{b}_{n},{c}_{n}\right)\) are:

$$ \left[ {\begin{array}{*{20}c} {a_{n} } \\ {b_{n} } \\ {{\text{c}}_{n} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {S_{n} sin\left( {\phi_{n} } \right)sin\left( {\theta_{n} } \right)} \\ {S_{n} sin\left( {\phi_{n} } \right)cos\left( {\theta_{n} } \right)} \\ {S_{n} cos\left( {\phi_{n} } \right)} \\ \end{array} } \right] \, n = 1,2,3. $$
(4)
Fig. 1
figure 1

Coordinate system and discontinuity plane

Then, reasoning about the relation among discontinuity planes is made to understand the role of spacing. Let us consider three discontinuity sets whose director vectors are called \(\overrightarrow{{\mu }_{1}},\overrightarrow{{\mu }_{2}},\overrightarrow{{\mu }_{3}}\). The cross product of the vectors \(\overrightarrow{{\mu }_{1}},\overrightarrow{{\mu }_{2}}\) gives the normal \(\overrightarrow{{m}_{12}}\) to both vectors. In the general case, it does not correspond to the normal to the third vector:

$$ \overrightarrow {{m_{ij} }} = \left( {\overrightarrow {{{\upmu }_{i} }} \times \overrightarrow {{\mu_{j} }} } \right) \ne \overrightarrow {{{\upmu }_{k} }} , $$
(5)

considering the three combinations of indices (i, j, k) = (1,2,3), (2,3,1), (3,1,2). Therefore, the spacing of the third set S3 must not be considered as if it developed along \(\overrightarrow{{m}_{12}}\). Similarly, S1 and S2 must not be considered as if they developed along \(\overrightarrow{{m}_{23}}\) and \(\overrightarrow{{m}_{31}}\), respectively. From Eq. 4, it is possible to define spacing as follows:

$$\left\{ {\begin{array}{*{20}{c}} {{S_1} = \left\| {\overrightarrow {{\mu _1}} } \right\|}\\ {{S_2} = \overrightarrow {\left\| {{\mu _2}} \right\|} }\\ {{S_3} = \left\| {\overrightarrow {{\mu _3}} } \right\|} \end{array}} \right..$$
(6)

Following the reasoning, the length of the block’s edges is not equal to spacing. In fact, spacing Sk develops along \(\overrightarrow{{\upmu }_{k}}\), while each edge connecting the two faces perpendicular to \(\overrightarrow{{\upmu }_{k}}\) develops along \(\overrightarrow{{m}_{ij}}\).


Therefore, to use spacing values in volume calculation, it is necessary to consider the real direction along with it develops. The orthogonal projection of a vector along the direction \(\overrightarrow{{\upmu }_{k}}\) can be expressed as:

$$ \overrightarrow {{p_{k} }} = \frac{{\overrightarrow {{l_{{ij}} \cdot }} \, \overrightarrow {{{{\upmu }}_{k} }} }}{{\left\| {\overrightarrow {{{{\upmu }}_{k} }} } \right\|^{2} }}\overrightarrow {{{{\upmu }}_{k} }} , $$
(7)

where

$$ \overrightarrow {{l_{{ij}} }} = \left( {\frac{{\overrightarrow {{{{\upmu }}_{i} }} }}{{\left\| {\overrightarrow {{{{\upmu }}_{i} }} } \right\|}} \times \frac{{\overrightarrow {{\upmu _{j} }} }}{{\left\| {\overrightarrow {{{{\upmu }}_{j} }} } \right\|}}} \right). $$
(8)

It is possible to demonstrate that Eq. 7 involves all the three director vectors. Let us call γij, γjk, γki the angles between pairs of sets, according to the terminology used by Palmstrom (1996). Moreover, let us call δk-ij the angle between the director vector \(\overrightarrow{{\upmu }_{k}}\) and the direction of the normal to the other two director vectors \(\overrightarrow{{l}_{ij}}\). Similarly, δi-jk is the angle between \(\overrightarrow{{\upmu }_{i}}\) and \(\overrightarrow{{m}_{jk}}\), δj-ki is the angle between \(\overrightarrow{{\upmu }_{j}}\) and \(\overrightarrow{{m}_{ki}}\).

Recalling the definition of cross product, it is possible to write Eq. 8 as:

$$ \left\| {\overrightarrow {{l_{ij} }} } \right\| = sin\gamma_{ij} . $$
(9)

Also, recalling the definition of the dot product, it is possible to explicit the numerator of Eq. 7 as:

$$ \overrightarrow {{l_{ij} }} \cdot \overrightarrow {{\mu_{k} }} = \left\| {\overrightarrow {{l_{ij} }} } \right\|\left\| {\overrightarrow {{\mu_{k} }} } \right\|cos\delta_{k - ij} . $$
(10)

By substituting Eq. 9 in Eq. 10, we obtain:

$$ \overrightarrow {{l_{ij} }} \cdot \overrightarrow {{\mu_{k} }} = sin\gamma_{ij} \left\| {\overrightarrow {{\mu_{k} }} } \right\|cos\delta_{k - ij} . $$
(11)

Therefore, substituting Eq. 11 in Eq. 7 and reordering factors, we obtain:

$$ \overrightarrow {{p_{k} }} = \frac{{\left\| {\overrightarrow {{{\upmu }_{k} }} } \right\|sin\gamma_{ij} cos\delta_{k - ij} }}{{\left\| {\overrightarrow {{{\upmu }_{k} }} } \right\|^{2} }} \overrightarrow {{{\upmu }_{k} }} , $$
(12)

which can be simplified in:

$$ \overrightarrow {{p_{k} }} = \frac{{\overrightarrow {{{\upmu }_{k} }} }}{{\left\| {\overrightarrow {{{\upmu }_{k} }} } \right\|}} sin\gamma_{ij} cos\delta_{k - ij} , $$
(13)

where \(\frac{\overrightarrow{{\upmu }_{k}}}{\Vert \overrightarrow{{\upmu }_{k}}\Vert }\) represents the direction of \(\overrightarrow{{\upmu }_{k}}\).

Let us call qk the norm of \(\overrightarrow{{{\text{p}}}_{k}}\):

$$ q_{k} = \left\| {\overrightarrow {{p_{k} }} } \right\| = sin\gamma_{ij} cos\delta_{k - ij} . $$
(14)

Considering again the three combinations of indices (i, j, k) = (1,2,3), (2,3,1), (3,1,2), which respect the circular shift, one can observe that:

$$ sin\gamma_{12} {\text{cos}}\delta_{3 - 12} = sin\gamma_{23} {\text{cos}}\delta_{1 - 23} = sin\gamma_{31} {\text{cos}}\delta_{2 - 31} . $$
(15)

Therefore,

$$ q_{1} = q_{2} = q_{3} = q. $$
(16)

q is a dimensionless number that depends only on the relative orientation of the three joint sets defining the block, namely the angles among director vectors.

The correct volume of the parallelepiped can be calculated as the triple product of vectors as suggested by Lopes and Lana. Still, Eq. 3 must be modified as follows for considering spacing correctly:

$$ V = \left| {\left( {\overrightarrow {{{\upmu }_{1} }} \times \frac{{\overrightarrow {{{\upmu }_{2} }} }}{{\overrightarrow {{{\text{p}}_{2} }} }}} \right)\cdot\frac{{\overrightarrow {{{\upmu }_{3} }} }}{{\overrightarrow {{{\text{p}}_{3} }} }}} \right|. $$
(17)

This means that \(\overrightarrow{{\upmu }_{1}}\) is taken as a reference direction, while \(\overrightarrow{{\upmu }_{2}}\) and \(\overrightarrow{{\upmu }_{3}}\) are projected following the considerations made on Eq. 5. Making explicit Eq. 17 and substituting Eq. 14 in Eq. 17, one obtains:

$$ V = \left\| {\overrightarrow {{\mu_{1} }} } \right\|\frac{{\left\| {\overrightarrow {{\mu_{2} }} } \right\|}}{{\left| {\sin \gamma_{13} } \right|\left| {\cos \delta_{2 - 13} } \right|}}\left| {sin\gamma_{12} } \right|\frac{{\left\| {\overrightarrow {{\mu_{3} }} } \right\|}}{{\left| {\sin \gamma_{12} } \right|\left| {\cos \delta_{3 - 12} } \right|}}\left| {cos\delta_{3 - 12} } \right|, $$
(18)

which can be simplified as:

$$ V = \left\| {\overrightarrow {{\mu_{1} }} } \right\|\frac{{\left\| {\overrightarrow {{\mu_{2} }} } \right\|\left\| {\overrightarrow {{\mu_{3} }} } \right\|}}{{\left| {\sin \gamma_{13} } \right|\left| {\cos \delta_{2 - 13} } \right|}}. $$
(19)

And can be expressed as follows by substituting Eq. 14 in Eq. 19 and remembering Eq. 6:

$$ V = \left\| {\overrightarrow {{\mu_{1} }} } \right\|\frac{{\left\| {\overrightarrow {{\mu_{2} }} } \right\|\left\| {\overrightarrow {{\mu_{3} }} } \right\|}}{{\left| {\sin \gamma_{13} } \right|\left| {\cos \delta_{2 - 13} } \right|}} = \frac{{S_{1} S_{2} S_{3} }}{{q_{2} }}. $$
(20)

Finally, Eq. 19 can be simply expressed as:

$$ V = \frac{{S_{1} S_{2} S_{3} }}{q}. $$
(21)

Equation 17 can be thus written as:

$$ V = \left| {\left( {\overrightarrow {{{\upmu }_{1} }} \times \frac{{\overrightarrow {{{\upmu }_{2} }} }}{{\overrightarrow {{{\text{p}}_{2} }} }}} \right)\cdot\frac{{\overrightarrow {{{\upmu }_{3} }} }}{{\overrightarrow {{{\text{p}}_{3} }} }}} \right| = \frac{{\left| {det\left( M \right)} \right|{ }}}{{q^{2} }}, $$
(22)

where

$$ M = \left[ {\begin{array}{*{20}c} {S_{1} {\text{sin}}\left( {\phi_{1} } \right){\text{sin}}\left( {\theta_{1} } \right)} & {S_{2} {\text{sin}}\left( {\phi_{2} } \right){\text{sin}}\left( {\theta_{2} } \right)} & {S_{3} {\text{sin}}\left( {\phi_{3} } \right){\text{sin}}\left( {\theta_{3} } \right)} \\ {S_{1} {\text{sin}}\left( {\phi_{1} } \right){\text{cos}}\left( {\theta_{1} } \right)} & {S_{2} {\text{sin}}\left( {\phi_{2} } \right){\text{cos}}\left( {\theta_{2} } \right)} & {S_{3} {\text{sin}}\left( {\phi_{3} } \right){\text{cos}}\left( {\theta_{3} } \right)} \\ {S_{1} {\text{cos}}\left( {\phi_{1} } \right)} & {S_{2} {\text{cos}}\left( {\phi_{2} } \right)} & {S_{3} {\text{cos}}\left( {\phi_{3} } \right)} \\ \end{array} } \right]. $$

The proposed formula requires input, for each of the three discontinuity sets, true spacing Sn and orientation expressed as dip ϕn and dip direction θn; q must be calculated as one of the terms of Eq. 15. It is fundamental to remember that the scalar triple product is unchanged under a circular shift of its three operands: the three combinations of indices (i, j, k) = (1, 2, 3), (2, 3, 1), (3, 1, 2), which respect the circular shift, give exactly the same result. In this analytical solution, q represents a non-orthogonality coefficient, while spacing values S1, S2, and S3 represent scale coefficients.

4 Calculation of q

The above demonstrated equations can be practically used to calculate q. Considering Eqs. 14 and 15, it is possible to write:

$$ q = sin\gamma_{12} {\text{cos}}\delta_{3 - 12} = sin\gamma_{23} {\text{cos}}\delta_{1 - 23} = sin\gamma_{31} {\text{cos}}\delta_{2 - 31} . $$
(23)

Two alternative methods can be used to calculate q: the first one is purely analytical, the second one is based on the stereogram representing the three discontinuity sets orientation. These methods are illustrated in Sects. 4.1 and 4.2, respectively.

4.1 Analytical Calculation of q

In the following, we show how one can simply calculate q based on the orientation and spacing of the three discontinuity planes. The orientation of plane K1 is expressed by dip ϕ1 and dip direction θ1, and its spacing is S1. Similarly, the orientation of plane K2 is defined by dip ϕ2 and dip direction θ2, and its spacing is S2; the orientation of plane K3 is expressed by dip ϕ3 and dip direction θ3, and its spacing is S3.

By replacing these values in Eq. 4, one can write:

$$ \overrightarrow {{{\upmu }_{1} }} = \left[ {\begin{array}{*{20}c} {S_{1} {\text{sin}}\left( {\phi_{1} } \right){\text{sin}}\left( {\theta_{1} } \right)} \\ {S_{1} {\text{sin}}\left( {\phi_{1} } \right){\text{cos}}\left( {\theta_{1} } \right)} \\ {S_{1} {\text{cos}}\left( {\phi_{1} } \right)} \\ \end{array} } \right], $$
(24)
$$ \overrightarrow {{{\upmu }_{2} }} = \left[ {\begin{array}{*{20}c} {S_{2} {\text{sin}}\left( {\phi_{2} } \right){\text{sin}}\left( {\theta_{2} } \right)} \\ {S_{2} {\text{sin}}\left( {\phi_{2} } \right){\text{cos}}\left( {\theta_{2} } \right)} \\ {S_{2} {\text{cos}}\left( {\phi_{2} } \right)} \\ \end{array} } \right], $$
(25)
$$ \overrightarrow {{{\upmu }_{3} }} = \left[ {\begin{array}{*{20}c} {S_{3} {\text{sin}}\left( {\phi_{3} } \right){\text{sin}}\left( {\theta_{3} } \right)} \\ {S_{3} {\text{sin}}\left( {\phi_{3} } \right){\text{cos}}\left( {\theta_{3} } \right)} \\ {S_{3} {\text{cos}}\left( {\phi_{3} } \right)} \\ \end{array} } \right]. $$
(26)

Then, the angles γ among the pair of sets can be calculated as follows:

$$ \gamma_{12} = \cos^{ - 1} \left( {\frac{{\overrightarrow {{\mu_{1} }} \cdot \overrightarrow {{\mu_{2} }} }}{{\overrightarrow {{\mu_{1} }} \overrightarrow {{\mu_{2} }} }}} \right), $$
(27)
$$ \gamma_{23} = \cos^{ - 1} \left( {\frac{{\overrightarrow {{\mu_{2} }} \cdot \overrightarrow {{\mu_{3} }} }}{{\overrightarrow {{\mu_{2} }} \overrightarrow {{\mu_{3} }} }}} \right), $$
(28)
$$ \gamma_{13} = \cos^{ - 1} \left( {\frac{{\overrightarrow {{\mu_{1} }} \cdot \overrightarrow {{\mu_{3} }} }}{{\overrightarrow {{\mu_{1} }} \overrightarrow {{\mu_{3} }} }}} \right). $$
(29)

Then, the angles δ among the considered director vector and the direction of the normal to the other two director vectors can be calculated as follows:

$$ \delta_{3 - 12} = \cos^{ - 1} \left( {\frac{{\left| {\overrightarrow {{\mu_{3} }} \cdot \overrightarrow {{l_{12} }} } \right|}}{{\left\| {\overrightarrow {{\mu_{3} }} } \right\|\left\| {\overrightarrow {{l_{12} }} } \right\|}}} \right), $$
(30)
$$ \delta_{1 - 23} = \cos^{ - 1} \left( {\frac{{\left| {\overrightarrow {{\mu_{1} }} \cdot \overrightarrow {{l_{23} }} } \right|}}{{\left\| {\overrightarrow {{\mu_{1} }} } \right\|\left\| {\overrightarrow {{l_{23} }} } \right\|}}} \right), $$
(31)
$$ \delta_{2 - 31} = \cos^{ - 1} \left( {\frac{{\left| {\overrightarrow {{\mu_{2} }} \cdot \overrightarrow {{l_{31} }} } \right|}}{{\left\| {\overrightarrow {{\mu_{2} }} } \right\|\left\| {\overrightarrow {{l_{31} }} } \right\|}}} \right), $$
(32)

where vectors l are calculated according to Eq. 8:

$$ \overrightarrow {{l_{12} }} = \left( {\frac{{\overrightarrow {{{\upmu }_{1} }} }}{{\left\| {\overrightarrow {{{\upmu }_{1} }} } \right\|}} \times \frac{{\overrightarrow {{\mu_{2} }} }}{{\left\| {\overrightarrow {{{\upmu }_{2} }} } \right\|}}} \right), $$
(33)
$$ \overrightarrow {{l_{31} }} = \left( {\frac{{\overrightarrow {{{\upmu }_{3} }} }}{{\left\| {\overrightarrow {{{\upmu }_{3} }} } \right\|}} \times \frac{{\overrightarrow {{\mu_{1} }} }}{{\left\| {\overrightarrow {{{\upmu }_{1} }} } \right\|}}} \right), $$
(34)
$$ \overrightarrow {{l_{23} }} = \left( {\frac{{\overrightarrow {{{\upmu }_{2} }} }}{{\left\| {\overrightarrow {{{\upmu }_{2} }} } \right\|}} \times \frac{{\overrightarrow {{\mu_{3} }} }}{{\left\| {\overrightarrow {{{\upmu }_{3} }} } \right\|}}} \right). $$
(35)

Thanks to the circular shift of the three indices, it is sufficient to calculate only one angle γ and the corresponding angle δ (i.e., Eqs. 27 and 30, or Eqs. 28 and 31, or Eqs. 29 and 32) to solve Eq. 23 and obtain q. The above-listed equations can be easily implemented in a Matlab script to automatize the calculation.

Basically, q is a dimensionless number that depends only on the shape of the block, namely the angles among sets (Umili et al. 2023). The angles γij among sets range between 0° and 180°, while δk-ij range between 0° and 90°: therefore, sine and cosine functions are both limited between 0 and 1. Furthermore, q implies a relative orientation among the sets able to physically produce a closed shape. As a result, q ranges between 0 and 1 with a non-linear trend. If the block is a regular prism whose angles among sets are all equal to 90°, q is equal to 1. For values of q < 1, the volume increases due to the progressively more skewed shape of the block. For q = 0, the fraction defining the volume (Eq. 21) is undefined: geometrically, this means that the angle between at least two of the joints is 0°, and they are, therefore, coplanar. In other words, the block is a degenerate polyhedron and infinitely extended. For these reasons, q can be intended as a non-orthogonality coefficient, or rather a polyhedron skewness factor.

Figure 2 shows q values by varying K1 orientation, while the orientation of K2 and K3 is kept constant. In Fig. 2a, the dip of K1 varies between 0° and 90°, the dip direction of K1 varies between 0° and 360°, K2 is 90/090, and K3 is 00/000. As expected, in the cases of perpendicular sets (K1 equal to 90/000, 90/180, and 90/360), q is equal to 1. In Fig. 2b, the dip of K1 varies between 0° and 90°, the dip direction of K1 varies between 0° and 360°, K2 is 61/210, and K3 is 82/100. In Fig. 2c, the dip of K1 varies between 0° and 90°, the dip direction of K1 varies between 0° and 360°, K2 is 53/077, and K3 is 73/185. In Fig. 2d, the dip of K1 varies between 0° and 90°, the dip direction of K1 varies between 0° and 360°, K2 is 66/224, and K3 is 70/307. It is evident that the possible trends of q are many, depending on the relative orientation of the three sets.

Fig. 2
figure 2

Values of q by varying dip and dip direction of set K1, while K2 and K3 are kept constant and equal to a) 90/090 and 00/000; b) 61/210 and 82/100; c) 53/077 and 73/185; d) 66/224 and 70/307. The contour step is 0.1

4.2 Calculation of q Based on the Stereogram

To illustrate the practical calculation of q, let us consider for example the case in which K1 is 86/180, K2 is 24/185 and K3 is 70/120 (id 5 in Table 1): their orientation can be graphically represented on a stereogram (Fig. 3), on which one can measure the angles required to solve Eq. 23. The first angle required to calculate q is \({\gamma }_{12}\), which is the angle between K1 and K2: it can be measured along the great circle passing through the poles of K1 and K2 (I12 in Fig. 3). In this example \({\gamma }_{12}\) is equal to 62.1°. The pole of the plane I12 represents the intersection of planes K1 and K2. The second angle required to calculate q is \({\delta }_{3-12}\), which is the angle between K3 and I12: it can be measured along the great circle passing through the poles of K3 and I12. In this example \({\delta }_{3-12}\) is equal to 34.36°. By substituting in Eq. 23, q results equal to 0.7296. Proceeding in the same manner, it is possible to measure \({\gamma }_{23}\) and \({\delta }_{1-23}\), which are equal to 60.49° and 34.05°, respectively; similarly, \({\gamma }_{31}\) and \({\delta }_{2-31}\) are equal to 61.71° and33.04°, respectively. Inputting these two other pairs of angles the value of q is again equal to 0.7296, as stated in Eq. 23.

Table 1 Orientation of the three sets considered for the test (unitary spacings), angles, q value and volume V of the block calculated with Eqs. 1 and 21 and 3DEC
Fig. 3
figure 3

Calculation of q based on the measurement of angles on a stereogram

5 Verification of the Formula

A cubic model, affected by the presence of three discontinuities sets with orientation reported in Table 1 and spacing equal to 1 m for all the three sets, was generated with 3DEC; null standard deviation was assigned to orientation and spacing values (Fig. 4). As a result, the model contains many blocks generated by the intersection of discontinuities. In general, blocks do not have the same volume. In fact, in close proximity to the model faces, one can find a certain number of smaller blocks produced by the intersection of the discontinuity planes with the boundary surfaces. Representative elementary volume (REV) of the model was investigated to minimize the effect of the smaller blocks on identifying the true block volume. Considering a REV reached if at least 80% of the volume of the blocks falls into the same modal class, a dimension of the virtual rock mass of 35 m was chosen for the following analyses (Carriero et al. 2021). Blocks generated by 12 triples of sets were considered: results of the calculation with the proposed formula (Eq. 21), with Palmstrøm’s formula (Eq. 1), and those obtained from 3DEC are reported in Table 1. Cases 1 to 4 are the same used to plot q values in Fig. 2. Then, spacing values were made vary for completing the test: a range between 0 and 3.5 m was considered in order not to change the dimensions of the 3DEC model. Results are reported in Table 2. In all the tests, the perfect agreement of analytical and 3DEC results is obtained, proving the correctness of the proposed solution. Volumes calculated with Palmstrøm’s formula show a difference variable from  – 11% (id = 7) to + 20% (id = 12) with respect to those calculated with Eq. 21.

Fig. 4
figure 4

(Left) Three-dimensional model generated with 3DEC considering the case id 5 (Table 1): K1 86/180; K2 24/185; K3 70/120; (right) detail of one of the model faces

Table 2 Orientation of the three sets considered for the test, spacing, q value and volume of the block calculated with Eqs. 1 and 21 and 3DEC

6 Case Study

The Elva valley road (Northern Italy) is here considered as a case study for discussing the implications of adopting the proposed method. The Elva valley road (“Strada del Vallone” in Italian) is located in the orographic left of the Maira Valley (Piedmont, Northern-western Italy) and directly connects the village of Elva (1637 m a.s.l.) and the Maira Valley. The road stretches for about 9 km along a deep gorge, carved within limestones and dolomitic limestones. Steep rocky cliffs overhang almost the entirety of the road: this configuration has produced over the years a large number of rockfall phenomena and rock slides events distributed over a wide area, making it a suitable case study (Fig. 5). Due to the logistical difficulties in assessing the features of the entire rock mass employing direct measures, which can only be used at the road level, non-contact techniques were applied (Migliazza et al. 2021): from the data gathered in this manner, the geometrical features of the rock mass (i.e., orientation and spacing of the discontinuities) were assessed. Because of the significant length and surface of the rock faces, it became necessary to split the area into sub-domains, where the mechanical and geometrical properties of the rock mass appeared regular enough to be assumed homogeneous (Fig. 6).

Fig. 5
figure 5

Photographs of the rocky cliffs along the Elva valley road

Fig. 6
figure 6

Non-contact survey of discontinuity orientations and associated stereogram for subarea A2_b

In general, the area is characterized by three main discontinuity sets, persistent and identifiable in all the sub-domains: the bedding surface of the limestones (BP) and two conjugated joint sets (K1 and K2). The orientation of the three joint sets changes significantly across the 19 different domains (Table 3). The mean spacing values for the three sets obtained for each sector are reported in Table 4.

Table 3 Orientation of the three discontinuity sets in the 19 sectors, and calculated angles to be used in Eqs. 1 and 21
Table 4 Mean spacing values of the three discontinuity sets in the 19 sectors, values of q and block volumes calculated using Eq. 21, compared to the denominator of Eq. 1, and corresponding volumes obtained by employing Eq. 1

For each of the sectors identified in the study area, block volumes were calculated by applying Palmstrøm’s formula (Eq. 1). Then, the proposed method for calculating block volume (Eq. 21) was applied, and the results were compared. From the results, visible in Table 4 alongside the input data, it is possible to appreciate how Palmstrøm’s formulation is precise and accurate only when the three sets appear to be either orthogonal to each other or very close to orthogonal; in all the other configurations, the block volume can be overestimated (up to 8%) or, more importantly, highly underestimated (up to 56%).

It is interesting to note that if one would choose the global average block volume value as a descriptor of the general situation along the entire 9 km long road, then by using Eq. 1 that value would be 0.161 m3; on the other hand, by employing Eq. 21, the global average block volume would be 0.193 m3. The difference between the two results is in favor of the new equation presented here, as the original formulation provided by Palmstrøm underestimates block volume by 16%. Therefore, the design of any protection work relying on Eq. 1 would provide an undereffective service. The results depicted in Table 4 show that Eq. 1 does not always underestimate block volume, but it is also worth noting that the largest difference between Eq. 1 results and Eq. 21 results (56.6%) is once again an underestimation.

7 Conclusions

A correct calculation method reduces epistemic uncertainty: this is particularly important in studying rockfall phenomena. In fact, when selecting the possible barriers based on their structural capacity of absorbing the design block kinetic energy, it is evident that block volume plays a fundamental role, together with the slope morphology. In the case of naturally occurring rock slopes or rock faces, the morphology of the topographic surface is the product of the detachment of unstable portions of the rock mass, i.e., rock blocks. In other words, the rock face morphology is heavily influenced by the geometrical and geomechanical properties of the discontinuities within the rock mass. The formulation introduced in the present work can, in any case, account for the morphology of the slope, as it can be inputted into the equations as any other plane. In fact, the method relies on spacing and orientation of generic geometric surfaces, whatever thei nature. For instance, it is possible to quantify the volume of an unstable rock wedge referring to the geometrical features of the two joints and those of the slope itself. This could be useful also when dealing with artificial slopes, for calculating volumes defined by benches of known orientation and spacing. This research work demonstrates that in the simple case of a rock block generated by three discontinuity sets with known orientation and true spacing, the proposed analytical solution is correct and produces the same value as a DFN code. Moreover, as it has been shown for the case of the Elva valley road, the original Palmstrøm’s formula tends to overestimate or underestimate block volume, due to the fact that the assumptions it relays on are true only in the case of three joint sets orthogonal or close to orthogonal among each other. From a practical point of view, an overestimation of the volume, if reasonable, can lead to a more conservative design of protective measures, but an underestimation always represents a significant problem. Therefore, the use of the proposed calculation method of block volume provides a significantly safer approach to the problem.

Moreover, the new method proposed in this paper has an advantage over DFN modeling, which would be the only other methodology providing a correct and precise evaluation of block volume within a rock mass: employing an analytic equation is much simpler, quick, and cheaper than performing DFN modeling. The analytical method to calculate denominator q of Eq. 21 and, most of all, the practical method based on the stereogram, highlight the easiness of use of the formula for calculating the block volume. This point represents a great advantage for practitioners in the sector of rockfall protection works and rock slope stability, who generally need a quick method to assess a design block for performing rockfall simulations, rather than simulating the structure of an entire rock mass through sophisticated and expensive numerical codes such as DFNs.

It must be stated, though, that the new formulation still suffers from the same limitation the Palmstrøm’s one had: the equation is valid only in the case of three joint sets; in nature, the likelihood of the occurrence of rock masses with a higher number of discontinuity sets is high, and the new equation cannot address this issue. A possible way to deal with it while still preserving the simplicity of the analytic approach consists in identifying triplets of joint sets and, for each triplet, evaluating block volume; lastly, the relative importance of each triplet can be estimated by observing niches created by previously detached blocks (Umili et al. 2020) or talus deposits at the toe of the rock face. Otherwise, the construction of a DFN appears as the only feasible way.