1 Introduction

Unreinforced masonry structures account for a significant amount of the building stock in many countries around the world. In particular, masonry walls are widely employed both as principal members in masonry structures and as non-structural components (e.g. infill panels in framed structures and internal partitions). It is worth noting that masonry walls are often subjected simultaneously to in-plane compressive vertical loads (i.e. self-weight and other permanent loads) as well as out-of-plane actions. In particular, vertical loads increase both the ultimate out-of-plane strength and structural ductility, bringing additional complexity to the structural analysis problem.

The assessment of the ultimate load bearing capacity of out-of-plane loaded masonry walls is a relevant issue for all professionals involved in the structural analysis and design of new and existing constructions. As witnessed by recent violent seismic events occurred, for instance, in Italy (Abruzzo 2008; Emilia 2012; Lazio 2016), out-of-plane failures are mostly related to earthquake loads and the lack of out-of-plane strength is one of the primary factors causing failure in different types of masonry constructions, particularly in the case of historical buildings (see for instance [13]).

Experimental tests carried out since the 70’s on laterally loaded brick masonry walls, have shown that failure occurs along a well-defined pattern of lines (see e.g. De Felice [4], Gazzola et al. [5]). This evidence inspired approximate analytical solutions based on both the fracture line theory [6] and the yield line theory [7, 8], which in fact can be considered an application of the kinematic theorem of limit analysis. Moreover, the current Italian norms [9, 10] explicitly require examining these local collapse modes and suggest limit analysis as a verification tool.

Despite approximations and the awareness that masonry does not behave as a rigid-plastic material, limit analysis is, indeed, a highly reliable tool to assess the ultimate load bearing capacity of masonry walls. In the past decades, due to its simplicity and the usually very limited number of parameters required, limit analysis has been largely employed for evaluating the failure modes and ultimate bearing capacity of planar masonry structures, both in-plane and out of plane loaded.

Based on the assumption (after Heyman [11]) that masonry behaves as a no-tension material, a number of Italian scientists (the so called Italian School: among others, Di Pasquale [12], Angelillo [13], Del Piero [14], Como [15]) have shown that the ultimate load-carrying capacity of masonry structures can be assessed within the framework of the limit analysis according to the principles of plasticity theory. More precisely, it has been shown that it is possible to estimate lower (static theorem) and upper (kinematic theorem) bounds for the collapse load, in presence of suitable admissible stress and strain fields (see Del Piero [14]).

However, the no-tension model does not take into account a number of mechanical features of masonry i.e.:

  1. 1.

    Masonry is clearly a heterogeneous composite material (made by clay bricks or stone blocks and mortar) and, according to experimental evidence, it exhibits a non-isotropic behavior both in the elastic field and at failure [16].

  2. 2.

    Masonry tensile strength, very low but not null, is quite variable and uncertain; usually the crisis occurs at the interface between bricks and mortar. Moreover, the infinite compression strength assumption is questionable, and also Heyman [17], among many others, suggested a method to take this fact into account. Nevertheless, brittle crushing phenomena have actually a minor importance in the response of out-of-plane loaded masonry structures.

  3. 3.

    According to experiments [18], friction coefficient μ for masonry is relatively high (for historical masonry μ varies from 0.4 to 0.6). As a consequence, normality condition is violated (i.e. a non-associative flow rule must be defined) and, therefore, limit analysis theorems do not hold anymore [1921]. Assuming an associative flow rule gives rise to dilatancy, whose effects, however, appear in many cases negligible.

  4. 4.

    Finally, no-tension material model gives rise to more complex computational formulations. For instance, compatibility conditions, which are related to the existence of statically admissible stress fields and kinematically admissible displacement fields, are not trivial to verify.

For these reasons, computational methods for the structural assessment of laterally loaded masonry walls have been proposed in literature, which are not based on the no-tension model. Among these, we can cite number of Finite Element methods (FEM) applied to homogenized limit analysis [22, 23], classic rigid blocks models [2426], the Discrete Element Method (DEM) [27, 28], the Non-Smooth Contact Dynamics (NSCD) method [29, 30] and combined FEM/DEM methods [31]. Many of these methods are often computationally expensive, their practical application requires skilled users and, in some cases, the definition of a yield line pattern, which is a priori unknown.

The present paper deals with a new adaptive NURBS-based approach to homogenized upper-bound limit analysis of out-of-plane loaded masonry walls, modeled as a rigid block assembly, where dissipation is allowed only along elements edges. The approach allows to quickly detecting the failure mechanism for a wall of arbitrary geometry having holes of general shape. Both in- and out-of-plane homogenized failure mechanical parameters are obtained making use of homogenization concepts, once that a suitable elementary cell is chosen.

NURBS (i.e. Non-Rational Uniform Bi-Spline) are special approximating base functions widely used in the field of 3D modeling [32] for their ability of approximating the actual geometry in an extremely accurate way. Recently, some of the Authors have introduced the idea of using NURBS functions as the basis for the limit analysis of masonry arches and vaults [3338]. To be more specific, an arbitrary masonry wall, with arbitrarily shaped holes, can be described by a NURBS representation of its mid-surface, which can be generated within any commercial free form modeler, together with information about the local thickness at each point of the surface. By a suitable algorithm, a mesh of the given surface, usually composed of a relatively small number of elements but still providing an exact representation of the original surface, can be obtained. Each element of the mesh is a NURBS surface itself and is idealized as a rigid body. Starting from the obtained rigid bodies assembly, an upper bound limit analysis problem with very few optimization variables can be devised, in which dissipation is allowed along element edges only. The main aspects of masonry material (i.e. negligible tensile strength, good compressive strength and orthotropy at failure due to bricks arrangement) are taken into account through an homogenization approach based on the Method of Cells, described in [35].

Due to the very limited number of rigid elements used, the quality of the failure mechanism so found depends on the shape and position of the interfaces, where dissipation is allowed. Mesh adjustments are therefore needed, but the utilization of Sequential Linear Programming [39] (which would be really cumbersome) can be here easily circumvented by adopting a simple meta-heuristic approach of mesh adjustment (i.e. a Genetic Algorithm GA equipped with non standard optimization tools, see [40]).

In the GA-NURBS approach proposed, each individual of a given population is represented by a possible rigid body mesh. For small-to-medium populations, each iteration requires the solution of a Linear Programming (LP) problem for each individual. Thanks to the extremely reduced number of NURBS elements used in the discretization (and hence the number of variables of the LP problem), the computational effort required at each iteration is almost negligible.

The advantage of the proposed procedure with respect to existing methods lies in its capability to exploit a NURBS representation of a masonry panel of arbitrary shape in order to define a very coarse but still exact rigid block assembly, which is iteratively adjusted by means of a suitable GA until the element edges accurately approximate the actual failure mechanism. The knowledge of the actual failure mechanism is not required in advance (differently from many commercial software packages, see e.g. Mc4 Software [41]), and yet, by working with very few elements, it is possible to reduce the number of variables governing the problem and obtain a fast evaluation of the solution.

Furthermore, since NURBS represent a standard in the field of 3D modeling, the proposed method could easily be integrated within existing commercial CAD software packages, which are popular in the community of practitioners, thus allowing for the diffusion of safety assessment of masonry walls through kinematic limit analysis among a broad professional audience.

The paper is organized as follows: in Sect. 2 a synthetic survey is given about how the geometric shape of a masonry wall can be described by a NURBS representation and a coarse NURBS mesh can be defined on it, even in presence of openings of arbitrary shape. In Sect. 3, the upper bound limit analysis formulation with NURBS rigid elements and interfaces is proposed, based on the NURBS geometric representation of the masonry wall, which allows to compute the collapse load for a set of given failure mechanisms. Here a brief review of the homogenization approach used to estimate homogenized failure surfaces is also provided. Section 4 outlines the Genetic Algorithm strategy, which is capable of selecting the correct failure mechanism, by adequately adjusting the initial mesh. Finally, Sect. 5 is devoted to present a number of numerical simulation on real structural examples.

2 Rigid block assembly generation

