### 2.1 A brief review of NURBS basis functions and surfaces

#### 2.1.1 Knot vectors and basis functions and surfaces

Let *Ξ*=[*ξ*_{1},*ξ*_{2},…,*ξ*_{n+p+1}] be a nondecreasing sequence of parameter values, *ξ*_{
i
}≤*ξ*_{i+1},*i*=1,…,*n*+*p*, where *p* is the polynomial order and *n* is the number of basis functions. The *ξ*_{
i
} are called knots, and *Ξ* is the set of coordinates in the parametric space. The knot vector is called uniform if all knots are equally spaced. If the first and the last knots are reduplicated *p*+1 times, the knot vector is known as open. A B-spline basis function is *C*^{∞} continuous inside a knot span and *C*^{p−1} continuous at a single knot. A knot value can appear more than once and is then called a multiple knot. At a knot of multiplicity *k*, the continuity is *C*^{p−k}. Given a knot vector, the B-spline basis functions *N*_{i,p}(*ξ*) of order *p* = 0 are defined as follows:

{N}_{i,0}\left(\xi \right)=\left\{\begin{array}{cc}1& \phantom{\rule{1em}{0ex}}{\xi}_{i}\le \xi <{\xi}_{i+1}\\ 0& \phantom{\rule{1em}{0ex}}\text{otherwise}\end{array}\right.

(1)

The basis function of order *p*>0 is defined by the following recursion formula [33]

{N}_{i,p}\left(\xi \right)=\frac{\xi -{\xi}_{i}}{{\xi}_{i+p}-{\xi}_{i}}{N}_{i,p-1}\left(\xi \right)+\frac{{\xi}_{i+p+1}-\xi}{{\xi}_{i+p+1}-{\xi}_{i+1}}{N}_{i+1,p-1}\left(\xi \right)\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\text{with}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}p=(1,2,3,\dots )

(2)

For *p* = 0 and 1, the basis functions of isogeometric analysis are identical to those of standard piecewise constant and linear finite elements, respectively. Nevertheless, for *p*≥2, they are different [17]. Therefore, the present work will consider only basis functions with *p*≥2. Figures 1 and 2 illustrate a set of one-dimensional (1D) and two-dimensional (2D) quadratic and cubic B-spline basis functions for open uniform knot vectors \Xi =\left\{0,0,0,\frac{1}{2},1,1,1\right\} and \Xi =\left\{0,0,0,0,\frac{1}{2},1,1,1,1\right\}, respectively.

#### 2.1.2 NURBS surfaces

A B-spline curve is defined as

\mathbf{C}\left(\xi \right)=\sum _{i=1}^{n}{N}_{i,p}\left(\xi \right){\mathbf{P}}_{i}

(3)

where **P**_{
i
} are the control points, *n* denotes the number of control points and *N*_{i,p}(*ξ*) is the *p* th-degree B-spline basis function defined on the open knot vector.

Given two knot vectors *Ξ*={*ξ*_{1},*ξ*_{2},…,*ξ*_{n+p+1}} and and a control net **p**_{i,j}, a tensor-product B-spline surface is defined as

\mathbf{S}\left(\xi ,\eta \right)=\sum _{i=1}^{n}\sum _{j=1}^{m}{N}_{i,p}\left(\xi \right){M}_{j,q}\left(\eta \right){\mathbf{p}}_{i,j}

(4)

where *N*_{i,p}(*ξ*) and *M*_{j,q}(*η*) are the B-spline basis functions defined on the knot vectors *Ξ* and , respectively.

In a finite element context, we identify the logical coordinates (*i*, *j*) of B-spline surfaces with the traditional notation of a ‘node’ *I*[24] and rewrite Equation 4 as follows:

\mathbf{S}\left(\xi ,\eta \right)=\sum _{I}^{n\times m}{N}_{I}^{b}\left(\xi ,\eta \right){\mathbf{P}}_{I}

(5)