An assigned masonry wall, possibly with openings, can be modeled within any free form 3D modeler using NURBS surfaces and a rigid block assembly can be defined on it. NURBS basis functions are built on B-splines basis functions, which are piecewise polynomial functions defined by a sequence of coordinates \(\varXi = \{ \xi_{1} ,\xi_{2} , \ldots ,\xi_{n + p + 1} \}\), also known as the knot vector, where the so-called knots, \(\xi_{i} \in [0,1]\), are points in a parametric domain, in which p and n denote the polynomial order and the total number of basis functions, respectively. The i-th B-spline basis function, N i,p , can be computed by means of the Cox-de Boor recursion formula [32]. Given a set of weights,\(w_{i} \in {\mathbb{R}}\), the NURBS basis functions, R i,p , is given by the following expression:

$$R_{i,p} (\xi ) = \frac{{N_{i,p} (\xi )w_{i} }}{{\sum\nolimits_{i = 1}^{n} {N_{i,p} (\xi )w_{i} } }}.$$
(1)

NURBS share many properties with B-spline basis functions. However, NURBS basis functions have the great advantage of representing exactly the geometry of a wide set of curves such as circles, ellipses, and parabolas [32], and of the surfaces that can be generated by these curves. Geometries that can be generated with B-spline and NURBS are obtained as linear combinations of basis functions [32]. If one considers a set of NURBS basis functions R i,p , a NURBS curve of degree p is a parametric curve in the three-dimensional Euclidean space defined as

$${\mathbf{C}}(u) = \sum\limits_{i = 1}^{n} {R_{i,p} (\xi ){\mathbf{B}}_{i} }$$
(2)

where coefficients \({\mathbf{B}}_{i} \in {\mathbb{R}}^{3}\) are known as control points. Analogously, a NURBS surface of degree p in the u-direction and q in the v-direction is a parametric surface in the three-dimensional Euclidean space defined as

$${\mathbf{S}}(u,v) = \sum\limits_{i = 0}^{n} {\sum\limits_{j = 0}^{m} {R_{i,j} (u,v){\mathbf{B}}_{i,j} } }$$
(3)

where \(\{ {\mathbf{B}}_{ij} \}\) form a bidirectional net of control points. A set of weights {w i,j }and two separate knot vectors in both u and v directions must be defined. Given a NURBS surface \({\mathbf{S}}(u,v)\), isoparametric curves on the surface can be defined by fixing one parameter in the parameter space and letting the other vary. By fixing u = u 0 the isoparametric curve \({\mathbf{S}}(u_{0} ,v)\) is defined on the surface \({\mathbf{S}}\), whereas by fixing v = v 0 the isoparametric curve \({\mathbf{S}}(u,v_{0} )\) is obtained. Many commercial free form surface modelers, such as Rhinoceros® [42], utilize NURBS representation and its properties to generate and manipulate surfaces in the three-dimensional space. In the numerical simulations contained in Sect. 5, masonry walls have been modeled within Rhinoceros as NURBS surfaces and the resulting NURBS structure have been imported within a MATLAB® environment through the IGES (Initial Graphics Exchange Specification) standard [43]. Once the NURBS structure created within Rhinoceros® has been transferred to the MATLAB® environment, it is possible to manipulate it by exploiting NURBS properties in order to define a NURBS mesh of the masonry mid-surface, in which each element is a NURBS (planar) surface itself. We will consider each of these elements as a rigid block, so that the geometrical mesh described on the surface defines actually an assembly of rigid blocks. Furthermore, it is possible to model wall thickness at each interface between elements by offsetting the original interface inward and outward through a translation in the direction normal to the NURBS surface. Assigned a given masonry wall, its NURBS representation S w has a counter-image I w in the two-dimensional parameters space uv defined by the square [0, 1] × [0, 1]. In general, the counter-image domain I w is delimited by boundary NURBS curves, which are directly defined in the parameters space and whose definition is suitably stored within the IGES format. Typically, the easiest way to generate a NURBS mesh on a given planar surface describing a wall is to subdivide the two-dimensional parameters space uv, by subdividing the knot vectors in both u and v directions into assigned fixed intervals.

The resulting mesh is therefore defined by the corresponding isoparametric curves. Each element of the mesh is a NURBS surface itself and its edges are branches of isoparametric curves belonging to the initial surface. Moreover this subdivision defines a lattice in the parameters space, whose elements are the nodes of the mesh.

Figure 1a represents an example of a Rhino 3D NURBS model of a simple plain masonry wall. Figure 1b represents the corresponding counter-image I w in the parameters space, which in this case coincides with the parameters-space [0, 1] × [0, 1] itself. Figure 1c, d represent two possible subdivisions of the parameters space into four elements obtained within a MATLAB® environment after exporting the original NURBS structure through the IGES standard. The subdivision is obtained by creating a lattice of nodes in the parameters space, starting from the definition of a number of isoparametric curves, which identify a given number of quadrilateral elements. In particular, it is possible to transition from the subdivision depicted in Fig. 1c to the one depicted in Fig. 1d by controlling the position of the central node. In the proposed procedure this process will be governed by a Genetic Algorithm (see Sect. 4 for more details).

Fig. 1
figure 1

a NURBS model of an assigned masonry wall. b Corresponding counter-image I w in the parameters space uv. c Initial parameters space subdivision into four rectangular elements. d GA-modified parameters space subdivision into four generic quadrilateral elements

For our purposes, the number of nodes will always be limited since it has been observed that masonry walls tend to show a limited number of yield lines upon failure [4]. This circumstance allow for a very limited number of parameters governing the problem and, therefore, a very small computation time.

In addition, a suitable algorithm must be devised in order to deal with walls having openings of general shapes. This algorithm is graphically illustrated in Fig. 2 for a façade wall with two holes of different and non-trivial shapes. The 3D NURBS model of the panel is depicted in Fig. 2a whereas its counter-image I w in the parameters space [0, 1] × [0, 1] is shown in Fig. 2b.

Fig. 2
figure 2

a NURBS model of an arbitrary masonry wall with holes. b Corresponding counter-image I w in the parameters space uv. c Initial counter-image I w subdivision: step one. d Initial counter-image I w subdivision: step two. e GA-modified parameters space subdivision: step one. f GA-modified parameters space subdivision: step two

A first lattice subdivision of the whole square parameters space [0, 1] × [0, 1] is carried out, as shown in Fig. 2c, independently from the topology of the actual counter-image domain I w (step one). Afterwards, the nodes of the lattice, which happen to be placed outside the actual counter-image of the original surface, are translated onto the nearest boundary curve of the counter-image domain I w following rectilinear trajectories parallel to main axes uv, as shown in Fig. 2d (step two). Again, it is possible to adjust the subdivision of the counter-image domain I w by controlling the position of nodes on step one and in the proposed GA-NURBS approach this process will be governed by a Genetic Algorithm. As previously pointed out, the image of each element in the parameters space is an element of the assembly, which is a NURBS surface itself.

The union of every element of the chosen assembly is equal to the original surface, no matter how coarse the mesh is. For each element of the assembly, E i , be K i its counter-image in the two-dimensional parameters space uv the quadrangular domain. Therefore, the area of the surface can be computed through the following relation:

$$A_{i} = \iint_{{E_{i} }} {dS} = \iint_{{K_{i} }} {\left\| {{\mathbf{S}}_{u} \times {\mathbf{S}}_{v} } \right\|}\,\,du\,dv$$
(4)

where \({\mathbf{S}}_{u}\) and \({\mathbf{S}}_{v}\) are partial derivatives of the parametric surface \({\mathbf{S}}(u,v)\) in the u and v directions. Analogously, the center of mass of each element may be computed with the following relation:

$${\mathbf{c}} = \frac{1}{{A_{i} }}\iint_{{E_{i} }} {{\mathbf{x}}\,dS} = \iint_{{K_{i} }} {{\mathbf{S}}(u,v)\left\| {{\mathbf{S}}_{u} \times {\mathbf{S}}_{v} } \right\|}\,\,du\,dv\,\,$$
(5)

Since integrals (5) and (6) are evaluated on general quadrangular domains, an isoparametric approach can be adopted for their numerical computation.