where {N}_{I}^{b}\left(\xi ,\eta \right)={N}_{i,p}\left(\xi \right){M}_{j,q}\left(\eta \right) is the shape function associated with a node *I*. The superscript *b* indicates that {N}_{I}^{b}(\xi ,\eta ) is a B-spline shape function.

Non-uniform rational B-splines (NURBS) are obtained by augmenting every point in the control mesh **P**_{
I
} with the control weight *ζ*_{
I
}. The weighting function is constructed as follows:

{\zeta}_{g}\left(\xi ,\eta \right)=\sum _{I=1}^{n\times m}{N}_{I}^{b}\left(\xi ,\eta \right){\zeta}_{I}

(6)

The NURBS surfaces are then defined by

\mathbf{S}\left(\xi ,\eta \right)=\frac{\sum _{I=1}^{n\times m}{N}_{I}^{b}\left(\xi ,\eta \right){\zeta}_{I}{\mathbf{P}}_{I}}{{\zeta}_{g}\left(\xi ,\eta \right)}=\sum _{I=1}^{n\times m}{N}_{I}\left(\xi ,\eta \right){\mathbf{P}}_{I}

(7)

where {N}_{I}\left(\xi ,\eta \right)={N}_{I}^{b}\left(\xi ,\eta \right){\zeta}_{I}/{\zeta}_{g}\left(\xi ,\eta \right) are NURBS basis functions. An example of a quadratic NURBS surface with 4×4 elements is indicated in Figure 3.

### 2.2 Rotation-free isogeometric formulation for upper bound limit analysis of plates

#### 2.2.1 A background on limit analysis theorems of thin plates

Let \Omega \subset {\mathbb{R}}^{2} be the mid-plane of a plate and \stackrel{\u0307}{w} be the transversal displacement velocity (or deflection velocity) in the *z* direction. Further, let us consider a kinematical boundary {\Gamma}_{1}={\Gamma}_{w}\cup {\Gamma}_{{w}_{n}} and a static boundary {\Gamma}_{2}={\Gamma}_{m}\cup {\Gamma}_{{m}_{n}}, where the subscript **n** stands for the outward normal vector. The general relations for thin Kirchhoff plates are described as follows.

*Equilibrium*

Collecting the bending moments in the vector **m**^{T}= [*m*_{
xx
},*m*_{
yy
},*m*_{
xy
}], the equilibrium equation can be written as

{\left({\nabla}^{2}\right)}^{T}\mathbf{m}+\lambda \stackrel{\u0304}{q}=0

(8)

where \stackrel{\u0304}{q} is the transverse load, *λ* is the collapse load multiplier and the differential operator ∇^{2} is defined by {\nabla}^{2}=\phantom{\rule{0.3em}{0ex}}{\left[\phantom{\rule{0.3em}{0ex}}\frac{{\partial}^{2}}{\partial {x}^{2}}\phantom{\rule{2.77626pt}{0ex}}\phantom{\rule{0.3em}{0ex}}\frac{{\partial}^{2}}{\partial {y}^{2}}\phantom{\rule{2.77626pt}{0ex}}\phantom{\rule{0.3em}{0ex}}2\frac{{\partial}^{2}}{\mathrm{\partial x\partial y}}\right]}^{T}.

*Compatibility*

If *w* denotes the transverse displacement velocity, the curvature rates can be expressed by the following relation

\stackrel{\u0307}{\mathit{\kappa}}=\phantom{\rule{0.3em}{0ex}}{\left[{\stackrel{\u0307}{\kappa}}_{\mathit{\text{xx}}},{\stackrel{\u0307}{\kappa}}_{\mathit{\text{yy}}},2{\stackrel{\u0307}{\kappa}}_{\mathit{\text{xy}}}\right]}^{T}={\nabla}^{2}\stackrel{\u0307}{w}

(9)

*Flow rule and yield condition*