Let K be a quadrilateral domain in the parameters space with straight boundary lines and vertices (u i v i ), i = 1, 2, 3, 4 arranged in counter-clockwise order (Fig. 3). The idea is simple: first transform the quadrilateral domain K to the standard quadrilateral element R st and then apply the Gaussian quadrature. The transformation can be done by using the following nodal shape functions for quadrilaterals:

$$N_{i} (\xi ,\eta ) = \frac{1}{4}(1 \mp \xi )(1 \mp \eta ),\quad {\text{i}} = 1, \ldots ,4$$
(6)
Fig. 3
figure 3

Linear mapping between K and R st

Note that \(N_{i} (\xi ,\eta ) = 1\) at node i, and zero at other nodes. Now, it is necessary to construct a linear mapping to map the quadrilateral domain K to the standard square R st  = [−1, 1] × [−1, 1] in the auxiliary two-dimensional space \((\xi ,\eta )\) (see Fig. 3). The mapping can be achieved conveniently by using the nodal shape function as follows:

$$\begin{aligned} u = P(\xi ,\eta ) = \sum\limits_{i = 1}^{4} {u_{i} N_{i} (} \xi ,\eta ) \hfill \\ v = Q(\xi ,\eta ) = \sum\limits_{i = 1}^{4} {v_{i} N_{i} (} \xi ,\eta ) \hfill \\ \end{aligned}$$
(7)

Then, a given integral over K can be rewritten in the following way as an integral over R st :

$$\iint_{K} {F(u,v)\,du\,dv = \iint_{{R_{st} }} {F(P(\xi ,\eta ),}\,}Q(\xi ,\eta ))\left| {J(\xi ,\eta )} \right|d\xi \,d\eta ,$$
(8)

where \(J(\xi ,\eta )\) is the Jacobian of the transformation (8).

Therefore, it is now possible to apply the Gaussian quadrature rule for standard square domains:

$$\iint_{K} {F(u,v)\,du\,dv = \sum\limits_{i = 1}^{N} {\sum\limits_{j = 1}^{N} {w_{i} w_{j} } } F(P(\xi_{i} ,\eta_{j} ),\,Q(\xi_{i} ,\eta_{j} ))\left| {J(\xi_{i} ,\eta_{j} )} \right|}.$$
(9)

where \((\xi_{i} ,\eta_{j} )\) and w j are Gaussian quadrature points and weights respectively. In the numerical examples discussed in Sect. 4, a 3-points in each direction Gauss rule has been adopted for computing area (5) and center of mass (6) integrals, since this choice provides the needed accuracy.

3 Kinematic limit analysis formulation

Limit analysis is a powerful tool to assess the structural safety level of a masonry construction. As already discussed, given the NURBS geometric representation of a masonry wall, a NURBS mesh can be defined. This Section summarizes the proposed upper bound limit analysis formulation for the assigned rigid body assembly composed by N E elements. The kinematics of each element is determined by the six (three translational and three rotational) generalized velocity components \(\{ u_{x}^{i} ,\,u_{y}^{i} ,\,u_{z}^{i} ,\,\varPhi_{x}^{i} ,\,\varPhi_{y}^{i} ,\,\varPhi_{z}^{i} \}\) of its center of mass G i , expressed in a global reference system Oxyz. On the structure, dead loads \({\mathbf{F}}_{0}\) and live loads \({\varvec{\Gamma}}\) are acting. Internal dissipation is assumed to occur only along element interfaces. Indicating by N I the number of interfaces, total internal dissipation power \(D_{\text{int}}\) is equal to the sum of the power dissipated along each interface \(P_{\text{int}}^{i}\). Furthermore, total internal dissipation power \(D_{\text{int}}\) is equal to the sum of the powers of live (\({\mathbf{1}} \cdot \varGamma\)) and dead (\({\mathbf{F}}_{{\mathbf{0}}}\)) loads, indicated as \(P_{{\varvec{\Gamma}}}\) and \(P{}_{{{\mathbf{F}}_{{\mathbf{0}}} }}\) respectively:

$$D_{\text{int}} = \sum\limits_{i = 1}^{{N_{I} }} {P_{\text{int}}^{i} } = P_{{\varvec{\Gamma}}} + P_{{{\mathbf{F}}_{{\mathbf{0}}} }}$$
(10)

\(\varGamma\) is a load multiplier. The linear programming problem related to the kinematic formulation of limit analysis consists in an appropriate minimization of the load multiplier \(\varGamma\) under the action of suitable constraints, which are described in the following Subsections. The vector of unknowns of the linear programming problem, X, contains the six generalized velocity components for each element and a number of plastic multipliers along each interface which will be defined in Sect. 3.2.

3.1 Geometric constraints

Vertex belonging to element free edges, which do not constitute an element interface, can be subjected to external kinematic constraints, by imposing an assigned value for translational and/or rotational velocities at these points. For each of such vertex V j , kinematic constraints can be expressed in terms of generalized velocities of the center of mass of the i-th element they belong to. For example, in case only translational velocities of a given vertex V j , belonging to element i, are constrained to zero, the following relation holds as a geometric constraint:

$${\mathbf{u}}_{{V_{j} }} = {\mathbf{u}}^{i} + {\mathbf{R}}\left[ {{\mathbf{x}}_{{V_{j} }} - {\mathbf{x}}_{{G_{i} }} } \right] = {\mathbf{0}}$$
(11)

where \({\mathbf{u}}_{{V_{j} }} = [u_{x}^{{V_{j} }} ,\,u_{y}^{{V_{j} }} ,\,u_{z}^{{V_{j} }} ]^{T}\) are the three translational velocity components of the vertex V j , \({\mathbf{u}}^{i} = [u_{x}^{i} ,\,u_{y}^{i} ,\,u_{z}^{i} ]^{T}\) are the three (unknown) translational velocity components of the center of mass of element i to whom vertex V j belongs, and R is a rotation matrix whose elements are the (unknown) generalized rotational velocities of the center of mass of element i. In general, all linear geometric constraints can be re-written in the following standard form:

$${\mathbf{A}}_{eq,geom} {\mathbf{X}} = {\mathbf{b}}_{eq,geom}$$
(12)

where \({\mathbf{A}}_{eq,geom}\) is the matrix of geometric constraints and \({\mathbf{b}}_{eq,geom}\) the corresponding vector of coefficients.

3.2 Compatibility constraints

Interfaces between elements are planar surfaces whose height in each point of their midline corresponds to the local thickness of the vault.

In order to enforce plastic compatibility along interfaces and correctly evaluate dissipation power, intrados and extrados edges of each interface have been subdivided into an assigned number (N sd  + 1) of points P i (see Fig. 4).

Fig. 4
figure 4

Masonry-masonry interface and corresponding local reference system

On each point P i of each interface, which separates the two elements E′ and E″, the following compatibility equation must hold:

$$\Delta {\tilde{\mathbf{u}}} = {\dot{\mathbf{\lambda }}}\frac{\partial f}{{\partial {\varvec{\upsigma}}}}$$
(13)

where \({\varvec{\upsigma}} = [\sigma_{nn} ,\,\sigma_{ns} ,\,\sigma_{nt} ]\) is the stress vector acting on P i in the three local reference directions, \(f({\varvec{\upsigma}})\) is a suitable yield function (evaluated through homogenization) and \({\dot{\mathbf{\lambda }}}\) is an unknown plastic multiplier vector. In Eq. (13), \(\Delta {\tilde{\mathbf{u}}}\) is the representation in the local reference system of the quantity \(\Delta {\mathbf{u}}\) in the global reference system which is defined as:

$$\Delta {\mathbf{u}} = {\mathbf{u^{\prime}}}_{{P_{i} }} - {\mathbf{u^{\prime\prime}}}_{{P_{i} }}$$
(14)

where \({\mathbf{u^{\prime}}}_{{P_{i} }}\) and \({\mathbf{u^{\prime\prime}}}_{{P_{i} }}\) are the vectors composed of three translational velocity components of the pointP i , seen as belonging to elements E′ and E″ respectively. \(\Delta {\mathbf{u}}\) is related to \(\Delta {\tilde{\mathbf{u}}}\) through the following relation:

$$\Delta {\tilde{\mathbf{u}}} = {\tilde{\mathbf{R}}}\Delta {\mathbf{u}}$$
(15)

where \({\tilde{\mathbf{R}}}\) is a suitable 3 × 3 rotation matrix whose rows are respectively the components of the three local vectors \(({\mathbf{n}},{\mathbf{s}},{\mathbf{t}})\) expressed in the global reference system.

The yield surface \(f({\varvec{\upsigma}})\) can be obtained by means of a homogenization procedure. In developing the applications, we adopted the so-called Method of Cells (MoC) (see [44]). The method, applied to running bond masonry in-plane loaded, consists into the subdivision of the REV into 6 rectangular sub-cells, as shown in Fig. 5, where the velocity field is approximated using two sets of strain-rate periodic piecewise differentiable velocity fields, one for normal and one for shear deformation mode. Let us indicate with the symbols u n(i)1 and u n(i)2 vertical and horizontal velocity fields of the i-th cell for deformation mode acting axially along vertical and horizontal directions. Assuming the same periodic field proposed for displacements in the elastic range in [45], the following relations hold:

$$\begin{aligned} u_{1}^{n(1)} & = 2U_{1} \frac{{x_{1} }}{{b_{b} }},\quad u_{2}^{n(1)} = - 2W_{1} \frac{{x_{2} }}{{h_{b} }} \\ u_{1}^{n(2)} & = U_{1} + \frac{{\left( {U_{2} - U_{1} } \right)\left( {x_{1} - \frac{{b_{b} }}{2}} \right)}}{{b_{m} }}\quad u_{2}^{n(2)} = - 2\frac{{x_{2} }}{{h_{b} }}\left( {\frac{{2\left( {W_{1} - W_{2} } \right)\left| {\frac{{b_{m} + b_{b} }}{2} - x_{1} } \right|}}{{b_{m} }} + W_{2} } \right) \\ u_{1}^{n(3)} & = u_{1}^{n(1)} - \frac{{\left( {U_{1} \left( {1 + 2\alpha_{b} } \right) - U_{2} } \right)\left( {\frac{{h_{b} }}{2} - x_{2} } \right)}}{{2h_{m} }}\quad u_{2}^{n(3)} = - W_{1} + \frac{{\left( {W_{1} - W_{3} } \right)\left( {x_{2} - \frac{{h_{b} }}{2}} \right)}}{{h_{m} }} \\ u_{1}^{n(4)} & = u_{1}^{n(1)} + \frac{{\left( {U_{1} \left( {1 + 2\alpha_{b} } \right) - U_{2} } \right)\left( {\frac{{h_{b} }}{2} - x_{2} } \right)}}{{2h_{m} }}\quad u_{2}^{n(4)} = u_{2}^{n(3)} \\ u_{1}^{n(5)} & = U_{1} - \frac{{\left( {U_{1} \left( {1 + 2\alpha_{b} } \right) - U_{2} } \right)\left( {\frac{{b_{b} + b_{m} }}{2} - x_{1} } \right)\left( {x_{2} - \frac{{h_{b} }}{2}} \right)}}{{b_{m} h_{m} }} - \frac{{\left( {U_{1} - U_{2} } \right)\left( {x_{1} - \frac{{b_{b} }}{2}} \right)}}{{b_{m} }} \\ u_{2}^{n(5)} & = - W_{3} \frac{{x_{2} - \frac{{h_{b} }}{2}}}{{h_{m} }} - 2\frac{{\left( {W_{2} \frac{{b_{m} }}{2} - \left( {W_{2} - W_{1} } \right)\left| {\frac{{b_{b} + b_{m} }}{2} - x_{1} } \right|} \right)\left( {\frac{{h_{b} }}{2} + h_{m} - x_{2} } \right)}}{{b_{m} h_{m} }} \\ u_{1}^{n(6)} & = 2\frac{{x_{1} }}{{b_{b} }}\left( {U_{1} - \frac{{\left( {U_{1} + \frac{{U_{1} - U_{2} }}{{2\alpha_{b} }}} \right)\left( {x_{2} - \frac{{h_{b} }}{2}} \right)}}{{h_{m} }}} \right) \\ u_{2}^{n(6)} & = - W_{1} + \frac{{\left( {W_{2} - W_{3} + 2\left( {W_{1} - W_{2} } \right)\frac{{\left| {x_{1} } \right|}}{{b_{m} }}} \right)\left( {x_{2} - \frac{{h_{b} }}{2}} \right)}}{{h_{m} }} \\ \end{aligned}$$
(16)
Fig. 5
figure 5

a REV adopted in the MoC approach and subdivision into cells; b Strain-periodic kinematically admissible velocity field under horizontal or vertical macroscopic normal stresses; c Strain-periodic kinematically admissible velocity field under macroscopic shear stress

An additional constraint W 1 = W 2 is imposed in the model in order to avoid undesired bilinear terms of the velocity field in cross-joints. Frame of reference x 1x 2 and geometrical meaning of the symbols are provided in Fig. 5a: h b is the brick height, h m is the thickness of the bed joints, α b is the ratio between b m and b b , respectively bed joint thickness and brick length. Fields (16) depend on the four degrees of freedom U 1, U 2, W 1, W 2 = W 1 and W 3 with clear physical meaning represented in Fig. 5b.

It is interesting to notice that velocity fields inside each cell are either linear (cells 1, 3, 4) or quadratic (cells 2, 5, 6). When a shear deformation mode is applied on the REV, the following fields of velocity are assumed inside each cell:

$$\begin{aligned} u_{1}^{t\left( 1 \right)} & = 2U_{1}^{t} \frac{{x_{2} }}{{h_{b} }}\quad u_{2}^{t\left( 1 \right)} = 0\quad u_{1}^{t\left( 2 \right)} = u_{1}^{t\left( 1 \right)} \quad u_{2}^{t\left( 2 \right)} = W_{1}^{t} \frac{{x_{1} - \frac{{b_{b} }}{2}}}{{b_{m} }} \\ u_{1}^{t\left( 3 \right)} & = U_{1}^{t} + \frac{{U_{2}^{t} - U_{1}^{t} }}{{h_{m} }}\left( {x_{3} - \frac{{h_{b} }}{2}} \right)\quad u_{2}^{t\left( 3 \right)} = - W_{2}^{t} \frac{{x_{2} - \frac{{h_{b} }}{2}}}{{h_{m} }} \\ u_{1}^{t\left( 4 \right)} & = u_{1}^{t\left( 3 \right)} \quad u_{2}^{t\left( 4 \right)} = - u_{2}^{t\left( 3 \right)} \\ u_{1}^{t\left( 5 \right)} & = u_{1}^{t\left( 3 \right)} \quad u_{2}^{t\left( 5 \right)} = - W_{1}^{t} \frac{{\left( {x_{1} - \frac{{b_{b} + b_{m} }}{2}} \right)\left( {x_{2} - \frac{{h_{b} }}{2}} \right) - h_{m} \left( {x_{1} - \frac{{b_{b} }}{2}} \right)}}{{b_{m} h_{m} }} \\ u_{1}^{t\left( 6 \right)} & = u_{1}^{t\left( 3 \right)} \quad u_{2}^{t\left( 6 \right)} = W_{1}^{t} \frac{{x_{1} \left( {x_{2} - \frac{{h_{b} }}{2}} \right)}}{{b_{m} h_{m} }} \\ \end{aligned}$$
(17)

Symbols u t(i)1 and u t(i)2 in Eq. (17) indicate vertical and horizontal velocity fields of the i-th cell for the shear deformation mode imposed. In Eq. (17) independent variables (DOFs) are represented by U t1 , U t2 , W t1 and W t2 , whose physical meaning is depicted in Fig. 5c. It should be pointed out that the kinematics of the shear deformation mode depicted in Fig. 5c only requires that velocities must be anti-periodical. This requirement is independent from the failure surfaces actually adopted for bricks and mortar joints.