In the framework of a limit analysis problem, only plastic strains are considered and are assumed to obey the normality rule \stackrel{\u0307}{\mathit{\kappa}}=\stackrel{\u0307}{\mathbf{\mu}}\frac{\mathrm{\partial \psi}}{\partial \mathbf{m}}, where the plastic multiplier \stackrel{\u0307}{\mathbf{\mu}} is non-negative and the yield function *ψ*(**m**) is convex. In this study, the von Mises failure criterion in the space of moment components is used

\psi \left(\mathbf{m}\right)=\sqrt{{\mathbf{m}}^{T}\phantom{\rule{2.77626pt}{0ex}}\mathbf{P}\phantom{\rule{2.77626pt}{0ex}}\mathbf{m}}-{m}_{p}\le 0

(10)

where *m*_{
p
}=*σ*_{0}*t*^{2}/4 is the plastic moment of resistance per unit width of a plate of uniform thickness *t*, *σ*_{0} is the yield stress and

\mathbf{P}=\frac{1}{2}\left[\begin{array}{ccc}2& -1& 0\\ -1& 2& 0\\ 0& 0& 6\end{array}\right]

(11)

*The dissipation rate*

The internal dissipation power of the two-dimensional plate domain can be written as a function of the curvature rates as

{D}_{p}\left(\stackrel{\u0307}{\mathit{\kappa}}\right)=\underset{\Omega}{\int}\underset{-t/2}{\overset{t/2}{\int}}{\sigma}_{0}\sqrt{{\stackrel{\u0307}{\mathit{\epsilon}}}^{T}\mathit{\Theta}\stackrel{\u0307}{\mathit{\epsilon}}}\phantom{\rule{2.77626pt}{0ex}}\text{dz}\phantom{\rule{2.77626pt}{0ex}}\text{d}A={m}_{p}\underset{\Omega}{\int}\sqrt{{\stackrel{\u0307}{\mathit{\kappa}}}^{T}\mathit{\Theta}\phantom{\rule{2.77626pt}{0ex}}\stackrel{\u0307}{\mathit{\kappa}}}\phantom{\rule{0.3em}{0ex}}\text{d}\Omega

(12)

where

\stackrel{\u0307}{\mathit{\epsilon}}=\left[\begin{array}{c}{\stackrel{\u0307}{\epsilon}}_{\mathit{\text{xx}}}\\ {\stackrel{\u0307}{\epsilon}}_{\mathit{\text{yy}}}\\ {\stackrel{\u0307}{\gamma}}_{\mathit{\text{xy}}}\end{array}\right]=z\stackrel{\u0307}{\mathit{\kappa}}

(13)

and

\phantom{\rule{1em}{0ex}}\Theta ={\mathbf{P}}^{-1}=\frac{1}{3}\left[\begin{array}{ccc}4& 2& 0\\ 2& 4& 0\\ 0& 0& 1\end{array}\right]

(14)

Details on the derivation of the dissipation for plate problems can be found in [2]. Let it be pointed out that, here, the velocity fields are supposed to be *C*^{1}-continuous. In fact, more general fields presenting discontinuities of the normal rotation are possible. In this case, the expression of the dissipation power includes a supplementary term. For more details on this aspect, we refer to [6].

Let denote a space of kinematically admissible velocity field:

and *Σ* be an appropriate space of symmetric stress tensors and *B* is a set of essential boundary conditions defined in subsection ‘Essential boundary conditions’. More details on the mathematical formulations for limit analysis can be found in [36]. The external work rate of a transversal force \stackrel{\u0304}{q} associated with a virtual plastic flow is expressed in the linear form as

{W}_{\text{ex}}\left(\stackrel{\u0307}{w}\right)=\underset{\Omega}{\int}\stackrel{\u0304}{q}\stackrel{\u0307}{w}\phantom{\rule{0.3em}{0ex}}\text{d}\Omega

(16)

The internal work rate for sufficiently smooth stresses (or moments) **m** and velocity field \stackrel{\u0307}{w} is given by the bilinear form

{W}_{\text{in}}(\mathbf{m},\stackrel{\u0307}{w})=\underset{\Omega}{\int}{\mathbf{m}}^{T}\mathit{\kappa}\left(\stackrel{\u0307}{w}\right)\phantom{\rule{0.3em}{0ex}}\text{d}\Omega

(17)

The equilibrium equation is then described in the form of virtual work rate as follows:

Furthermore, the stresses **m** must satisfy the yield condition for the assumed material. This stress field belongs to a convex set, , obtained from the used field condition. For the von Mises criterion, one writes

If defining , the exact collapse multiplier *λ*_{exact} can be determined by solving any of the following optimization problems [36]:

Problems (20) and (23) are known as static and kinematic principles of limit analysis, respectively. The limit load of both approaches converges to the exact solution. Herein, a saddle point ({\mathbf{m}}^{\ast},{\stackrel{\u0307}{w}}^{\ast}) exists such that both the maximum of all lower bounds *λ*^{−} and the minimum of all upper bounds *λ*^{+} coincide and are equal to the exact value *λ*_{exact}. In this work, we only focus on the kinematic formulation. Hence, problem (23) will be used to evaluate an upper-bound limit load factor using a NURBS-based isogeometric approach.

#### 2.2.2 NURBS-based approximate formulation

Using the same NURBS basis functions, both the description of the geometry (or the physical point) and the velocity of the displacement field are expressed as

\mathbf{x}(\xi ,\eta )=\sum _{I}^{n\times m}{N}_{I}\left(\xi ,\eta \right){\mathbf{P}}_{I},\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}{\stackrel{\u0307}{w}}^{h}\left(\mathbf{x}\right(\xi ,\eta \left)\right)=\sum _{I}^{n\times m}{N}_{I}\left(\xi ,\eta \right){\stackrel{\u0307}{w}}_{I}

(24)

where *n*×*m* represent the number of basis functions, **x**^{T}=(*x*,*y*) is the physical coordinates vector, *N*_{
I
}(*ξ*,*η*) is the NURBS basis function and {\stackrel{\u0307}{w}}_{I} is the nodal value of {\stackrel{\u0307}{w}}^{h} at the control point *I*, respectively.

The curvature rates are written as

\stackrel{\u0307}{\mathit{\kappa}}=\sum _{I}{\mathbf{B}}_{I}{\stackrel{\u0307}{w}}_{I}

(25)

where

{\mathbf{B}}_{I}={\left[\begin{array}{ccc}{N}_{I,\mathit{\text{xx}}}& {N}_{I,\mathit{\text{yy}}}& 2{N}_{I,\mathit{\text{xy}}}\end{array}\right]}^{T}

(26)

The plastic dissipation power (Equation 12) of the perfectly rigid plastic body is computed over all patches:

{D}_{p}^{h}={m}_{p}\underset{\Omega}{\int}\sqrt{{\stackrel{\u0307}{\mathit{\kappa}}}^{T}\phantom{\rule{1em}{0ex}}\Theta \stackrel{\u0307}{\mathit{\kappa}}}\phantom{\rule{0.3em}{0ex}}\text{d}\Omega ={m}_{p}\sum _{e=1}^{\text{nel}}\underset{{\Omega}^{e}}{\int}\sqrt{{\stackrel{\u0307}{\mathit{\kappa}}}^{T}\mathit{\Theta}\stackrel{\u0307}{\mathit{\kappa}}}\phantom{\rule{0.3em}{0ex}}\text{d}\Omega

(27)

where nel denotes the total number of elements. The integration \underset{{\Omega}^{e}}{\int}\sqrt{{\stackrel{\u0307}{\mathit{\kappa}}}^{T}\mathit{\Theta}\stackrel{\u0307}{\mathit{\kappa}}}\phantom{\rule{0.3em}{0ex}}\text{d}\Omega in Equation 27 is approximated using the Gaussian quadrature rule [17] which allows Equation 27 to be rewritten as

{D}_{p}^{h}\approx {m}_{p}\sum _{i=1}^{\text{NG}}{\stackrel{\u0304}{\omega}}_{i}\left|{\mathbf{J}}_{i}\right|\sqrt{{\stackrel{\u0307}{\mathit{\kappa}}}_{i}^{T}\mathit{\Theta}\phantom{\rule{0.3em}{0ex}}{\stackrel{\u0307}{\mathit{\kappa}}}_{i}}