An additional constraint W t1  = 2W t2 is imposed in the model to make the velocity field compatible between cross-joints and contiguous sub-cells. Let u 1 = u n(i)1  + u t(i)1 and u 2 = u n(i)2  + u t(i)2 denote the horizontal and vertical components of the velocity field in the (i)-th sub-cell. At each point of any sub-cell, the associated flow rule translates into three equality constrains, which can be written as \({\dot{\mathbf{\varepsilon }}}_{pl}^{(i)} = \left[ {\begin{array}{*{20}c} {\frac{{\partial v_{1} }}{{\partial y_{1} }}} & {\frac{{\partial v_{2} }}{{\partial y_{2} }}} & {\frac{{\partial v_{1} }}{{\partial y_{2} }} + \frac{{\partial v_{2} }}{{\partial y_{1} }}} \\ \end{array} } \right] = \dot{\lambda }^{(i)} \frac{{\partial {\mathbf{f}}_{b,m} }}{{\partial {\varvec{\upsigma}}}}\), where \({\dot{\mathbf{\varepsilon }}}_{pl}^{(i)}\) is the plastic strain rate field in the (i)-th sub-cell, \(\dot{\lambda }^{(i)}\)(≥0) is the rate of the plastic multiplier, and \({\mathbf{f}}^{b,m}\) is the (non) linear failure surface of either bricks (b) or mortar (m). Let the failure surfaces of bricks and mortar be approximated by m planes, so that each strength criterion is defined by a set of linear inequalities of the form \({\mathbf{f}}_{b,m} \equiv {\mathbf{A}}^{in} {\varvec{\upsigma}} \le {\mathbf{b}}^{in}\). As \({\dot{\mathbf{\varepsilon }}}_{pl}^{(i)}\) varies at most linearly within each sub-cell, plastic admissibility is checked only at three of the corners. Hence, nine linear equality constraints per sub-cell are introduced in matrix form as \({\mathbf{A}}_{U(i)}^{eq} {\mathbf{U}} + {\mathbf{A}}_{\lambda (i)}^{eq} {\dot{\mathbf{\lambda }}}^{(i)} = {\mathbf{0}}\), where \({\mathbf{U}}\) is an array collecting the 7 DOFs describing the microscopic velocity field (i.e. U = {U 1, U 2, W 1, W 2 , U t1 , U t2 W t1 }T), \({\dot{\mathbf{\lambda }}}^{(i)} = \left[ {\begin{array}{*{20}c} {{\dot{\mathbf{\lambda }}}_{A}^{(i)T} } & {{\dot{\mathbf{\lambda }}}_{B}^{(i)T} } & {{\dot{\mathbf{\lambda }}}_{C}^{(i)T} } \\ \end{array} } \right]^{T}\) is an array of 3 m entries, collecting the rates of the plastic multipliers \({\dot{\mathbf{\lambda }}}_{J}^{(i)}\) at three of the corners of the rectangular sub-cell (J = A, B, C), and \({\mathbf{A}}_{U(i)}^{eq}\), \({\mathbf{A}}_{\lambda (i)}^{eq}\) are a 9 × 7 and a 9 × 3 m matrix, respectively. The plastic admissibility conditions are then assembled cell by cell into the following global system of equality constraints:

$${\mathbf{A}}_{U}^{eq} {\mathbf{U}} + {\mathbf{A}}_{\lambda }^{eq} {\dot{\mathbf{\lambda }}} = {\mathbf{0}}$$
(18)

where \({\mathbf{A}}_{U}^{eq} = \left[ {{\mathbf{A}}_{U(1)}^{eqT} , \ldots ,{\mathbf{A}}_{U(6)}^{eqT} } \right]^{T}\), \({\dot{\mathbf{\lambda }}} = \left[ {{\dot{\mathbf{\lambda }}}^{(1)T} , \ldots {\dot{\mathbf{\lambda }}}^{(6)T} } \right]^{T}\), and \({\mathbf{A}}_{\lambda }^{eq}\) is a block matrix of dimension (6.9) × (6.3 m), which can be expressed as:

$${\mathbf{A}}_{\lambda }^{eq} = {\mathbf{A}}_{\lambda (1)}^{eq} \oplus {\mathbf{A}}_{\lambda (2)}^{eq} \oplus \cdots \oplus {\mathbf{A}}_{\lambda (6)}^{eq}$$
(19)

where ⊕ denotes direct sum. Let B and C be a couple of corners at the opposite ends of one of the diagonals of the (i)-th rectangular sub-cell. The internal power dissipated within the sub-cell can be written as:

$$\pi_{in}^{(i)} = \frac{{\varOmega^{(i)} }}{2}\left( {{\mathbf{b}}_{in}^{(i)T} {\dot{\mathbf{\lambda }}}_{B}^{(i)} + {\mathbf{b}}_{in}^{(i)T} {\dot{\mathbf{\lambda }}}_{C}^{(i)} } \right) = \frac{{\varOmega^{(i)} }}{2}\left[ {\begin{array}{*{20}c} {{\mathbf{0}}_{1 \times m} } & {{\mathbf{b}}_{in}^{(i)T} } & {{\mathbf{b}}_{in}^{(i)T} } \\ \end{array} } \right]{\dot{\mathbf{\lambda }}}^{(i)} ,$$
(20)

where 0 m is an array of m zero entries and \(\varOmega^{(i)}\) is the area of the (i)-th sub-cell. The power dissipated inside the whole RVE is obviously the sum of the contributions of each sub-cell, i.e.:

$$\pi_{in} = \sum\limits_{i = 1}^{6} {\frac{{\varOmega^{(i)} }}{2}\left[ {\begin{array}{*{20}c} {{\mathbf{0}}_{1 \times m} } & {{\mathbf{b}}_{in}^{(i)T} } & {{\mathbf{b}}_{in}^{(i)T} } \\ \end{array} } \right]{\dot{\mathbf{\lambda }}}^{(i)} } .$$
(21)

The array of the macroscopic stress components can be expressed as \({\varvec{\Sigma}} = \Lambda \left[ {\begin{array}{*{20}c} \alpha & \beta & \gamma \\ \end{array} } \right]^{T}\), where Λ is the load multiplier and α, β, γ are the director cosines of the direction of \({\varvec{\Sigma}}\) in the space of the homogenized in-plane stresses. The power of the external loads is simply \(\pi_{ex} = \Lambda \left[ {\begin{array}{*{20}c} \alpha & \beta & \gamma \\ \end{array} } \right]{\mathbf{D}}\) with normalization condition given by \(\left[ {\begin{array}{*{20}c} \alpha & \beta & \gamma \\ \end{array} } \right]{\mathbf{D}} = 1.\) Any point of the homogenized failure surface is thus determined solving the following constrained minimization problem:

$${ \hbox{min} }\pi_{\text{in}} \left\{ {{\text{subject}}\;{\text{to}}\left\{ {\begin{array}{*{20}c} {\left[ {\begin{array}{*{20}c} \alpha & \beta & \gamma \\ \end{array} } \right]{\mathbf{D}} = 1} & { ( {\text{a)}}} \\ {{\mathbf{A}}_{U}^{eq} {\mathbf{U}} + {\mathbf{A}}_{\lambda }^{eq} {\dot{\mathbf{\lambda }}} = {\mathbf{0}}} & { ( {\text{b)}}} \\ {{\mathbf{D}} = \frac{1}{A}\int\limits_{\partial Y} {{\mathbf{v}}\mathop \otimes \limits^{s} {\mathbf{n}}dS} } & { ( {\text{c)}}} \\ {{\dot{\mathbf{\lambda }}} \ge {\mathbf{0}}} & { ( {\text{d)}}} \\ \end{array} } \right.} \right.$$
(22)

where (a) is the normalization condition, (b) is the set of equations representing the admissibility of the plastic flow, Eq. (18), and (c) links the homogenized strain rate with the local velocity field. With the iterative solution of Eq. (22), it is possible to easily provide a linearization for \(f({\varvec{\upsigma}})\) the assigned yield surface. Let us indicate with the equation \(A_{i} \sigma_{nn} + B_{i} \sigma_{ns} + C_{i} \sigma_{nt} = 1\) the i-th plane representing \(f({\varvec{\upsigma}})\). In such a way, Eq. (13) simplifies to the equation:

$$\Delta {\tilde{\mathbf{u}}} = \left[ {\begin{array}{*{20}c} {\sum\limits_{i = 1}^{{N^{pl} }} {A_{i} \dot{\lambda }_{{}}^{i} } } \\ {\sum\limits_{i = 1}^{{N^{pl} }} {B_{i} \dot{\lambda }_{{}}^{i} } } \\ {\sum\limits_{i = 1}^{{N^{pl} }} {C_{i} \dot{\lambda }_{{}}^{i} } } \\ \end{array} } \right]$$
(23)

where \(\dot{\lambda }_{{}}^{i}\) is the i-th plane plastic multiplier and N pl is the total number of linearization planes used. The previous constraint must hold for each point P i of each interface. Since for each point of each interface a set of N pl unknown plastic multipliers is defined, the total number of unknown plastic multipliers is equal to N pl(N sd  + 1)2N I .

3.3 Non-negativity of plastic multipliers

An additional constraint, which must be included into the linear programming problem is the non-negativity of each plastic multiplier:

$$\dot{\lambda }_{ij} \ge 0.$$
(24)

3.4 Normality condition

The last condition to be applied is the so-called normality condition which requires that the external power dissipated by the live load \({\mathbf{1}} \cdot \varGamma\) set equal to one, is itself equal to one, i.e.:

$$P_{\varGamma = 1} = 1$$
(25)

This condition allows to rewrite Eq. (10) in the following way:

$$\varGamma = \sum\limits_{i = 1}^{{N_{I} }} {P_{\text{int}}^{i} } - P_{{F_{0} }}$$
(26)

3.5 Internal dissipated power and linear programming problem

On each interface i, covering the surfaceS i , the internal dissipated power is defined as the integral:

$$P_{\text{int}}^{i} = \int\limits_{{S_{i} }} {\varvec{\upsigma}} \cdot \Delta {\tilde{\mathbf{u}}}\,dS$$
(27)

in the local reference system, where both \({\varvec{\upsigma}}\) and \(\Delta {\tilde{\mathbf{u}}}\) have been defined in SubSect. 3.2. Therefore, remembering Eq. (26) and following the kinematic theorem of limit analysis, the related linear programming problem can be stated as follows:

$$\hbox{min} \left\{ {\sum\limits_{i = 1}^{{N_{I} }} {P_{\text{int}}^{i} - P_{{{\mathbf{F}}_{{\mathbf{0}}} }} } } \right\}$$
(28)

under geometric constraints (12), compatibility constraints (23), non-negativity of plastic multipliers constraints (24) and the normality condition (25). The unknowns of the linear programming problem are the 6·N E generalized velocity components of the center of mass of each element and the N pl(N sd  + 1)2N I plastic multipliers at each point of each interface.

4 Genetic algorithm overview

A genetic algorithm (GA) is used to adjust the mesh in order to find the minimum collapse multiplier among all possible configurations and therefore to determine the actual collapse mechanism. A genetic algorithm is a method for solving both constrained and unconstrained optimization problems based on a natural selection process that mimics biological evolution. The algorithm repeatedly modifies a population of individual solutions. At each step, the genetic algorithm randomly selects individuals from the current population and uses them as parents to produce the children for the next generation. Over successive generations, the population “evolves” toward an optimal solution.

A NURBS mesh of the structure is determined by a given number N par of real parameters p 1p 2, …, p Npar , that depend on the type of collapse mechanism which must be detected. A given NURBS mesh is regarded as an individual and each individual, is written as an array with 1 × N par elements:

$$individual = [p_{1} ,p_{2} , \ldots ,p_{Npar} ]$$
(29)

Each individual has a cost, found by evaluating the cost function f at the parameters p 1p 2, …, p Npar . The cost function f is defined as a function whose outputs the collapse load multiplier \(\lambda_{c}\) for every assigned individual (i.e. an assigned mesh on the surface) through the implementation of the limit analysis procedure described in Section 3:

$$\lambda_{c} = f(individual) = f(p_{1} ,p_{2} , \ldots ,p_{Npar} )$$
(30)

To begin the genetic algorithm, we define an initial population of N ipop individuals. More details on the GA adopted are contained in previous papers on the evaluation of the collapse mechanism for vaulted masonry structures [35].

In this paper, a weighted cost selection with assigned probabilities is used [46]. Each pair produces two offspring that contain traits from each parent. Mating is carried out by choosing one or more points in the chromosome to mark as the crossover points and the parameters between these points are merely swapped between the two parents. In this paper a multi-point crossover operator is used and k i  = [1, 2, …, c − 1] crossover points are randomly selected on two individuals (parents) represented by c chromosomes. Moreover, if care is not taken, the genetic algorithm may converge too quickly into one region of the cost surface and this may be not good if the problem we are modeling has several local minima, in which the solution may get trapped. To avoid this problem of overly fast convergence, we force the routine to explore other areas of the cost surface by randomly introducing changes, or mutations, in some of the parameters. A classic mutation operator is applied to all N pop individuals at each generation. For each individual \({\mathbf{p}}_{i}\) the mutation operator works stochastically on all the chromosomes of the individual subject to mutation (i.e. changing at random one of the individual chromosomes in the process of generating offsprings). A mutation probability of 15% has been chosen in this paper. The algorithm described is improved by adding a zooming with elitist strategy (see e.g. [40]) in order to obtain a considerable enhancement of both robustness and efficiency of the algorithm. The zooming technique consists in sub-dividing the initial population into two groups \({\bar{\mathbf{x}}} = \{ {\bar{\mathbf{x}}}_{i} :i = 1, \ldots ,N_{elit} \}\) and \({\mathbf{y}} = {\mathbf{x}} - {\bar{\mathbf{x}}} = \{ {\mathbf{y}}_{i} :i = 1, \ldots ,N_{pop} - N_{elit} \}\) and in collecting at each iteration the individuals with higher fitness into an “elite” sub-population with user defined dimension N elit . Afterwards, for each individual belonging to group \({\bar{\mathbf{x}}}\), only a mutation with high probability is applied (i.e. not crossover) in order to improve individual fitness. From a practical point of view, zooming has to be a priori set by the user by means of the so called zooming percentage \(z_{\% }\) defined as the percentage ratio between initial population size N pop and \({\bar{\mathbf{x}}}\) sub-population size N elit . Even if zooming percentage is taken constant in this paper (equal to 5%) \(z_{\% }\) can be reduced if necessary ad libitum passing from the i-th iteration to the successive one following an exponential reduction.

5 Structural examples

This Section is devoted to illustrate the GA-NURBS procedure applied to the structural assessment of out-of-plane loaded masonry walls through a number of meaningful numerical simulations. The first two simulations concern masonry walls in two-way bending and differently constrained at the edges, the first one without openings and the second one with a rectangular opening. Such case studies have been already analyzed both experimentally and numerically in [4749]. In the third example, the more complex case of a masonry façade constrained by two orthogonal panels is discussed. In the last example, the whole façade of the Italian historical church of S. Pietro in Coppito [50], severely damaged during L’Aquila earthquake in 2009, is taken into consideration. Materials parameters assumed for all the simulations are summarized in Table 1, where fk denotes compressive strength of masonry, ft tensile strength, and fvk0 shear strength.

Table 1 Material parameters used in the simulations

5.1 Panel in two-way bending without openings

Experimental tests on five solid clay panels (labeled from SB01 and SB05) with and without openings where carried out in [47]. Of those specimens, only panel SB01 without openings, depicted in (Fig. 6), is replicated in this Subsection. All the panels of the experimental campaign, having dimensions 5615 × 2475 × 102 mm, were built in stretcher bond between two stiff abutments with the vertical edges simply supported (allowance for in-plane displacements was provided) and the top edge free. The panels were loaded by air-bags until failure with increasing out-of-plane pressure p. During the tests, the air pressure and the displacement d for the middle point of the free edge were monitored. Masonry parameters adopted are taken from [47] and [48] (see Table 1); a null value of specific weight is assumed to replicate experimental condition [47].

Fig. 6
figure 6

Geometry and constraints of SB01 masonry panel without openings tested in [47]

The initial NURBS mesh of the panel surface is composed of ten quadrangular elements (Fig. 7a), obtained by subdividing the parameters space starting from a 3 × 6 lattice of nodes. Four nodes, corresponding to the vertexes of the wall, are fixed. The genetic algorithm allows evaluating the optimal position of the remaining fourteen free nodes, in order to minimize the collapse load multiplier and therefore obtain the actual failure mechanism.

Fig. 7
figure 7

SB01 masonry panel without openings tested in [47]. a Initial mesh, b Final mesh obtained through the proposed GA-NURBS procedure. c Failure mechanism through the proposed GA-NURBS procedure. d Convergence of the GA towards the optimal solution in terms of best and mean fitness value. e Failure mechanism obtained by FEM homogenized limit analysis [49]. f Comparison in terms of collapse load with experiments and other numerical approaches [4749, 51]

The position of every node is governed by two parameters, except for edge-nodes that are ruled by a single parameter and the four vertex-nodes, which are kept fixed. Thus, the general problem is governed by a total of eighteen parameter. It must be observed that, for the specific load configuration here considered, symmetry allows to reduce the number of governing parameters to nine.

In the genetic algorithm an initial population of 20 individuals has been chosen, each individual being a nine-element vector.

A collapse load p = 2.69 kN/m2 has been obtained. Figure 7a, b show the initial and the final mesh of the masonry wall, whereas Fig. 7c depicts the computed failure mechanism. As can be seen in Fig. 7d, the algorithm has a quite fast convergence towards the optimal solution and the best fitness value is obtained after about forty generations. Finally, a good agreement can be found when comparing the obtained results using the proposed GA-NURBS approach with the outcomes from both original experiments and different numerical procedures found in literature.

In Fig. 7e, f, the failure mechanism computed in [49] though a finite-element homogenized limit analysis approach and both experimental and numerical out-of-plane force–displacement curves referred to Specimen SB01 are reported. As expected, the proposed GA-NURBS approach tends to slightly overestimate the actual collapse load (upper bound theorem of limit analysis).

Due to efficiency and ease of use of the algorithm, a sensitivity analysis has been conducted on the geometrical parameters defining wall dimensions. Figure 8 depicts the obtained failure mechanisms for two different aspect ratios, l/h = 4, l/h = 1.3 and l/h = 1, whereas Fig. 9 gives a representation of the dependence of the collapse load on the aspect ratio. As it could expected, ceteris paribus, an increase in the bearing capacity is detected with the decrease of the ratio l/h.

Fig. 8
figure 8

Failure mechanisms obtained for two different aspect ratios of the wall. a l/h = 4, b l/h = 1.3, c l/h = 1

Fig. 9
figure 9

Dependence of the collapse load on the aspect ratio

5.2 Panel in two-way bending with a rectangular opening

In the present example, the panel SB02 with a rectangular opening experimentally tested in [47] is analyzed. External geometric dimensions and load conditions are described in the previous Subsection. The rectangular opening has dimensions 2260 × 1125 mm. Masonry parameters adopted are the same of the previous Section and a null value of specific weight is assumed to replicate experimental condition [47] (Fig. 10).

Fig. 10
figure 10

Geometry and constraints of SB02 masonry panel tested in [47]

The initial NURBS mesh of the panel surface is composed of sixteen quadrangular elements, obtained by subdividing the parameters space as described in Sect. 2 starting from a 5 × 5 lattice of nodes. Four nodes, corresponding to the four external vertexes of the wall, are fixed. The genetic algorithm allows evaluating the optimal position of the remaining twenty-one nodes, in order to minimize the collapse load multiplier and therefore obtain the actual failure mechanism. The position of every node is governed by two parameters, except for edge-nodes that are ruled by a single parameter. Thus, the general problem so, is governed by a total of thirty parameters. It must be observed that, for the specific load configuration here considered, symmetry allows to reduce the number of governing parameters to fourteen. In the genetic algorithm an initial population of 20 individuals have been chosen, each individual being a fourteen-element vector. A collapse load p = 2.19 kN/m2 has been obtained. Figure 11a, b show the initial and final mesh of the masonry wall, whereas Fig. 11c depicts the computed failure mechanism. It can be shown that the sensitivity of the resulting failure mechanism to initial mesh size and location is very low, provided that initial mesh do not comprise excessively elongated or very irregular elements which might trigger numerical instabilities. It has also to be pointed out that the strength of the method relies in the capability of producing good results starting from a very coarse mesh. Thus, the use of finer meshes is not advisable since it reduces the computational advantage provided by the procedure. As can be seen in Fig. 11d, the algorithm has a quite fast convergence towards the optimal solution and the best fitness value is obtained after about forty generations. Finally, a good agreement can be found when comparing the obtained results using the proposed GA-NURBS approach with the outcomes from both original experiments and different numerical procedures found in literature. It has to be observed that, in this case, the collapse load obtained with GA-NURBS procedure (2.19 kN/m2) is more accurate in comparison with the result of upper bound homogenized limit analysis of [48] (2.66 kN/m2). In Fig. 11e, the failure mechanism computed in [49] through a finite-element homogenized limit analysis approach is shown whereas in Fig. 11f experimental and numerical out-of-plane force–displacement curves referred to Specimen SB02 are reported.

Fig. 11
figure 11

SB02 masonry panel with a rectangular opening tested in [47]. a Initial mesh. b Final mesh obtained through the proposed GA-NURBS procedure. c Failure mechanism through the proposed GA-NURBS procedure. d Convergence of the GA towards the optimal solution in terms of best and mean fitness value. e Failure mechanism obtained by FEM homogenized limit analysis [49]. f Comparison in terms of collapse load with experiments and other numerical approaches [4749, 51]

5.3 Rectangular masonry panel with side walls

In the following third example, the case of a masonry panel restrained by two orthogonal walls is considered. The example is representative of the common occurrence in which a masonry wall is connected to one or more orthogonal panels.

Geometry and load condition of the system are depicted in Fig. 12. Each wall has dimensions 6000 × 6000 × 500 mm. A triangular pressure distribution on the principal restrained wall is applied. Furthermore, traversal walls are loaded with an in-plane triangular distribution of forces. A fixed rotation constraint is assigned to the free side of the two orthogonal restraining walls.

Fig. 12
figure 12

Geometry and load condition for the system of walls considered in Subsection 5.3

The initial NURBS mesh of the system is composed of ten quadrangular elements (two for the restrained wall and four for each restraining panel), obtained by subdividing the parameters space as described in Sect. 2 starting from a suitable lattice of nodes. Eight nodes, corresponding to the vertexes of the three walls are fixed. The genetic algorithm allows evaluating the optimal position of the remaining ten nodes, in order to minimize the collapse load multiplier and therefore obtain the actual failure mechanism. The general problem is here governed by a total of twelve parameters. It must be observed that, for the specific load configuration here considered, symmetry allows to reduce the number of governing parameters to six. In the genetic algorithm an initial population of 20 individuals has been chosen, each individual being a six-element vector.

Due to efficiency and ease of procedure, it has been possible to conduct a number of different analyses, in order to evaluate the sensitivity of the solution on the material parameters. Different parameters of resistance have been adopted for principal façade, lateral walls, and interfaces between principal and lateral walls (so that quality of connection between walls can be taken into account). In particular, different values of tensile strength (ft) and shear stress (fvk0) have been adopted (see Table 1), whereas compressive strength (fk) is assumed constant and equal to 2.4 MPa. For the principal façade, tensile and shear strength are always equal to 0.2 MPa. Two set of simulations have been conducted.

In the first group of analyses a good quality of connection between orthogonal walls has been assumed and a value of 0.3 MPa for both ft and fvk0 has been adopted for interfaces between lateral walls and façade. For lateral walls, three different tensile and shear strength values were adopted, namely 0.01, 0.05, 0.1 and 0.2 MPa.

In the second set of simulations, a good quality of lateral walls has been hypothesized and, therefore, a value of 0.2 MPa for both ft and fvk0 has been adopted. On the other hand, for interfaces between lateral load and façade, three different tensile and shear strength values were adopted, namely 0.01, 0.05, 0.1 and 0.2 MPa.

Figure 13a, b depicts respectively the computed failure mechanisms for cases ft = fvk0 = 0.01 MPa and ft = fvk0 = 0.2 MPa in lateral walls, with good quality of connections (ft = fvk0 = 0.3 MPa along interfaces between orthogonal walls), whereas Fig. 13c shows the dependence of collapse load on the quality of masonry in lateral walls. As can be inferred from Fig. 13a, b, an increase in the fracture-angle can be observed when considering better quality masonry of lateral walls.

Fig. 13
figure 13

Three walls masonry system: good quality of connection (ft = fvk0 = 0.3 MPa along interfaces between lateral walls and façade). a Failure mechanism obtained through the proposed GA-NURBS procedure with ft = fvk0 = 0.01 in lateral walls. b Failure mechanism obtained through the proposed GA-NURBS procedure with ft = fvk0 = 0.2 in lateral walls. c Dependence of collapse load on tensile and shear strength of lateral walls

Figure 14a, b depicts respectively the computed failure mechanisms for cases ft = fvk0 = 0.01 MPa and ft = fvk0 = 0.2 MPa along interfaces between façade and lateral walls, with good quality of lateral walls (ft = fvk0 = 0.2 MPa for masonry), whereas Fig. 13c shows the dependence of collapse load on quality of connections. In the case depicted in Fig. 14a simple overturning of the principal façade is observed, as it was expected; in the second case, depicted in Fig. 14b, a portion of side walls is involved in the overturning as well. Generally, from Figs. 13 and 14 it can be observed that failure mechanism is dependent on material parameters assigned to each structural element.

Fig. 14
figure 14

Three walls masonry system: good quality of lateral walls (ft = fvk0 = 0.2 MPa). a Failure mechanism obtained through the proposed GA-NURBS procedure with ft = fvk0 = 0.01 along lateral walls to façade connection interfaces. b Failure mechanism obtained through the proposed GA-NURBS procedure with ft = fvk0 = 0.2 in border lines. c Dependence of collapse load on tensile and shear strength between principal façade and lateral walls

5.4 Façade of the S. Pietro in Coppito historical church

The last example here presented deals with the masonry façade of the S. Pietro in Coppito church [50]. The church of San Pietro di Coppito in L’Aquila, damaged by the April 6, 2009 earthquake, dates to the mid-13th century; it was progressively transformed up to the 19th century and then restored to its initial appearance in 1969–1972. The church features a central nave and a single aisle, and is therefore highly asymmetrical along its length, the transept is split into two parts of different shapes and heights. An octagonal bell-tower, having internal winding stairs, is partially incorporated into the external wall of the church. The most significant and visible damage the church incurred during the earthquake involves the façade and the bell tower; the top portion of the façade is unconstrained, since the back portion of the church roof does not reach the same height. The façade of the church and its geometry, characterized by complex openings of circular and semicircular shape, are depicted in Fig. 15.

Fig. 15
figure 15

S. Pietro in Coppito façade [50] (a) and geometrical dimensions (b)

A NURBS description of the surface comes particularly handy in the present case, since NURBS allows for an exact representation of openings of arbitrarily complex geometry. Two models have been considered in the analysis. In the first model, only the façade is considered (Fig. 16a). Low quality masonry has been assumed for the façade: a value of 0.05 MPa have been adopted for both tensile and shear strength (see Table 1). Two load conditions have been applied: a triangular out-of-plane pressure linearly increasing with height (Fig. 16c), and an asymmetric linear out-of-plane pressure distribution increasing with both height and length (Fig. 16d).

Fig. 16
figure 16

S. Pietro in Coppito façade, first model. a Geometry and constraint conditions. b Rhino 3D-NURBS model. c First load condition. d Second load condition. e Failure mechanism obtained through GA-NURBS procedure for the first load condition. f Failure mechanism obtained through GA-NURBS procedure for the second load condition

The second load condition follows from the observation of the failure mechanism actually occurred after L’Aquila 2009 earthquake: as explained in [50], the façade could have been subjected to non-uniform acceleration, as suggested by its rotation around a vertical axis. The initial NURBS mesh of the panel surface is composed of sixteen quadrangular elements, obtained by subdividing the parameters space as described in Sect. 2 starting from a 5 × 5 lattice of nodes. Four nodes, corresponding to the extremal vertexes of the wall are fixed. The genetic algorithm allows evaluating the optimal position of the remaining twenty-one nodes, in order to minimize the collapse load multiplier and therefore obtain the actual failure mechanism. The position of every node is governed by two parameters, except for edge-nodes that are ruled by a single parameter. Therefore, the general problem is governed by a total of thirty parameters. It must be observed that, for the first load configuration here considered, symmetry allows to reduce the number of governing parameters to fourteen. In the genetic algorithm an initial population of 20 individuals has been chosen, each individual being a thirty-element vector (fourteen-element vector for the first load condition). Failure mechanisms obtained with the proposed GA-NURBS approach are depicted in Fig. 16e, f.

In the second model, traversal walls have been considered as well. All the walls are assumed with fixed constraints at the base (Fig. 17a). A good shear strength is adopted (fvk0 = 0.3 MPa, as reported in Table 1), whereas a tensile strength equal to 0.05 MPa is assumed. Again, the same two load conditions for the façade have been considered (Fig. 17c, d). In this case, lateral walls have been subdivided into quadrangular elements starting from a 3 × 4 lattice of nodes, but nodes translated by genetic algorithm are the same of the first one. Figure 17e, f shows the failure mechanism obtained through the proposed GA-NURBS limit analysis.

Fig. 17
figure 17

S. Pietro in Coppito façade, second model. a Geometry and constraint conditions. b Rhino 3D-NURBS model. c First load condition. d Second load condition. e Failure mechanism obtained through GA-NURBS procedure for the first load condition. f Failure mechanism obtained through GA-NURBS procedure for the second load condition

Finally, it should be noticed that there is a good agreement between the failure mechanism shown in Fig. 17f (also reported in Fig. 18a) and the actual collapse mechanism occurred after L’Aquila 2009 earthquake (Fig. 18c), i.e. the local collapse of the upper left corner of façade. A collapse maximum pressure λp = 26.09 kN/m2 has been obtained. In Fig. 18b convergences of the GA towards the optimal solution are depicted: optimal solution is found by GA after about ten generations. It should be noted that peaks in mean fitness shown in Fig. 18b are due to the random mutations introduced at each generation in order to improve the ability of the GA to get to the global minimum. However, best fitness value exhibits a very good convergence to the solution.

Fig. 18
figure 18

S. Pietro in Coppito façade. a Failure mechanism obtained with the proposed GA-NURBS procedure: second model, second load condition. b Convergence of the GA towards the optimal solution in terms of best and mean fitness value. c The actual façade after L’Aquila 2009 earthquake

6 Conclusions

A new GA-NURBS based approach for the kinematic limit analysis of out-of-plane loaded masonry walls with openings of general shape is presented. The main idea consists into exploiting properties of NURBS functions to develop a computationally efficient adaptive limit analysis procedure which allows to quickly evaluate the failure mechanism and collapse load multiplier of any given out-of-plane loaded masonry wall starting from its three dimensional model, which can be obtained with any free form modeler (e.g. Rhinoceros) natively working with NURBS entities. It is therefore possible to bridge the 3D modeling environment, which is very popular among professional engineers and architects, with a structural limit analysis environment in the most natural way, thus requiring the least effort to the final user and providing a high computational efficiency. One of the main advantages over existing procedures implemented in commercial software is the fact that a priori knowledge of the actual failure mechanism is not required.

Through a number of simulations and comparisons with both numerical and experimental results, the approach has shown to be able to well predicting the load bearing capacity of any arbitrary out-of-plane loaded masonry wall.

The strength of the method lies in the fact that it is possible to get accurate results by using very few elements. Such peculiarity allows to maximize both accuracy and computational speed.

The proposed GA-NURBS approach could be further extended following different directions. In particular, future research work will include the increasing of the computational efficiency, the implementation of the capability of accounting for the presence of FRP reinforcement on both sides of a given masonry wall and the implementation of an equilibrium formulation for limit analysis, which allows for a lower bound estimation of the collapse load. In fact, a lower bound estimation of the collapse load can be especially useful since it would give a precise indication of the accuracy of the solution determined through the kinematic (upper bound) formulation discussed in the present work.