(28)

where *N* *G*=*n* *e* *l*×*n* *G* is the total number of Gauss points of the problem, nG is the number of Gauss points in each element, {\stackrel{\u0304}{\omega}}_{i} is the weight value at the Gauss point *i* and |**J**_{
i
}| is the determinant of the Jacobian matrix computed at the Gauss point *i*.

The curvature rate \stackrel{\u0307}{\mathit{\kappa}} is now evaluated at Gauss points as

{\stackrel{\u0307}{\mathit{\kappa}}}_{i}={\mathbf{B}}_{i}\stackrel{\u0307}{\mathbf{w}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\forall i=\overline{1,\text{NG}}

(29)

where **B**_{
i
} is defined as the global deformation matrix and {\stackrel{\u0307}{\mathbf{w}}}^{T}=\phantom{\rule{0.3em}{0ex}}[\phantom{\rule{0.3em}{0ex}}{\stackrel{\u0307}{w}}_{1},{\stackrel{\u0307}{w}}_{2},\dots ,{\stackrel{\u0307}{w}}_{\text{nCP}}] is the global displacement velocity vector, in which nCP is the total control points of the problem. The external work rate given in Equation 16 is also computed at Gauss points as

{W}_{\text{ext}}\left(\stackrel{\u0307}{w}\right)=\sum _{i=1}^{\text{NG}}\stackrel{\u0304}{q}\stackrel{\u0304}{{\omega}_{i}}\left|{\mathbf{J}}_{i}\right|\mathbf{N}({\stackrel{\u0304}{\xi}}_{i},{\stackrel{\u0304}{\eta}}_{i})\stackrel{\u0307}{\mathbf{w}}=1

(30)

where \mathbf{N}=\phantom{\rule{0.3em}{0ex}}\left[\phantom{\rule{0.3em}{0ex}}{N}_{1}\right({\stackrel{\u0304}{\xi}}_{i},{\stackrel{\u0304}{\eta}}_{i}),{N}_{2}({\stackrel{\u0304}{\xi}}_{i},{\stackrel{\u0304}{\eta}}_{i}),\dots ,{N}_{\text{nCP}}({\stackrel{\u0304}{\xi}}_{i},{\stackrel{\u0304}{\eta}}_{i}\left)\right] is the global basic function vector and ({\stackrel{\u0304}{\xi}}_{i},{\stackrel{\u0304}{\eta}}_{i}) is the Gaussian quadrature point in a bi-unit parent element.

Finally, the optimization problem (23) associated with the IGA can now be rewritten as

\begin{array}{cc}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}{\lambda}^{+}& =min\phantom{\rule{2.77626pt}{0ex}}{m}_{p}\sum _{i=1}^{\text{NG}}{\stackrel{\u0304}{\omega}}_{i}\left|{\mathbf{J}}_{i}\right|\sqrt{{\stackrel{\u0307}{\mathit{\kappa}}}_{i}^{T}\mathit{\Theta}\phantom{\rule{0.3em}{0ex}}{\stackrel{\u0307}{\mathit{\kappa}}}_{i}}\\ \phantom{\rule{1em}{0ex}}\phantom{\rule{0.3em}{0ex}}\phantom{\rule{0.3em}{0ex}}\phantom{\rule{0.3em}{0ex}}\text{s.t}\left\{\begin{array}{c}{\stackrel{\u0307}{\mathit{\kappa}}}_{i}={\mathbf{B}}_{i}\stackrel{\u0307}{\mathbf{w}},\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\forall i=\overline{1,\text{NG}}\\ \stackrel{\u0307}{w}=0\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\text{and}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\stackrel{\u0307}{{w}_{n}}=0\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\text{on}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}{\Gamma}_{1}\\ {W}_{\text{ext}}\left(\stackrel{\u0307}{w}\right)=\sum _{i=1}^{\text{NG}}\stackrel{\u0304}{q}{\omega}_{i}\left|{\mathbf{J}}_{i}\right|\mathbf{N}({\stackrel{\u0304}{\xi}}_{i},{\stackrel{\u0304}{\eta}}_{i})\stackrel{\u0307}{\mathbf{w}}=1\end{array}\right.\end{array}

(31)

Since integral Equation 27 is not calculated exactly, it cannot be said that the formulation yields a strict upper bound using this formula. Nevertheless, the optimal velocity field is still kinematically admissible and corresponding compatible strain are obtained using the **B**_{
i
} matrix so that a strict upper bound can be obtained provided that the dissipation is computed exactly *a posteriori*. However, in practice, there is practically no difference and the computed values can be considered as upper bounds.

#### 2.2.3 Essential boundary conditions

In this part, we show how to impose essential boundary conditions of the isogeometric approach. For the sake of simplicity, we consider the following several Dirichlet boundary conditions (BCs):

Simply supported plates with curved boundaries

B=\left\{\stackrel{\u0307}{w}\right({\mathbf{x}}_{D})=0\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\text{on}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}{\Gamma}_{1}\}

(32)

Clamped plates

B=\left\{\stackrel{\u0307}{w}\right({\mathbf{x}}_{D})=0\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\text{and}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}{\stackrel{\u0307}{w}}_{n}({\mathbf{x}}_{D})=0\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\text{on}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}{\Gamma}_{1}\}

(33)

where {\stackrel{\u0307}{w}}_{n}\left({\mathbf{x}}_{D}\right) is the normal rotation constraint and **x**_{
D
} are control points that define the essential boundary.

It is well known that the enforcement of Dirichlet BCs on \stackrel{\u0307}{w} is treated as in the standard FEM. This procedure involves only control points that define the essential boundary. However, for the normal rotation {\stackrel{\u0307}{w}}_{n} occurred in (32), the enforcement of Dirichlet BCs can be solved in a special way reported in [23],[37]. The idea for a clamped case, i.e, {\stackrel{\u0307}{w}}_{n}\left({\mathbf{x}}_{D}\right)=0 is to impose zero values of deflection velocity variables, i.e., \stackrel{\u0307}{w}=0, at both control points {\mathbf{x}}_{D}=\left\{{\mathbf{x}}_{{D}_{1}},\dots ,{\mathbf{x}}_{{D}_{d}}\right\} and {\mathbf{x}}_{A}=\left\{{\mathbf{x}}_{{A}_{1}},\dots ,{\mathbf{x}}_{{A}_{d}}\right\} adjacent to the boundary control points **x**_{
D
} as shown in Figure 4. It be can seen that enforcing essential boundary conditions using this way in the isogeometric approach is very simple and efficient when comparing with other numerical methods.

The second and third constraints (31) can be written as a standard linear equality constraint (ec):

{\mathbf{B}}^{\text{ec}}\stackrel{\u0307}{\mathbf{q}}={\mathbf{b}}^{\text{ec}}

(34)

where the matrix **B**^{ec} and vector **b**^{ec} of Equation 34 are given by

{\mathbf{b}}^{\text{ecT}}=\left[\begin{array}{ccc}1& \stackrel{d}{\stackrel{\u23df}{\begin{array}{ccc}0& \cdots & 0\end{array}}}& \stackrel{d}{\stackrel{\u23df}{\begin{array}{ccc}0& \cdots & 0\end{array}}}\end{array}\right]

(36)

where row 1, row 2 to *d*+1 and row *d*+2 to 2*d*+1 in **B**^{ec} matrix stand for the number of constraints related to an external work rate, the boundary control points and control points adjacent to the boundary, respectively, and {\mathbf{B}}_{\mathit{\text{IJ}}}^{\text{ec}} is described as

where *d* denotes the number of control points defining the Dirichlet boundary with respect to a set of boundary control points .

Note that first *d*+1 rows in (35) are indeed used for limit analysis of plates with the only prescribed deflection on *Γ*_{1}. In addition, when the symmetric boundary conditions are employed, as illustrated in Figure 5, we enforce the constraint of same deflections into the boundary control points and control points adjacent to the symmetric boundary, (i.e. along the symmetry lines, the normal rotation is fixed which can be achieved by enforcing the deflection of two rows of control points that define the tangent of the plate to have the same value [22]). A matrix storing such constraints will be added to the extensive rows of **B**^{ec}.

It be can observed that the enforcement of essential boundary conditions using the rotation-free approach is simple and efficient in comparison with other numerical methods. For instance, readers can find more details on the advantages of this procedure in [22],[23],[25],[26]. In addition, IGA based on the Lagrange multiplier, penalty and collocation methods (see [7]) can be also used to enforce essential boundary conditions for the thin plate.

### 2.3 Solution procedure of the discrete problem

#### 2.3.1 Second-order cone programming

The above limit analysis problem is a non-linear optimization problem with equality constraints. It can be solved using a general non-linear optimization solver such as a sequential quadratic programming (SQP) algorithm (which is a generalization of Newton’s method for unconstrained optimization), a direct iterative algorithm [38]. In particular, the optimization problem can be reduced to the problem of minimizing a sum of norms by Andersen et al. [39] due to the specific choice of the von Mises criterion and can be reformed as a second-order cone programming (SOCP) problem and solved using an interior point method [12]. The general form of a SOCP problem with *N*_{cs} sets of constraints has the following form

\text{min}\phantom{\rule{2.77626pt}{0ex}}\phantom{\rule{2.77626pt}{0ex}}\sum _{i=1}^{\text{NG}}{c}_{i}{t}_{i}

\text{s. t.}\phantom{\rule{2.77626pt}{0ex}}\phantom{\rule{2.77626pt}{0ex}}\parallel {\mathbf{H}}_{i}\mathbf{t}+{\mathbf{v}}_{i}\parallel \le {\mathbf{y}}_{i}^{T}\mathbf{t}+{z}_{i}\phantom{\rule{2.77626pt}{0ex}}\phantom{\rule{2.77626pt}{0ex}}\text{for}\phantom{\rule{2.77626pt}{0ex}}i=1,\dots ,{N}_{\text{cs}}

(38)

where {t}_{i}\in \mathbb{R},\phantom{\rule{1em}{0ex}}i=\overline{1,\text{NG}} or \mathbf{t}\in {\mathbb{R}}^{\text{NG}} are optimization variables, and the coefficients are {c}_{i}\in \mathbb{R}, {\mathbf{H}}_{i}\in {\mathbb{R}}^{{m}_{\text{dim}}\times \text{NG}}, {\mathbf{v}}_{i}\in {\mathbb{R}}^{{m}_{\text{dim}}}, {\mathbf{y}}_{i}\in {\mathbb{R}}^{\text{NG}}, and {z}_{i}\in \mathbb{R}. For optimization problems in 2D or 3D Euclidean space, *m*_{dim}=2 or *m*_{dim}=3, respectively. When *m*_{dim}=1, the SOCP problem reduces to a linear programming problem.

#### 2.3.2 Solution procedure using second-order cone programming

The limit analysis problem, Equation 31, is a non-linear optimization problem with equality constraints. As stated before, the problem can be reduced to the problem of minimizing a sum of norms following the procedure described by Andersen et al. [39].

Since *Θ* is a positive definite matrix, the objective or the internal plastic dissipation function in Equation 31 can be straightforwardly rewritten in a form involving a sum of norms as

{W}_{\text{int}}\approx {m}_{p}\sum _{i=1}^{\text{NG}}{\stackrel{\u0304}{\omega}}_{i}\left|{\mathbf{J}}_{i}\right|\left|\left|{\mathbf{C}}^{T}\phantom{\rule{0.3em}{0ex}}{\stackrel{\u0307}{\mathit{\kappa}}}_{i}\right|\right|

(39)

where ∥·∥ denotes the Euclidean norm appearing in the plastic dissipation function, i.e., ∥**v**∥=(**v**^{T}**v**)^{1/2}, **C** is the so-called Cholesky factor of *Θ* which is given by

\mathbf{C}=\frac{1}{\sqrt{3}}\left[\begin{array}{ccc}2& 0& 0\\ 1& \sqrt{3}& 0\\ 0& 0& 1\end{array}\right]

(40)

For convenience, a vector of additional variables *ρ*_{
i
} is introduced as

{\mathit{\rho}}_{i}={\left[\begin{array}{c}{\rho}_{1}\phantom{\rule{1em}{0ex}}{\rho}_{2}\phantom{\rule{1em}{0ex}}{\rho}_{3}\end{array}\right]}^{T}={\mathbf{C}}^{T}\phantom{\rule{0.3em}{0ex}}{\stackrel{\u0307}{\mathit{\kappa}}}_{i}

(41)

Hence, Equation 39 becomes

{W}_{\text{int}}={m}_{p}\sum _{i=1}^{\text{NG}}{\stackrel{\u0304}{\omega}}_{i}\left|{\mathbf{J}}_{i}\right|\left|\left|{\mathit{\rho}}_{i}\right|\right|

(42)

Now the optimization problem (31) becomes a problem of minimizing a sum of norms as

\begin{array}{cc}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}{\lambda}^{+}& =min\phantom{\rule{2.77626pt}{0ex}}{m}_{p}\sum _{i=1}^{\text{NG}}{\stackrel{\u0304}{\omega}}_{i}\left|{\mathbf{J}}_{i}\right|\left|\left|{\mathit{\rho}}_{i}\right|\right|\\ \phantom{\rule{1em}{0ex}}\phantom{\rule{0.3em}{0ex}}\phantom{\rule{0.3em}{0ex}}\phantom{\rule{0.3em}{0ex}}\text{s.t}\left\{\begin{array}{c}{\mathit{\rho}}_{i}={\mathbf{C}}^{T}\phantom{\rule{0.3em}{0ex}}{\mathbf{B}}_{i}\stackrel{\u0307}{\mathbf{w}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\forall i=\overline{1,\text{NG}}\\ {\mathbf{B}}^{\text{ec}}\stackrel{\u0307}{\mathbf{w}}={\mathbf{b}}^{\text{ec}}\end{array}\right.\end{array}

(43)

In fact, a problem of this sort can be reformed as a SOCP problem by introducing auxiliary variables *t*_{1}, *t*_{2}, …, *t*_{NG}

\begin{array}{cc}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}{\lambda}^{+}& =min\phantom{\rule{2.77626pt}{0ex}}{m}_{p}\sum _{i=1}^{\text{NG}}{\stackrel{\u0304}{\omega}}_{i}\left|{\mathbf{J}}_{i}\right|{t}_{i}\\ \phantom{\rule{1em}{0ex}}\phantom{\rule{0.3em}{0ex}}\phantom{\rule{0.3em}{0ex}}\phantom{\rule{0.3em}{0ex}}\text{s.t}\left\{\begin{array}{c}\left|\left|{\phantom{\rule{1em}{0ex}}\rho}_{i}\right|\right|\le {t}_{i}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\forall i=\overline{1,\text{NG}}\\ {\mathit{\rho}}_{i}={\mathbf{C}}^{T}\phantom{\rule{0.3em}{0ex}}{\mathbf{B}}_{i}\stackrel{\u0307}{\mathbf{w}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}\forall i=\overline{1,\text{NG}}\\ {\mathbf{B}}^{\text{ec}}\stackrel{\u0307}{\mathbf{w}}={\mathbf{b}}^{\text{ec}}\end{array}\right.\end{array}

(44)

where the first constraint in Equation 44 represents quadratic cones. The total number of variables of the optimization problem is *N*_{var}=NoDofs+4×NG where NoDofs is the total number of the degrees of freedom (DOFs) of the underlying problem. As a result, the optimization problem defined by Equation 44 can be effectively solved by the academic version of the Mosek optimization package [12].