BSM

    physics beyond the Standard Model
CLS

    Coordinated Lattice Simulations
GS

    Gounaris-Sakurai
HP

    Hansen-Patella
IB

    isospin breaking
l

    local
MLL

    Meyer-Lellouch-Lüscher
OET

    one-end trick
ps

    point-split
QED

    Quantum Electrodynamics
TMR

    time-momentum representation
sVPF

    subtracted vacuum polarization function

[c,d,e,f]Teseo San José

# The hadronic contribution to the running of the electromagnetic coupling and
electroweak mixing angle

Marco Cè  Antoine Gérardin  Georg von Hippel  Harvey B. Meyer  Kohtaroh Miura
Konstantin Ottnad  Andreas Risch  Jonas Wilhelm  Hartmut Wittig

###### Abstract

As present and future experiments, on both the energy and precision frontiers,
look to identify new physics beyond the Standard Model (BSM), we require more
precise determinations of fundamental quantities, like the QED and electroweak
couplings at various momenta. These can be obtained either entirely from
experimental measurements, or from one such measurement at a particular
virtuality combined with the couplings’ virtuality dependence computed within
the SM. Thus, a precise, entirely theoretical determination of the running
couplings is highly desirable, even more since the preliminary results of the
E989 experiment in Fermilab were published. We give results for the hadronic
contribution to the QED running coupling $\alpha(Q^{2})$ and weak mixing angle
$\sin^{2}\theta_{W}(Q^{2})$ in the space-like energy region
$(0,7]~{}\text{GeV}^{2}$ with a total relative uncertainty of $2\%$ at
energies $Q^{2}\ll$1\text{\,}\mathrm{G}\eV\mathrm{{}^{2}}$$, and $1\%$ at
$Q^{2}>$1\text{\,}\mathrm{G}\eV\mathrm{{}^{2}}$$.

CERN-TH-2021-126

DESY-21-137

MITP/21-038

##  1 Introduction

The QED running coupling at the Z-pole mass $\alpha(M_{Z}^{2})$ enters in the
electroweak global fit. It is also closely related to the leading hadronic
contribution to the anomalous magnetic moment of the muon,
$a_{\mu}^{\mathrm{HLO}}$, and both quantities can be obtained using the
optical theorem and the R-ratio data, which is the cross-section
$\sigma\left(e^{+}e^{-}\rightarrow\text{hadrons}\right)$ normalized by
$\sigma\left(e^{+}e^{-}\rightarrow\mu^{+}\mu^{-}\right)$. For an up-to-date
R-ratio data collection, see [Davier:2019can, Jegerlehner:2019lxt,
Keshavarzi:2019abf]. In the near future, the MUonE experiment
[CARLONICALAME2015325, Abbiendi:2016xup] at CERN will compute
$a_{\mu}^{\mathrm{HLO}}$ from the running coupling via a dispersion relation.

The weak mixing angle $\sin^{2}\theta_{W}$ is a probe for BSM physics, in
particular at energies much smaller than the electroweak scale $q^{2}\ll
M_{Z}^{2}$. It can be measured in neutrino-nucleus scattering, atomic parity
violation and parity-violating lepton scattering. However, unlike $\alpha$, it
is known with a poor precision in this energy range. The upcoming experiments
P2 at MESA [Becker:2018ggl], as well as MOLLER [MOLLER:2014iki] and SoLID
[Chen:2014psa, doi:10.1142/S2010194516600776] at JLab, aim to improve its
precision. Hadronic effects dominate the uncertainty of both quantities,
$\alpha(q^{2})$ and $\sin^{2}\theta_{W}(q^{2})$. In this project, we compute
these contributions using a similar approach to the one employed to obtain
$a_{\mu}^{\mathrm{HLO}}$ [Gerardin:2019rua].

###  1.1 Main definitions

The QED coupling $\alpha(q^{2})$ is parameterized in the on-shell scheme as

$\alpha(q^{2})=\frac{\alpha}{1-\Delta\alpha(q^{2})},$ (1)

where the fine-structure constant is denoted by $\alpha$. The hadronic
contribution to $\Delta\alpha(q^{2})$ can be expressed in terms of a
subtracted vacuum polarization function (sVPF),

$(\Delta\alpha)_{\text{had}}(q^{2})=4\pi\alpha\hat{\Pi}^{\gamma\gamma}(q^{2}).$
(2)

In a similar fashion, to leading-order, the $\sin^{2}\theta_{W}$ can be given
in the on-shell scheme as [Burger:2015lqa, Jegerlehner:1985gq]

$\sin^{2}\theta_{W}(q^{2})=\sin^{2}\theta_{W}\left(1+\Delta\sin^{2}\theta_{W}(q^{2})\right),$
(3)

where $\sin^{2}\theta_{W}$ is evaluated at $q^{2}\rightarrow 0$ and the
hadronic contribution to the running is

$(\Delta\sin^{2}\theta_{W})_{\text{had}}(q^{2})=-\dfrac{4\pi\alpha}{\sin^{2}\theta_{W}}\hat{\Pi}^{Z\gamma}(q^{2}).$
(4)

###  1.2 tmr

Both $\hat{\Pi}^{\gamma\gamma}$ and $\hat{\Pi}^{Z\gamma}$ have an integral
representation in the space-like region $Q^{2}=-q^{2}$, which is known as the
time-momentum representation (TMR) [2013PhRvD..88e4502F, 2011EPJA...47..148B],

$\displaystyle\hat{\Pi}(Q^{2})=\int_{0}^{\infty}dx_{0}G(x_{0})K(x_{0},Q^{2}),$
with $\displaystyle
K(x_{0},Q^{2})=x_{0}^{2}-\dfrac{4}{Q^{2}}\sin^{2}\left(\dfrac{Qx_{0}}{2}\right).$
(5)

The kernel may be evaluated at any $Q^{2}$, but the lattice spacing and its
extent limit the range of virtualities that we can reliably handle. The kernel
weights the correlator depending on the virtuality input, and virtualities
$Q^{2}\sim\left(\pi/a\right)^{2}$ probe the short distances of the TMR
correlator $G(x_{0})$, yielding strong cut-off effects, while virtualities
$Q^{2}\ll$1\text{\,}{\mathrm{GeV}}^{2}$$ emphasize the long-distance part of
the correlator. We compute the two-point functions $G^{\gamma\gamma}(x_{0})$
and $G^{Z\gamma}(x_{0})$, which we decompose using the isospin basis plus the
charm-quark component neglecting charm disconnected contributions,

$\displaystyle
G^{\gamma\gamma}(x_{0})=G^{33}(x_{0})+\dfrac{1}{3}G^{88}(x_{0})+\dfrac{4}{9}C^{c,c}(x_{0}),$
(6) $\displaystyle
G^{Z\gamma}(x_{0})=\left(\dfrac{1}{2}-\sin^{2}\theta_{W}\right)G^{\gamma\gamma}(x_{0})-\dfrac{1}{6\sqrt{3}}G^{08}(x_{0})-\dfrac{1}{18}C^{c,c}(x_{0}).$
(7)

The isovector $G^{33}(x_{0})$, isoscalar $G^{88}(x_{0})$ and $G^{08}(x_{0})$
parts can be further decomposed into individual flavour components that are
directly accessible on the lattice,

$\begin{gathered}G^{33}(x_{0})=\dfrac{1}{2}C^{\ell,\ell}(x_{0}),\\\
G^{88}(x_{0})=\dfrac{1}{6}\left(C^{\ell,\ell}(x_{0})+2C^{s,s}(x_{0})+2D^{\ell-s,\ell-s}(x_{0})\right),\\\
G^{08}(x_{0})=\dfrac{1}{2\sqrt{3}}\left(C^{\ell,\ell}(x_{0})-C^{s,s}(x_{0})+D^{2\ell+s,\ell-s}(x_{0})\right).\end{gathered}$
(8)

$C^{\ell,\ell}$, $C^{s,s}$ and $C^{c,c}$ are the light, strange and charm
quark-connected contributions, respectively. $D^{\ell-s,\ell-s}$ and
$D^{2\ell+s,\ell-s}$ are the quark-disconnected pieces, which cancel at the
SU(3)-flavour-symmetric point.

##  2 Lattice setup

We employ an extensive set of Coordinated Lattice Simulations ensembles with
$N_{f}=2+1$ flavours, non-perturbatively $\order{a}$-improved Wilson fermions
and tree-level Lüscher-Weisz gauge action [Bruno:2014jqa, Bruno:2016plf]. For
the vector currents, we employ two different discretizations in order to
further constrain the continuum extrapolation, the local (l) and point-split
(ps), whose renormalization and improvement is explained in [Gerardin:2018kpy]
—the latter is a conserved current, and its renormalization is trivial.
LABEL:tab:ensembles lists the ensembles used in this work. We employ four
different lattice spacings and the meson masses range from
$M_{\pi}=M_{K}\approx$415\text{\,}\mathrm{MeV}$$ at the SU(3)-flavour-
symmetric point to the physical point, along a trajectory where the sum of the
bare u, d and s quark masses is constant. The quark loops for the quark-
disconnected contribution constitute the most expensive part of the
computation. We compute them via a variant of the method proposed in
[Giusti:2019kff] combining the one-end trick [McNeile:2006bz] with a
combination of the generalized hopping parameter expansion [Gulpers:2013uca]
and hierarchical probing [Stathopoulos:2013aci]. The scale is set using
$\sqrt{8t_{0}^{\text{phy}}}=0.415(4)(2)~{}\text{fm}$ [Bruno:2016plf].

[ head to column names, before reading =

, after reading =

, tabular = l r r l l l l l l r r l, late after line =

  *[BSM]: physics beyond the Standard Model
  *[QED]: Quantum Electrodynamics
  *[sVPF]: subtracted vacuum polarization function
  *[TMR]: time-momentum representation
  *[l]: local
  *[ps]: point-split


# The obstacle problem in masonry structures and cable nets

Ada Amendola1, Ornella Mattei2, Graeme W. Milton3, Pierre Seppecher4

1Department of Civil Engineering, University of Salerno, Fisciano (SA), Italy.
2Department of Mathematics, San Francisco State University, CA, USA.
3Department of Mathematics, University of Utah, Salt Lake City, UT, USA.
4Institut de Mathématiques de Toulon, Université de Toulon et du Var, France.

###### Abstract

We consider the problem of finding a net that supports prescribed forces
applied at prescribed points, yet avoids certain obstacles, with all the
elements of the net under compression (strut net) or under tension (cable
web). In the case of masonry structures, for instance, this consists in
finding a strut net that supports the forces, is contained within the physical
structure, and avoids regions that may be not accessible due, for instance, to
the presence of holes. We solve such a problem in the two-dimensional case,
where the prescribed forces are applied at the vertices of a convex polygon,
and we treat the cases of both single and multiple obstacles. By approximating
the obstacles by polygonal regions, the task reduces to identifying the
feasible domain in a linear programming problem. For a single obstacle we show
how the region $\Gamma$ available to the obstacle can be enlarged as much as
possible in the sense that there is no other strut net, having a region
$\Gamma^{\prime}$ available to the obstacle with
$\Gamma\subset\Gamma^{\prime}$. The case where some of the forces are
reactive, unprescribed but reacting to the other prescribed forces, is also
treated. It again reduces to identifying the feasible domain in a linear
programming problem. Finally, one may allow a subset of the reactive forces to
each act not at a prescribed point, but rather at any point on a prescribed
line segment. Then the task reduces to identifying the feasible domain in a
quadratic programming problem.

Keywords. Force networks, Unilateral response, Limit analysis

##  1 Introduction

The master ‘safe’ theorem of a masonry arch, formulated in a famous work by
Jacques Heyman [1] states that the collapse of such a structure does not occur
if a line of thrust of the given external loads can be fit within the
boundaries of the arch (see also, [2, 3, 4]). The line of thrust coincides
with the Hooke’s inverted chain of the given forces, as shown, e.g., by the
Italian engineer Poleni in a study dated back to 1784, which was aimed at
assessing the stability of St. Peter’s dome in the Vatican [5]. Such a
construction has been the foundation of the beautiful work of the Catalan
architect Antoni Gaudí on funicular shapes of masonry structures [6, 7]. The
use of truss networks within discrete element approaches to no-compression or
no-tension bodies is frequent in the literature (refer to [8, 9, 10, 11, 12]
and references therein). Truss models are convenient, e.g., to tackle the
equilibrium problem of masonry structures, described as no-tension bodies [13,
14], and to assess the compatibility of external loads through graphical
constructions, numerical methods, and hanging models [10, 11, 12, 15, 16, 17].
Polyhedral Airy stress functions have been employed in two-dimensional
problems, since such functions permit one to conveniently describe force
networks through scalar potentials [18, 19]. The no-tension model of masonry
by Heyman does not account for buckling analysis, since the material is
supposed to behave rigidly up to collapse, with infinitely large compression
strength [1]. Upon accounting for a geometrically nonlinear elastic response
and a finite strength in compression of the masonry, it has been shown that
second-order effects on the collapse load of circular arches tend to be
negligible when the slenderness ratio of the arch radius over its thickness is
sufficiently small [20].

A recent study has investigated the existence problem of systems of tensile
forces that support given sets of nodal forces, coming to the conclusion that
if such ‘cable webs’ exist then the given forces are supported by the complete
web connecting pairwise their points of application (see [8], Theorem 1.1). In
two-dimensions, and with forces at the vertices of a convex polygon, the use
of polyhedral Airy stress functions shows alternatively that if such ‘cable
webs’ exist then the given forces are supported by an open web with no
internal loops (see [9], Theorem 1). The present work generalizes the above
problem to the case of compression-only force networks (or ‘strut nets’) in
two-dimensions, which support given sets of nodal forces, and are able to
avoid ‘obstacles’ representing regions not accessible to the force network
(e.g., holes or inclusions). We begin by deriving a result showing that a
strut net supporting $q$ forces located strictly inside the convex hull of the
points where forces are applied and avoiding $p$ obstacles can be replaced by
a strut net with at most $p+q$ elementary loops. (Section 2). From then
onwards we restrict our attention to sets of forces at the vertices of a
convex polygon ($q=0$). In Section 3 we provide a condition for the non-
existence of strut nets that avoid a given obstacle, when such an obstacle
intersects the open strut net associated to the given forces, and extends
outside the convex hull of their points of application. We also provide an
algorithm to establish if there exists a strut net avoiding multiple
obstacles, and if so to construct one. Additionally, for a single obstacle, we
show how the region available to the obstacle can be enlarged as much as
possible (in a sense to be made more precise). Section 4 treats the case of
multiple obstacles with the inclusion of reactive forces. Numerical
applications are then presented in Section 5, by first dealing with a test
problem characterized by a single active force, and then by treating a series
of examples that analyze strut nets associated with the statics of masonry
arches. We end in Section 6 by drawing concluding remarks and directions for
future work.

##  2 Reducing the complexity of a strut net avoiding a given set of obstacles

To begin, we consider a set of points ${\bf x}_{1},{\bf x}_{2},\ldots,{\bf
x}_{n}$ at the vertices of a convex polygon $\Omega$, with external forces
${\bf t}_{1},{\bf t}_{2},\ldots,{\bf t}_{n}$ acting on them. We assume that
the points are numbered anti clockwise and we adopt the following convention :
for any $i>n$, ${\bf x}_{i}:={\bf x}_{i-n}$ and ${\bf x}_{0}:={\bf x}_{n}$.
Letting ${\bf R}_{\perp}=\begin{pmatrix}0&-1\\\ 1&0\end{pmatrix}$ denote the
matrix for a $90^{\circ}$ rotation, we assume that, for all $j$ with $1\leq
j\leq n$ and for all $i$ with $j\leq i\leq j+n-1$,

$\sum_{k=j}^{i}({\bf x}_{k}-{\bf x}_{j})\cdot[{\bf R}_{\perp}{\bf t}_{k}]\geq
0.$ (1)

This assumption ensures that there exists a truss structure supporting these
forces with all the struts in the truss structure under compression [9]. The
constraint (1) has a physical interpretation: the net anticlockwise torque
around the point ${\bf x}_{j}$ of the forces ${\bf t}_{k}$ summed over any
number of consecutive points clockwise past the point ${\bf x}_{j}$ is non-
positive. If (1) is satisfied, the forces are supported by an open strut net
with no internal loops, in other words, there are no polygons whose edges are
the struts of the net.

A more general condition, applicable to any set of forces, either in two-
dimensions or three-dimensions, is that if a strut net exists supporting the
forces, then they will also be supported by a strut net connecting pairwise
the points at which the forces are applied [8]. This leads to a linear
programming problem for determining if a set of forces can be supported.

Condition (1) is derived using Airy stress functions. Indeed, for two-
dimensional elasticity it is well known that, in the absence of body forces in
a simply connected region $\Omega$, the divergence-free stress field
$\mbox{\boldmath${\sigma}$}({\bf x})$ can be represented in terms of the Airy
stress function $\phi({\bf x})$:

$\mbox{\boldmath${\sigma}$}({\bf
x})=\begin{pmatrix}\frac{\partial^{2}\phi({\bf
x})}{\partial^{2}x_{2}^{2}}&-\frac{\partial^{2}\phi({\bf x})}{\partial
x_{1}\partial x_{2}}\\\ -\frac{\partial^{2}\phi({\bf x})}{\partial
x_{1}\partial x_{2}}&\frac{\partial^{2}\phi({\bf
x})}{\partial^{2}x_{1}^{2}}\end{pmatrix}={\bf
R}_{\perp}^{T}\nabla\nabla\phi({\bf x}){\bf R}_{\perp},$ (2)

in which ${\bf R}_{\perp}^{T}=-{\bf R}_{\perp}$ is the transpose of ${\bf
R}_{\perp}$. Since $\mbox{\boldmath${\sigma}$}({\bf x})$ is negative
semidefinite for all ${\bf x}$, we see that $\nabla\nabla\phi({\bf x})$ is
negative semidefinite for all ${\bf x}$. This implies that $\phi({\bf x})$ is
a concave function in any simply-connected two-dimensional region under
compression, that may have subregions with zero stress [13]. Note that, when
$\mbox{\boldmath${\sigma}$}({\bf x})$ is zero in a region, as it is between
the struts in a net, then $\nabla\nabla\phi({\bf x})=0$ which by (2) implies
the Airy stress function is a linear function of ${\bf x}$ in this region.
Thus, any strut net under compression that supports forces at the vertices of
a convex polygon will have an associated Airy stress function whose graph is a
concave polyhedron. The magnitudes of the slope discontinuities can be
connected to the compression in the associated struts [19, 21].

If the strut net associated with a concave polyhedron has internal loops, we
can replace the latter by a simpler concave polyhedron (supporting the same
forces), by using the tangent planes to the Airy stress function at the
boundary of the polygon $\Omega$ [9]. The strut net associated with this
latter concave polyhedron will be an open strut net with no internal loops. To
prove this, let us start by noticing that, since the strut net supports under
compression the forces ${\bf t}_{i}$ at the points ${\bf x}_{i}$, it can
support, for some $\epsilon>0$, the same forces at points

$\tilde{{\bf x}}_{i}={\bf x}_{i}-\epsilon{\bf t}_{i},$ (3)

the convex hull of which we call $\tilde{\Omega}$. To do this, one extends the
strut net by attaching $n$ short struts of length $\epsilon>0$ between ${\bf
x}_{i}$ and $\tilde{{\bf x}}_{i}$, $i=1,2,\ldots,n$. The first step is to
determine the Airy stress function $\phi({\bf x})$ in the polygonal ring
bounded on one side by the polygon joining the points ${\bf x}_{i}$, and on
the other side by the polygon joining the points $\tilde{{\bf x}}_{i}$. When
$\epsilon$ is sufficiently small there are no struts inside the quadrilateral
$\Omega_{i}$ with vertices $\tilde{{\bf x}}_{i-1}$, ${\bf x}_{i-1}$, ${\bf
x}_{i}$, $\tilde{{\bf x}}_{i}$ and since the stress vanishes there, the Airy
stress function $\phi({\bf x})$ inside that quadrilateral must be a linear
function $L_{i}({\bf x})$. Due to the stress in the wires (see, for example,
[9]), these satisfy

${\bf R}_{\perp}(\nabla L_{i+1}-\nabla L_{i})=-{\bf t}_{i},\quad
i=1,2,\ldots,n,$ (4)

and, for all $i,j$,

$L_{i}\geq L_{j}\quad\text{on }\Omega_{j}.$ (5)

Equation (4) and the constraints

$L_{i}({\bf x}_{i})=L_{i+1}({\bf x}_{i})$ (6)

determine the sequence $(L_{i})_{i=1}^{n}$ up to the addition of a global
linear function. Uniqueness can be ensured by assuming, for instance, that
$L_{1}({\bf x})=0$. The condition (5) is equivalent to (1) [9].

The stress measure $\mbox{\boldmath${\sigma}$}({\bf x})$ associated to the
Airy function $\phi({\bf x})$, that is defined in the sense of distributions
by (2), is non-positive, concentrated along a finite union of segments,
divergence-free on $\Omega$ and, owing to the construction of
$(L_{i})_{i=1}^{n}$, the divergence in the sense of distributions,
$div(\sigma_{|\Omega})$, coincides with the discrete measure
$\sum_{i=1}^{n}{\bf t}_{i}\delta_{{\bf x}_{i}}$ on $\partial\Omega$. Let us
introduce the following definition:

######  Definition 1.

A “strut net function” is a concave piecewise linear function $\phi({\bf x})$
on $\widetilde{\Omega}$ coinciding with $L_{i}({\bf x})$ on each $\Omega_{i}$.

We see that, in particular, the envelope of the tangent planes,

$\phi_{0}({\bf x})\equiv\min_{i}L_{i}({\bf x}),$ (7)

is a strut net function: we call it the “open strut net function” as it is
associated with a strut net having no loops. Note also that concavity implies
that any strut net function $\phi({\bf x})$ satisfies, for all $i$, $\phi({\bf
x})\leq L_{i}({\bf x})$, and hence that $\phi({\bf x})\leq\phi_{0}({\bf x})$.

###  2.1 Forces at points inside the convex hull of all application points and
multiple obstacles

Consider a strut net containing a convex elementary polygonal loop within
which there are no obstacles. By elementary we mean a loop with no interior
struts. Then, the net forces (due to adjoining struts or imposed forces) act
on the vertices of the loop as in Figure 1(a), and the polygonal loop can be
replaced by an open strut net, as in Figure 1(b). In this way, if there are
many internal loops in the strut net, we decrease the number of elementary
loops by one. This reduction can be continued until any remaining elementary
loop encloses one or more obstacles or has an imposed force acting outwards
from a vertex of the polygonal loop, so that the loop is not convex.

Then, using the fact that any obstacle intersecting the boundary of the convex
hull of all points where forces are applied can never have a loop of struts
under compression surrounding it, we establish:

######  Theorem 1.

A strut net that has $q$ imposed forces at points that lie strictly inside the
convex hull of all points where forces are applied and that avoids $p$
obstacles, $p_{0}$ of which intersect the boundary of this convex hull, can be
replaced by a strut net, supporting the same forces, that has at most
$q+p-p_{0}$ elementary loops.

This generalizes the result in [8] that used a similar argument to treat the
case where $p=p_{0}=0$ ($q\neq 0$).

Figure 1: Here (a) is a convex polygonal loop, possibly lying within a strut
net that may contain many loops. The arrows denote the net forces acting on
each vertex. Provided there are no obstacles inside the loop, it can be
replaced by the open strut net as in (b) thus reducing the number of loops in
the whole strut net by one.

If a loop contains an obstacle it may be possible to replace that loop by the
associated open strut net provided that open strut net does not collide with
the obstacle. In the $q=0$ case it follows that, if a net exists that avoids a
single obstacle, then there is a net with none or one loop that also avoids
the obstacle. Specifically, the zero loop case corresponds to the open strut
net, and if there is one loop that cannot be reduced, then that loop contains
the obstacle. Note that, as the struts in the loop are under compression, the
loop cannot extend outside the convex hull of the points where the forces are
applied. Thus, if an obstacle intersects the open strut net and extends
outside the convex hull of the points where the forces are applied, then there
is no strut net that avoids the obstacle: see Figure 2.

Figure 2: An obstacle may lie partly outside the convex hull of where the
forces are applied, but outside the open strut net, as in (a). However if the
obstacle lies partly outside the convex hull of where the forces are applied
and intersects the open strut net, as in (b), then there is no strut net that
avoids the obstacle.

##  3 Solution for the obstacle problem with forces at the boundary of a
convex polygon

Our objective is to find an algorithm for determining if a strut net exists
that avoids a given set of simply connected obstacles and which supports a
given set of forces at the boundary of a convex polygon. We will first assume
that there is just one obstacle and we will enlarge the region it can occupy.
Here by enlargement we use the following definitions:

######  Definition 2.

Given a strut net avoiding an obstacle ${\cal O}$, the region available to
${\cal O}$ is the interior of the strut loop, having no internal struts, that
contains ${\cal O}$.

######  Definition 3.

Given a region $\Gamma$ available to ${\cal O}$ for some strut net, then
$\Gamma^{\prime}$ is an enlargement of it if $\Gamma^{\prime}$ is available to
${\cal O}$ for some strut net and $\Gamma^{\prime}\supseteq\Gamma$.

Thus, if the obstacle is in a region $\Gamma$, then it is surely in the
enlarged region $\Gamma^{\prime}$: ${\cal O}\subseteq\Gamma$ implies ${\cal
O}\subseteq\Gamma^{\prime}$. While the procedure will be illustrated by
figures in which there are only 4 applied forces, the analysis holds when
there are any number of forces applied at the vertices of a convex polygon.

Given a strut net, and associated strut net function $\psi({\bf x})$, we can
modify the strut net to try to accommodate, or better accommodate, an obstacle
${\cal O}$ by replacing $\psi({\bf x})$ with

$\phi({\bf x})=\min\\{\psi,L\\},\text{ with }L({\bf x}_{k})\geq L_{k}({\bf
x}_{k})\text{ for all }k,$ (1)

where $L({\bf x})$ is a linear function to be chosen so that $\phi({\bf
x})=L({\bf x})$ on ${\cal O}$. Thus, $\psi({\bf x})\geq L({\bf x})$ on ${\cal
O}$. We call $L({\bf x})$ the cleaving plane. Now, if for any ${\bf x}$,

$L({\bf x})\leq\psi({\bf x}),$ (2)

then surely because $\psi({\bf x})\leq\phi_{0}({\bf x})$, one has that

$L({\bf x})\leq\phi_{0}({\bf x}).$ (3)

Thus, the region $\Gamma$ available to the obstacle is enlarged if the
cleaving plane cleaves the open strut net function rather than any other strut
net function supporting the forces: see Figure 3(a)-(d).

Figure 3: Here (a) shows the cleaving (dot-dash line) of a strut net function
(solid and dashed lines), resulting in the strut net (b). If instead as in (c)
one cleaves, with the same cleaving plane, the open strut net function, one
enlarges the region that the obstacle can occupy, and the corresponding strut
net (d) has a single elementary internal loop. Finally, by moving the cleaving
plane downwards keeping the same orientation until it touches one of points
$L_{k}({\bf x}_{k})$, as in (e), one further enlarges the region that the
obstacle can occupy, as in (f).

Hence, the existence of a strut net avoiding ${\cal O}$ is equivalent to the
existence of a linear function $L({\bf x})$ satisfying

$L({\bf x}_{i})\geq L_{i}({\bf x}_{i})\quad\text{and }\quad L({\bf x})\leq
L_{i}({\bf x})\text{ on }{\cal O}\text{ for all }i.$ (4)

###  3.1 One or more obstacles which are convex polygons, or which can be
approximated by convex polygons

Note that, for any cleaving plane $L({\bf x})$, the set $\\{{\bf
x}:\phi_{0}({\bf x})\geq L({\bf x})\\}$ is a convex set because of the
concavity of the open strut net function $\phi_{0}({\bf x})$. Hence, there is
no loss of generality by assuming that ${\cal O}$ is convex. Therefore,
consider the case when ${\cal O}$ is a convex polygon or is approximated by a
convex polygon containing ${\cal O}$. Let ${\bf y}_{p},p=1,2,\ldots,m$ be the
vertices of this polygon. Then, (4) will hold if $L({\bf x})$ satisfies

$L({\bf x}_{i})\geq a_{i}\equiv\phi_{0}({\bf x}_{i})\text{ and }L({\bf
y}_{p})\leq b_{p}\equiv\phi_{0}({\bf y}_{p})\text{ for all }i,p.$ (5)

Now, $L({\bf x})$ can be written as $L({\bf x})={\bf v}\cdot{\bf x}+c$ and we
are looking for ${\bf v}$ and $c$ so that the inequalities (5) are satisfied,
that is, for all $i$ and $p$,

${\bf v}\cdot{\bf x}_{i}+c\geq a_{i},\quad{\bf v}\cdot{\bf y}_{p}+c\leq
b_{p}.$ (6)

The question becomes whether there is a feasible domain of $({\bf v},c)$ pairs
satisfying this system of linear inequalities: this is a standard problem in
linear programming theory.

Note that this is easily generalized to the case of multiple inclusions ${\cal
O}_{q},\,q=1,2,\ldots,s$, with associated cleaving planes $L^{(q)}({\bf x})$.
Then, (4) is replaced with

$L^{(q)}\geq L_{i}({\bf x}_{i})\quad\text{and }\quad L^{(q)}\leq L_{i},\quad
L^{(q)}\leq L^{(r)}\text{ on }{\cal O}_{q},\text{ for all }i,q,r.$ (7)

Treating each ${\cal O}_{q}$ as convex or approximating it by a convex polygon
containing ${\cal O}_{q}$, we let ${\bf y}_{p}^{(q)},p=1,2,\ldots,m(q)$ be its
vertices. Then (7) will hold if the cleaving planes $L^{(q)}({\bf x})$ satisfy
for all $i,p,r$

$L^{(q)}({\bf x}_{i})\geq a_{i}\equiv\phi_{0}({\bf x}_{i})=L_{i}({\bf
x}_{i}),$ (8)

and

$L^{(q)}({\bf y}_{p}^{(q)})\leq b_{p}^{(q)}\equiv\phi_{0}({\bf
y}_{p}^{(q)}),\quad L^{(q)}({\bf y}_{p}^{(q)})\leq L^{(r)}({\bf
y}_{p}^{(q)}).$ (9)

Writing $L^{(q)}({\bf x})$ as $L^{(q)}({\bf x})={\bf v}^{(q)}\cdot{\bf
x}+c^{(q)}$ we arrive at the linear system of inequalities

${\bf v}^{(q)}\cdot{\bf x}_{i}+c^{(q)}\geq a_{i},\quad{\bf v}^{(q)}\cdot{\bf
y}_{p}^{(q)}+c^{(q)}\leq b_{p}^{(q)},\quad{\bf v}^{(r)}\cdot{\bf
y}_{p}^{(q)}+c^{(r)}-{\bf v}^{(q)}\cdot{\bf y}_{p}^{(q)}+c^{(q)}\geq 0,$ (10)

which must hold for all $i,q$ and $r$. This is again a standard problem of
determining if there is a non-empty feasible domain in the $3s$ dimensional
space consisting of $s$ pairs $({\bf v}^{(q)},c^{(q)})\,q=1,2,\ldots,s$. If it
is non-empty, then associated with a $({\bf v}^{(q)},c^{(q)})\,q=1,2,\ldots,s$
in the feasible domain are cleaving planes $L^{(q)}({\bf x}),\,q=1,2,\ldots,s$
and when $\phi_{0}({\bf x})$ is cleaved by them we obtain the strut net
avoiding the obstacles.

###  3.2 Enlarging as much as possible the region available to the obstacle

Let us return back to the case where there is a single obstacle and assume
that the feasible domain associated with (6) is non-empty. While the feasible
domain allows us to identify all strut nets with one strut loop that contains
${\cal O}$, it does not identify those strut nets with as much room as
possible around ${\cal O}$. By this we mean that the region $\Gamma$ available
to ${\cal O}$ is maximal, in the sense that if $\Gamma^{\prime}$ is the region
available to ${\cal O}$ in another strut net and
$\Gamma\subseteq\Gamma^{\prime}$, then $\Gamma^{\prime}=\Gamma$. Note that
$\Gamma$ is not necessarily unique, and a different $\Gamma$ may have less
room around the obstacle on one side and more on another side. Here we will
show that if ${\cal O}$ lies in a maximal $\Gamma$ then

$L({\bf x}_{k})=L_{k}({\bf x}_{k})\text{ and }L({\bf x}_{\ell})=L_{\ell}({\bf
x}_{\ell}),$ (11)

for some $k$ and $\ell$.

If, for any ${\bf x}$, (3) holds then surely

$L^{\prime}({\bf x})\leq\phi_{0}({\bf x})\text{ with
}L^{\prime}=L-\min_{i}(L({\bf x}_{i})-a_{i}),\quad a_{i}=L_{i}({\bf x}_{i}),$
(12)

because $L^{\prime}({\bf x})\leq L({\bf x})$. In other words, the cleaving
plane can be lowered while keeping its orientation fixed, expanding the region
$\Gamma$ that can be occupied by the obstacle. This can be continued until
this cleaving plane $L^{\prime}$ first touches a point $A=L_{k}({\bf x}_{k})$,
where $i=k$ attains the equality in (12): see Figure 2.

Now we tilt the cleaving plane about the line through $A$ and another point
$B\in L\cap L_{k}$ with $B\neq A$. This line is where $L^{\prime}({\bf x})$
and $L_{k}({\bf x})$ intersect. This gives a new cleaving plane

$L^{\prime\prime}=L^{\prime}+\alpha(L^{\prime}-L_{k}),\text{ with }\alpha>0.$
(13)

We can continue this tilting by increasing $\alpha$ until

$\alpha=\min_{j}\frac{L^{\prime}({\bf x}_{j})-L_{j}({\bf x}_{j})}{L_{k}({\bf
x}_{j})-L^{\prime}({\bf x}_{j})},$ (14)

when $L^{\prime\prime}({\bf x})$ first touches another point $C=L_{\ell}({\bf
x}_{\ell})$ in which $j=\ell$ achieves the equality in (14). It also touches
$A$. Note that if for any ${\bf x}$ the first inequality in (12) holds then
surely

$L^{\prime\prime}({\bf x})\leq\phi_{0}({\bf x}),$ (15)

because that first inequality implies $L^{\prime}({\bf x})\leq L_{k}({\bf x})$
at that point. This implies that as the cleaving plane is tilted until it
touches $B$, the region $\Gamma$ that can be occupied by the obstacle enlarges
further: see Figure 4(a)-(d).

One can subsequently rotate the cleaving plane about the line joining $A$ with
$L_{\ell}({\bf x}_{\ell})$ until the cleaving plane meets $L_{h}({\bf x}_{h})$
for some $h$. In our example, rotation one way gives Figure 4(e) with
$L_{h}({\bf x}_{h})=D$ and the corresponding strut net Figure 4(f), while
rotation the other way gives Figure 4(g) with $L_{h}({\bf x}_{h})=E$ and the
corresponding strut net Figure 4(h). However, this rotation does not generally
enlarge the region $\Gamma$ that can be occupied by the obstacle. The rotation
tips the cleaving plane up on one side of the line $L_{k}({\bf x}_{k})$ with
$L_{\ell}({\bf x}_{\ell})$ and down on the other side. The region $\Gamma$,
with the strut loop as its boundary, shrinks on the up side and expands on the
down side. The exception, as illustrated in Figure 4(i) with the corresponding
strut net Figure 4(j) is when $\ell=k\pm 1$, i.e. when $L_{\ell}({\bf
x}_{\ell})$ is on the same facet of $\phi_{0}({\bf x})$ as $L_{k}({\bf
x}_{k})$. Then the region $\Gamma$ lies on one side of the line joining ${\bf
x}_{k}$ with ${\bf x}_{\ell}$ and, as illustrated in Figure 4(k) we may rotate
the cleaving plane about the line so the plane tilts down on the side where
$\Gamma$ is located and touches $D=L_{h}({\bf x}_{h})$, producing the strut
net of Figure 4(l).

Figure 4: Various configurations, (a), (c), (e), (g), (i), and (k) of the
cleaving plane, denoted by dashed lines, that cleave $\phi_{0}({\bf x})$,
denoted by solid lines. The associated strut nets are below each of these
subfigures. The procedure of tilting and then rotating the cleaving plane
follows that described in the text.

This analysis provides an algorithm to generate all maximal regions $\Gamma$.
One starts with each $i=1,2,\ldots,n$ and takes the cleaving plane through
$L_{i}({\bf x}_{i})$, $L_{i+1}({\bf x}_{i+1})$ and a third point $L_{j}({\bf
x}_{j})$ (with no points $L_{h}({\bf x}_{h}),h=1,2,\ldots,n$ lying above the
plane). One next rolls the cleaving plane, rotating it about the line joining
$L_{i}({\bf x}_{i})$ and $L_{j}({\bf x}_{j})$ until it first hits another
point $L_{k}({\bf x}_{k})$. Then one rolls it further about the line joining
$L_{i}({\bf x}_{i})$ and $L_{k}({\bf x}_{k})$ until it first hits another
point $L_{\ell}({\bf x}_{k})$. This is continued until the rolling cleaving
plane hits $L_{i-1}({\bf x}_{i-1})$. As the rolling progresses the region
enclosed by the strut net loop created by the cleaving plane is maximal and
the region available to an obstacle placed within it cannot be enlarged.

##  4 Including reactive forces with multiple obstacles

Let us suppose that a subset ${\mathcal{I}}\subset\\{1,\ldots,n\\}$ of the $n$
forces are reactive, while the remaining ones (corresponding to the subset of
indices ${\mathcal{K}}:=\\{1,\ldots,n\\}\setminus{\mathcal{I}}$) are given.
That means that the forces are not fixed at the points ${\bf x}_{i}$ for
$i\in{\mathcal{I}}$ but that any forces at these points are admissible as soon
as they balance through a strut net the forces ${\bf t}_{i}$ applied at points
${\bf x}_{i}$ for $i\in{\mathcal{K}}$ . The planes $L_{k}$ are no longer fixed
by equations (4). When $i\in{\mathcal{I}}$, these equations, determine the
reactive force ${\bf t}_{i}$:

${\bf t}_{i}\equiv-{\bf R}_{\perp}(\nabla L_{i+1}-\nabla L_{i}),\quad
i\in{\mathcal{I}}$ (1)

and provide no constraints on the unknown $L_{i+1}$ and $L_{i}$ while, for the
remaining $i\in{\mathcal{K}}$, they provide the constraints

${\bf R}_{\perp}(\nabla L_{i+1}-\nabla L_{i})=-{\bf t}_{i},\quad
i\in{\mathcal{K}}.$ (2)

Since we can add any linear function to the Airy stress function, we are free
to assume, as before, that

$L_{1}=0.$ (3)

Continuity of the Airy function requires that, for all
$i\in\\{1,2,\ldots,n\\}$,

$L_{i+1}({\bf x}_{i})=L_{i}({\bf x}_{i}).$ (4)

Its concavity requires that, for all $i\not=j$ in $\\{1,2,\ldots,n\\}$,

$L_{j}({\bf x}_{i})\geq L_{i}({\bf x}_{i}).$ (5)

As in (10), the existence of a strut net avoiding the $s$ obstacles ${\cal
O}_{1}$, ${\cal O}_{2}$, …${\cal O}_{s}$, each ${\cal O}_{q}$ being the convex
hull of points $({\bf y}^{q}_{1},{\bf y}^{q}_{2},\dots,{\bf y}^{q}_{n(q)})$,
is equivalent to the existence, for all $q\in\\{0,1,\dots,s\\}$, of linear
functions $L^{(1)}$, $L^{(2)}$, …$L^{(s)}$ satisfying, for any $i$ in
$\\{0,1,\dots,n\\}$, any $q\not=r$ in $\\{0,1,\dots,s\\}$ and any $p$ in
$\\{0,1,\dots,n(q)\\}$,

$L^{(q)}({\bf x}_{i})\geq L_{i}({\bf x}_{i}),\quad L_{i}({\bf
y}_{p}^{(q)})\geq L^{(q)}({\bf y}_{p}^{(q)}),\quad L^{(r)}({\bf
y}_{p}^{(q)})\geq L^{(q)}({\bf y}_{p}^{(q)}).$ (6)

These results, which also generalize the results obtained in Section 3, can be
summarized in the following theorem:

######  Theorem 2.

The existence of a strut net balancing forces ${\bf t}_{i}$ applied at points
$({\bf x}_{i})_{i\in{\mathcal{K}}}$ with the help of reacting points $({\bf
x}_{i})_{i\in{\mathcal{I}}}$ and avoiding obstacles ${\cal O}_{1}$, ${\cal
O}_{2}$, …${\cal O}_{s}$, each ${\cal O}_{q}$ being the convex hull of points
$({\bf y}^{q}_{1},{\bf y}^{q}_{2},\dots,{\bf y}^{q}_{n(q)})$, is equivalent to
the existence of linear functions $(L_{i})_{i=1}^{n}$ and
$(L^{(q)})_{q=1}^{s}$ satisfying, for any $i$ in $\\{0,1,\dots,n\\}$, any
$q\not=r$ in $\\{0,1,\dots,s\\}$ and any $p$ in $\\{0,1,\dots,n(q)\\}$, the
constraints (2), (3), (4) , (5) and (6). Setting

$L_{i}({\bf x})={\bf w}_{i}\cdot{\bf x}+d_{i}\quad\text{and}\quad L^{(q)}({\bf
x})={\bf v}^{(q)}\cdot{\bf x}+c^{(q)},$ (7)

the existence of such a strut net is equivalent to the existence of a solution
$({\bf w}_{i},d_{i})_{i=1}^{n}$ and $({\bf v}^{(q)},c^{(q)})_{q=1}^{s}$ of the
following linear programming problem

$\displaystyle{\bf R}_{\perp}({\bf w}_{i+1}-{\bf w}_{i})=-{\bf t}_{i},$ for
$i\in{\mathcal{K}}$, $\displaystyle{\bf w}_{1}=0,\quad d_{1}=0,$
$\displaystyle{\bf w}_{i+1}\cdot{\bf x}_{i}+d_{i+1}={\bf w}_{i}\cdot{\bf
x}_{i}+d_{i},$ for $1\leq i\leq n$, $\displaystyle{\bf w}_{j}\cdot{\bf
x}_{i}+d_{j}\geq{\bf w}_{i}\cdot{\bf x}_{i}+d_{i},$ for $i\not=j$ in
$\\{1,\dots,n\\}$, $\displaystyle{\bf v}^{(q)}\cdot{\bf x}_{i}+c^{(q)}\geq{\bf
w}_{i}\cdot{\bf x}_{i}+d_{i},$ for $1\leq i\leq n$, $1\leq q\leq s$,
$\displaystyle{\bf w}_{i}\cdot{\bf y}_{p}^{(q)}+d_{i}\geq{\bf
v}^{(q)}\cdot{\bf y}_{p}^{(q)}+c^{(q)},$ for $1\leq i\leq n$, $1\leq q\leq s$,
$1\leq p\leq n(q)$, $\displaystyle{\bf v}^{(r)}\cdot{\bf
y}_{p}^{(q)}+c^{(r)}\geq{\bf v}^{(q)}\cdot{\bf y}_{p}^{(q)}+c^{(q)},$ for
$q\not=r$ in $\\{1,\dots,s\\}$, $1\leq p\leq n(q)$. (8)

Recall that, as soon as admissible quantities $({\bf w}_{i},d_{i})_{i=1}^{n}$
have been chosen, the reacting forces are determined by (1).

We must emphasize the fact that, when a solution exists for the previous
linear programming problem, generally an infinity of solutions exists. Indeed
we have not fixed any objective function to minimize. We can fix in very
different ways such a linear objective function. But even when it is given
uniqueness is not guaranteed. This fact is clearly illustrated by the
following example. Assume that all bars in the strut net have a thickness
proportional to the force they carry, in such a way that the stress remains
constant in the whole structure. Then the total volume $\mathcal{V}$ of the
structure is proportional to the integral over $\Omega$ of the Laplacian of
the strut net function (a negative measure). This linear function of the
unknowns, which from here onwards we will call the total weight of the
structure, seems to be a good candidate for the objective function. However
one can notice that, using the divergence theorem, $\mathcal{V}$ can be
computed from the normal derivative of the strut net function on the boundary
of the domain. Therefore it does not involve the $L^{(q)}$ functions: its
minimization can help fixing the $L_{i}$ functions, that is the reactive
forces, but it cannot entirely determine a unique strut net.

We can also treat the case when a subset $\mathcal{J}\subseteq\mathcal{I}$ of
the points at which the reactive forces act, rather than being fixed, are
confined to some line segments. These segments, for example, could be sections
of supporting walls or ground. Then, there are the constraints

${\bf x}_{j}\cdot({\bf R}_{\perp}{\bf g}_{j})=z_{j},\quad g^{-}_{j}\leq{\bf
x}_{j}\cdot{\bf g}_{j}\leq g^{+}_{j},\text{ for }j\in\mathcal{J},$ (9)

where the unit vectors ${\bf g}_{j}$ and constants $z_{j}$, $g^{-}_{j}$ and
$g^{+}_{j}$ are given, but only defined for $j\in{\mathcal{J}}$. These
segments should be such that the ${\bf x}_{i},i=1,2,\ldots,n$ are still the
vertices, going anticlockwise, of a convex polygon for all choices of points
${\bf x}_{j},j\in{\mathcal{J}}$ anywhere on the line segments. Now we need to
add the ${\bf x}_{j},j\in{\mathcal{J}}$ to the unknowns. Then, those equations
in (8) that involve ${\bf x}_{j},j\in{\mathcal{J}}$ provide quadratic (and
non-convex) constraints on the unknowns, and we are left with determining the
feasible domain associated with a quadratic programming problem, involving (8)
and (9), again a standard problem.

It could be the case that reactive forces act at, say, a pair of neighboring
points ${\bf x}_{i}$ and ${\bf x}_{i+1}$ with $i\in{\mathcal{J}}$ and
$i+1\in{\mathcal{J}}$ and share the same line segment. Then,

${\bf g}_{i}={\bf g}_{i+1},\quad z_{i}=z_{i+1},\quad
g^{-}_{i}=g^{-}_{i+1},\quad g^{+}_{i}=g^{+}_{i+1},$ (10)

and to maintain the anticlockwise order of points (9) needs to be supplemented
by the additional constraint that

$({\bf x}_{i}-{\bf x}_{i+1})\cdot{\bf g}_{i}\geq 0,$ (11)

by, if necessary, reversing the direction of ${\bf g}_{i}$, the signs of
$z_{i}$, $g^{-}_{i}$ and $g^{+}_{i}$, and reversing the inequalities in (9),
while maintaining (10). The generalization to the case of more reactive forces
acting at neighboring points sharing the same interval is straightforward.

There is an alternative to allowing the points ${\bf x}_{j},j\in{\mathcal{J}}$
to range along these line segments: one can distribute along each line
segments sufficiently many additional fixed points ${\bf x}_{i}$ at which
reactive forces act. This has the advantage of replacing the quadratic
programming problem with a linear one, generally at the sacrifice of having
more unknowns. This is what has been done in the numerical examples in Sect.
5.3 where 200 points with reactive forces have been distributed along two
supporting segments.

##  5 Numerical Results

The first part of this section deals with some numerical applications of
Theorem 1 of Section 2, the second part treats the issue of enlarging the
region where the obstacle can be placed, while the last part discusses
numerical examples of the linear programming procedure described in Theorem 2
of Section 4. Specifically, in Section 5.1, we consider two examples in which
the internal loops of a strut net that avoids an obstacle are simplified into
open strut nets, up to a certain number of irreducible elementary loops.
Indeed, according to Theorem 1 in Section 2, the number of loops that cannot
further be simplified depends on the number of points of application of the
forces that lie inside the convex hull and on the position of these forces and
the obstacle itself. In Section 5.2, we implement the algorithm, presented at
the end of Section 3, that allows one to enlarge the area available to place
an obstacle. Finally, in Section 5.3, strut nets are generated that support
sets of active applied forces at given points and reactive forces at other
given points that act in response to the applied forces. The first example
gives a strut net with two triangular cells that supports a single active
force and avoids four obstacles. Four subsequent examples examine strut net
models for masonry arches modeled as rigid no-tension bodies [1, 12], which
are subject to different loading conditions and are required to avoid various
obstacles. In all numerical examples, we use abstract units for lengths and
forces.

###  5.1 Loop reduction

####  5.1.1 Reduction to a funicular arch strut net

Let us consider strut net models of a semi-circular masonry arch with
horizontal span of the extrados equal to 18, a rise at the intrados of 7.6 and
a thickness of 1.4. The arch is loaded by a set of 9 active forces with unit
magnitude directed downwards, uniformly distributed at equal angles of
$\pi/20$ along the extrados, and 2 reactive forces acting at the ends of the
arch. An initial strut net featuring $\ell=13$ closed loops was obtained by
employing the numerical procedure presented in [22] under the action of the
given active forces (a unique material was assigned to all the struts, see
Fig. 5(a)). Such a strut net was next reduced to an open strut net ($\ell=0$),
employing the loop reduction procedure presented in [8] (see Figs. 5(b)-(e)
and Movie S1). Since the active and reactive external forces of the current
example are applied at the vertices of a convex polygon ($q=0$), it is easily
observed that $\ell\leq q+p-p_{0}$, in agreement with Theorem 1 of of Section
2. It is easy to show that the open strut net coincides with the funicular
polygon of the active forces, which passes through the end points of the arch
and has the initial and final segments parallel to the lines of the reactive
forces [23]. Note that the open strut net function $\phi_{0}({\bf x})$ for
this example, plotted in Figure 6(a) for $L_{1}=0$, provides the open strut
net in Figure 6(b), which coincides with the one represented in Figure 5(f),
obtained through loop reduction.

Figure 5:  An arched strut net that avoids a half disk (represented in gray)
and supports 9 vertical forces of equal magnitude acting downwards along the
arch, with the help of two supporting reactive forces (marked in red) acting
at the end points of the arch. An open strut net is obtained from an initial
net exhibiting $\ell=13$ closed loops (panel (a)), through the loop reduction
procedure presented in [8] (panels (b)-(f)). The masonry arch containing the
sequence of strut nets is colored light blue. Note that the reactive forces at
the end points of the arch have been scaled by a factor of 0.2. See also Movie
S1 in the supplementary material.  Figure 6:  (a) Here is the open strut net
function $\phi_{0}({\bf x})$ associated with the example considered in Figure
5. (b) represents the related open strut net , that coincides with Figure
5(f). Note that the reactive forces at the end points of the arch have been
scaled by a factor of 0.5.

####  5.1.2 Loop reduction for a strut net with an internal force and that
avoids an obstacle

Here we consider the example depicted in Figure 7(a), in which one of the
forces, ${\bf f}_{4}=(0.874,0.574)$, is applied inside the polygon formed by
the remaining forces. Indeed, the point ${\bf x}_{4}=(5,5)$, lies inside the
polygon formed by ${\bf x}_{1}=(10,0)$, ${\bf x}_{2}=(0,0)$, ${\bf
x}_{3}=(-5,10)$, and ${\bf x}_{5}=(12,7)$ where the forces ${\bf
f}_{1}=(2.751,-2.319)$, ${\bf f}_{2}=(-3.415,-1.933)$, ${\bf
f}_{3}=(-3.149,1.786)$, and ${\bf f}_{5}=(2.938,1.891)$ are applied. According
to the theory presented in [8], a strut net supporting such forces with all
the elements under compression exists. An example is provided by the strut net
connecting all the points pairwise as showed in Figure 7(a). Now suppose that
an obstacle is placed inside one of the loops of the strut net . As stated by
Theorem 1 in Section 2, in which $q=1$, $p=1$, and $p_{0}=0$, we can replace
the strut net connecting the points pairwise by one that has at most
$q+p-p_{0}=2$ elementary loops, as showed in the supplementary Movie S2. The
result of the loop reduction is portrayed in Figure 7(b), where the two
remaining elementary loops cannot be reduced further.

(a)

(b)

Figure 7: (a) A strut net that supports the applied forces and avoids the
obstacle (here represented by the gray circle) is the one connecting the
points pairwise. By applying loop reduction, as illustrated step by step in
Movie S2 in the supplementary material, it is possible to reduce the number of
elementary loops with at most $q+p-p_{0}=2$ remaining loops, as illustrated in
(b).

###  5.2 Enlarging the region available to the obstacle

In this section, we provide a numerical example that illustrates the algorithm
presented at the end of Section 3 to enlarge the region available to the
obstacle. We start with 7 forces, ${\bf f}_{1}=(-1,-4)$, ${\bf
f}_{2}=(-3,-1)$, ${\bf f}_{3}=(-2,2)$, ${\bf f}_{4}=(-3,5)$ , ${\bf
f}_{5}=(1,1)$ , ${\bf f}_{6}=(6,2)$ ,and ${\bf f}_{7}=(2,-5)$, applied
respectively at the points ${\bf x}_{1}=(0,0)$, ${\bf x}_{2}=(-16,7)$, ${\bf
x}_{3}=(-13,16)$, ${\bf x}_{4}=(2,20)$, ${\bf x}_{5}=(12,19)$, ${\bf
x}_{6}=(12,13)$, and ${\bf x}_{7}=(10,0)$. The open strut net function for
this example is shown in Figure 8(a), and the associated open strut net is
represented in Figure 8(b). In order to find the maximal regions $\Gamma$, we
start with point ${\bf x}_{1}$ and consider the cleaving plane passing through
$L_{1}({\bf x}_{1})$, $L_{2}({\bf x}_{2})$, and $L_{3}({\bf x}_{3})$, see
Figure 8(c), which provides the region $\Gamma$ depicted in black in Figure
8(d). Then, we roll the cleaving plane about the line connecting $L_{1}({\bf
x}_{1})$ and $L_{3}({\bf x}_{3})$, until the plane touches the point
$L_{4}({\bf x}_{4})$, Figure 8(e)-(f), and this is continued until the plane
touches $L_{7}({\bf x}_{7})$, as showed in Figure 8(g)-(h). Movie S3 in the
supplementary material shows the rolling of the plane from the initial
configuration Figure 8(c) to the final configuration Figure 8(h): as the
rolling occurs, the region in which the obstacle can be placed is maximal.

Figure 8: (a) Here’s the open strut net function $\phi_{0}({\bf x})$
associated with the open strut net depicted in (b), when $L_{1}=0$. In (c), a
cleaving plane (represented in black) passing through the points $L_{1}({\bf
x}_{1})$, $L_{2}({\bf x}_{2})$, and $L_{3}({\bf x}_{3})$, intersects
$\phi_{0}({\bf x})$ to create a region displayed in black in (d) where an
obstacle can be placed. We roll, then, the cleaving plane about the line
connecting $L_{1}({\bf x}_{1})$ and $L_{3}({\bf x}_{3})$, until the plane
touches the point $L_{4}({\bf x}_{4})$, see panels (e) and (f). At this point,
we let the plane roll about the line connecting $L_{1}({\bf x}_{1})$ and
$L_{4}({\bf x}_{4})$, until it reaches the point $L_{6}({\bf x}_{6})$. Lastly,
we let the cleaving plane roll about the line connecting $L_{1}({\bf x}_{1})$
and $L_{6}({\bf x}_{6})$ until it touches $L_{7}({\bf x}_{7})$, as showed in
(g) and (h). The rolling of the plane is illustrated step by step in Movie S3
in the supplementary material. Note that, by applying this procedure to the
remaining points ${\bf x}_{i}$, $i=2,..,7$, we can find the maximal feasible
areas that an obstacle can occupy.

###  5.3 Construction of strut nets avoiding obstacles

####  5.3.1 A strut net avoiding triangular and square inclusions

Let us search for a strut net that supports a single active vertical force
(pointing downward) applied to the point with coordinates $(0,4)$ in a given
Cartesian plane. We examine two supporting segments delimited by the points
$(-4,0)$ and $(3,4)$ (segment 1), and the points $(3,0)$ and $(4,0)$ (segment
2), which are placed on the opposite extremities of the strut net. Each of
such segments is composed of 100 fixed reaction points uniformly spaced. The
searched strut net needs to avoid four obstacles, which are formed by three
triangles ($T1$, $T2$ and $T3$) and one rectangle ($R$). The coordinates of
the vertices of such polygons are defined as follows

  * •

$T1$ $[(1,2);(3,2);(3,3)]$; $T2$ $[(0,1.3);(0.2,3.5);(-0.2,3.5)]$; $T3$
$[(-2.5,0.5);(-1,0.5);(-1,2)]$;

  * •

$R$ $[(-2,1.2);(-2,3);(-3,3);(-3,1.2)]$.

Figure 9 illustrates four strut nets obtained through the linear programming
algorithm of Section 4 using different objective functions. The result in
Figure 9(a) was obtained by minimizing the total weight of the structure,
i.e., the integral over the boundary of the domain of the normal derivative of
the strut net function. In this case, the optimal strut net is composed of 7
struts and 2 elementary loops. The strut nets in Figure 9(b,c,d) were instead
obtained by minimizing the heights of the cleaving planes of the obstacles
$T1$, $T2$ and $T3$ at their centers of mass, respectively. By minimizing one
of such functions, the goal is to enlarge the room available to the
corresponding obstacle. It does not always achieve this goal because the
minimization can tilt the cleaving plane, or move the surrounding facets of
the Airy stress function. The strut net in Figure 9(b) is again composed of 7
struts and 2 elementary loops, as that in (a). The strut net in (c) is instead
formed by five struts and one loop, while that in (d) shows ten struts and two
loops. Observe that in most directions more space is available to obstacle 3
in (c) rather than (d). Solutions like those in (c), where there are no struts
separating two obstables, can be enforced, if possible, by treating the two
obstacles as a single obstacle. Also, it is worth noting that one could remove
the last fork on the left of the strut net in Figure 9(d) and replace it by a
straight line that touches the support midway. This is another way to enlarge
the room around T3 (not shown in the figure).

Figure 9: Strut nets resulting from the linear programming problem: a single
active vertical force (marked in green) is supported by the shown strut net
(blue in color) with the help of 200 reacting points ( placed along the
segments marked in red). The net must avoid 4 regions (marked in gray). The
strut net in (a) minimizes the total weight of the structure, while those in
(b,c,d) minimize the heights of the cleaving planes of the obstacles $T1$,
$T2$ and $T3$ at their centers of mass, respectively.

####  5.3.2 Arched strut nets avoiding elliptical inclusions

Let us now pass to examine strut net models of masonry arches loaded by
vertical forces acting downwards on top of the arch. We consider two different
sets of 23 vertical active forces, equally spaced along the horizontal line
segment connecting the point $(-2.75,4.20)$ with the point $(2.75,4.20)$ of a
given Cartesian plane (‘loading segment’ running along the extrados of the
arch) . We also examine two supporting segments, which coincide with those
analyzed in the previous example. The first obstacle to be avoided by the
strut net is a half-disk of radius $R=2.9$, centered at the origin of the
Cartesian plane. It represents the central region that the arch needs to cross
(‘arch obstacle’). The second and third obstacles are two elliptical regions,
which are respectively centered at the point $(1.2,3.5)$ and the point
$(-1.2,3.5)$. These obstacles exhibit vertical semi-major axis equal to $0.40$
and horizontal semi-minor axis equal to $0.25$. They are intended to reproduce
holes that need to be drilled within the masonry arch (‘hole obstacles’). The
masonry structure that contains the strut nets as ‘thrust lines’ (or internal
resisting structures) [1] are colored light brown in the figures that follow.
It is composed of two triangular abutments with 1.10 width at the base and
4.20 height, and a filling region above the arch. All the examined strut nets
lie within the masonry, which implies that the structure is stable under the
examined loading conditions, according to the master safe theorem of masonry
arches [1]. All the strut nets of the examples that follow have been obtained
through the linear programming algorithm of Section 4, by minimizing the total
weight of the structure. In the simulations the tension in the outermost
struts is very small and these struts disappear if the objective function to
be minimized is suitably perturbed.

We begin by considering the case when the 23 active vertical forces are of
equal (unit) magnitude and there is only the arch obstacle. The strut net
obtained for this set of forces is illustrated in Figure 10. It consists of an
open strut net formed by 49 struts, which is symmetric with respect to the $y$
axis. As a second example, we again consider 23 vertical active forces of
equal magnitude, as in the previous case, but this time we search for a strut
net that avoids both the arch obstacle and the two ellipse obstacles defined
above. Figure 11 shows the solution obtained for the current example, which is
composed of 53 struts, again symmetrically distributed with respect to the $y$
axis. The elliptical obstacles are embraced by closed loops of the strut net.

Figure 10: An arch that avoids a half disk (represented in gray), supporting
23 vertical forces of equal magnitude acting downwards on the top (in green)
with the help of two supporting segments (in red). A feasible strut net (in
dark blue) is obtained by using our linear programming formulation where each
supporting segment has been replaced by 100 fixed reactive points, and the
half disk is approximated by a 101 sided polygon. The masonry arch containing
the examined strut net has been colored light brown.  Figure 11: An arched
strut net avoiding three obstacles. Like the previous example, it supports 23
vertical downward forces of equal magnitude. Additionally, the structure
avoids the two elliptical regions, each approximated by a 20 sided polygon.

We now pass to analyze a system of active forces composed of 11 vertical
forces with magnitude $0.3$ uniformly spaced on the half of the loading
segments placed along the negative $x$-axis; and 12 vertical forces with unit
magnitude equally spaced along the complementary half of the loading segment.
The strut net returned by the linear programming algorithm for the present
case is shown in Figure 12. It is composed of 52 struts that are not
symmetrically distributed with respect to the $y$ axis, and exhibits three
closed loops.

Figure 12: An arched strut net (in dark blue) avoiding three obstacles (in
grey), which supports 11 vertical downward forces with magnitude 0.3, and 12
vertical downward forces with magnitude 1.0.

##  6 Conclusions

Given a two-dimensional set of forces at the vertices of a convex polygon,
some of which are prescribed forces and the remainder reactive forces, our
main goal was to determine if a strut net exists avoiding a given set of
obstacles, and if so, to construct one such strut net. By approximating each
obstacle by a convex polygon, possibly with many sides, we successfully
devised an algorithm for doing this. It reduced to a linear programming
procedure and was based on finding a suitable concave polyhedral Airy stress
function associated with the strut net when all struts are under compression.
Additionally, under the assumption that there is just one obstacle, we devised
an algorithm for generating regions that provide the maximum amount of space
available to the obstacle, as shown in Figure 8 and Movie S3. By this we mean
that the region available to the obstacle cannot be enlarged in the sense of
Definitions 3 and 2. We also obtained partial results (Theorem 1) in the case
where there are $q$ forces strictly inside the convex hull of all points where
forces are applied. We established that a strut net supporting these forces,
while avoiding $p$ obstacles, $p_{0}$ of which intersect this convex hull, can
be replaced by a strut net, supporting the same forces and avoiding the same
obstacles, that has at most $q+p-p_{0}$ elementary loops. In Figure 5 and
Movie S1, $q=0$, and $p=p_{0}=1$ and the number of loops can be reduced until
one obtains a final structure that is an open strut net. In Figure 7 and Movie
S2, instead, $q=p=1$ , and $p_{0}=0$, and the final net presents two
elementary loops.

Our work can be used to determine if a given masonry structure (modeled as an
incompressible, no-tension body [1]) can support, under compression, one or
more families of given forces (and convex combinations of them). For example,
the masonry arch colored light brown in Figures 11 and 12 can support at least
2 families of forces (and convex combinations of them), namely those in the
figures, while avoiding the two elliptical obstacles. Alternatively, we may
use the strut nets that support the desired families of forces to efficiently
design the masonry structures themselves, eliminating unnecessary regions.
Constraints on the boundary of the masonry structure can be imposed by
introducing appropriate obstacles such as, for instance, the semicircular grey
obstacle beneath the arch in Figures 10, 11 and 12.Our analysis also applies
to structures built from unreinforced concrete since it supports compression
but not tension.

We address the following generalization of the present study in future work:
given a force set ${\bf t}=({\bf t}_{1},{\bf t}_{2},\ldots,{\bf t}_{n})$ and a
vector set ${\bf f}=({\bf f}_{1},{\bf f}_{2},\ldots,{\bf f}_{n})$, determine
the extreme values of $\lambda$ such that a strut net avoiding the obstacles
supports both ${\bf t}$ and ${\bf t}+\lambda{\bf f}$. Here ${\bf f}$ could
represent an additional forcing, say, e.g., due to an earthquake [4, 24].

There are many other avenues that have not been explored in the present paper.
An extension of the results to three dimensions would obviously be important,
but perhaps very difficult. The stress does have a matrix valued function, the
Beltrami stress function, that is analogous to the two-dimensional Airy stress
function. However, it is difficult to interpret the constraints on the
Beltrami stress function imposed by a negative semidefinite stress field.
Another extension is to find a way of generating strut nets supporting $q$
forces strictly inside the convex hull of all points where forces are applied,
while avoiding $p$ obstacles, without assuming one starts with a strut net
achieving these goals. Further goals are outlined in [25]. One, with or
without obstacles, is to allow for some elasticity in the struts, and to
determine the possible sets of displacements ${\bf u}_{1},{\bf
u}_{2},\ldots,{\bf u}_{n}$ at the vertices ${\bf x}_{1},{\bf
x}_{2},\ldots,{\bf x}_{n}$ when a force set ${\bf f}_{1},{\bf
f}_{2},\ldots,{\bf f}_{n}$ is applied. (Assuming the force set is such that at
least one strut net supporting the forces, yet avoiding any obstacles,
exists.) Another is to allow for finite deformations, with or without
obstacles. That is, given moving points ${\bf x}_{1}(t),{\bf
x}_{2}(t),\ldots,{\bf x}_{n}(t)$ and balanced forces ${\bf f}_{1}(t),{\bf
f}_{2}(t),\ldots,{\bf f}_{n}(t)$ that are dependent on time $t$, when does
there exist a single strut net under tension that supports these forces and
avoids any obstacles for some given interval of $t$? Here, single strut net
means a strut net wherein the angles between struts change with $t$ but the
topology and strut lengths do not; all struts also remain under compression
and do not collide. An even more challenging problem results if some of the
struts collide as $t$ changes.

## Acknowledgments

OM and GWM are grateful to the National Science Foundation for support through
Research Grants DMS-2008105 and DMS-2107926. AA is grateful to the Italian
Ministry of University and Research for support through the PRIN 2017 grant
2017J4EAYB.

Fernando Fraternali is thanked for suggesting the incorporation of reactive
forces and for suggesting many pertinent references.

## Data availability

Three movies are provided as supplementary material. Movie S1 illustrates the
step-by-step loop reduction procedure for the example depicted in Figure 5,
whereas Movie S2 treats the loop reduction of the strut net represented in
Figure 7. Finally, Movie S3 illustrates the rolling of the cleaving plane to
create maximal regions where the obstacle can be placed, as illustrated in
Figure 8.

## Supplementary materials

Movie_S1.mp4

Caption for Movie S1

An arched strut net featuring $\ell=13$ closed loops, which avoids an semi-
circular arch obstacle ($p=1$), is reduced to an open strut net ($\ell=0$) by
employing the loop reduction procedure presented in [8]. The active and
reactive external forces are at the vertices of a convex polygon ($q=0$) and
the obstacle intersects this polygon ($p_{0}=1$). It is worth observing that
the final arch satisfies $\ell\leq q+p-p_{0}$, in agreement with Theorem 1 of
Section 2.

Movie_S1.mp4

Caption for Movie S2

We consider an example in which one of the 5 applied forces lies inside the
convex hull formed by the points where the forces are applied. A strut net
that supports such forces and avoids the obstacle represented by the gray
circle is the one connecting the points pairwise. The movie shows how each
elementary loop forming such a net can be replaced by an open strut net . In
agreement with Theorem 1 of Section 2, the reduction can be done until at most
2 remaining elementary loops remain, as shown in the last frame of the movie.

Movie_S2.mp4

Caption for Movie S3

We consider 7 forces applied at the vertices of a convex polygon and we use
the algorithm proposed at the end of Section 3 to determine the maximal
regions in which an obstacle can be placed so that a strut net avoiding it
exists. The movie starts with a picture of the open strut net function on the
left-hand side, and the associated open strut net on the right-hand side.
Secondly, the cleaving plane passing through the points $L_{1}({\bf x}_{1})$,
$L_{2}({\bf x}_{2})$, and $L_{3}({\bf x}_{3})$ is depicted on the left-hand
panel, and the corresponding region $\Gamma$ is depicted in black in the
right-hand panel. Pivoting around point $L_{1}({\bf x}_{1})$, the cleaving
plane rolls about the line connecting $L_{1}({\bf x}_{1})$ and the last point
touched by the plane (initially $L_{3}({\bf x}_{3})$), spanning over the
maximal elements $\Gamma$.

Movie_S3.mp4

## References

  * [1] Heyman J. 1995 The Stone Skeleton: Structural Engineering of Masonry Architecture. Cambridge: Cambridge University Press.
  * [2] Alexakis H, Makris N. 2014 Limit equilibrium analysis and the minimum thickness of circular masonry arches to withstand lateral inertial loading. Arch Appl Mech 84, 757–772.
  * [3] Alexakis H, Makris N. 2015 Limit equilibrium analysis of masonry arches. Arch Appl Mech 85, 1363–1381.
  * [4] Como M. 2017 Statics of Historic Masonry Constructions, 3rd edn. Heidelberg: Springer.
  * [5] Poleni G. 1991 Memorie istoriche della gran cupola del Tempio Vaticano. Edizioni Kappa, Rome, Italy. (Anastatic reprint of the original edition of 1748).
  * [6] Jimenez Morales MI. 2002 Gaudí, La Búsqueda de La Forma: Espacio, Geometría, Estructura y Construcciôn. Lunwerg Editores, Barcelona.
  * [7] Huerta S. 2006 Structural Design in the Work of Gaudí, Archit. Sci. Rev. 49, 324–339.
  * [8] Bouchitté G, Mattei O, Milton GW, Seppecher P. 2019 On the forces that cable webs under tension can support and how to design cable webs to channel stresses. Proc. R. Soc. A 475, 20180781.
  * [9] Milton GW. 2017 The set of forces that ideal trusses, or wire webs, under tension can support. Int. J. Solids Struct. 128, 272–281.
  * [10] O’Dwyer D. 1999 Funicular analysis of masonry vaults. Comput. Struct. 73, 187–197.
  * [11] Block P, Ochsendorf J. 2007 Thrust network analysis: A new methodology for three-dimensional equilibrium J. Int. Assoc. Shell Spat. Struct. 48, 167–173.
  * [12] Marmo F, Rosati L. 2017 Reformulation and extension of the thrust network analysis. Comput. Struct. 182. 104–118.
  * [13] Giaquinta M, Giusti E. 1985 Researches on the equilibrium of masonry structures. Arch. Ration. Mech. Anal. 88(4):359–392.
  * [14] Del Piero G. 1998 Limit analysis and no-tension materials. Int. J. Plast. 14, 259–271.
  * [15] Lucchesi M, Padovani C, Pasquinelli G, Zani N. 2008 Masonry constructions: Mechanical models and numerical applications Lecture Notes in J. Appl. Comput. Mech. 39, 1–168.
  * [16] Fortunato A. 2010 Elastic solutions for masonry-like panels. J. Elast. 98, 87–110.
  * [17] De Faveri S, Freddi L, Paroni R. 2013 No-tension bodies: A reinforcement problem. Eur. J. Mech. A/Solids 39, 163–169.
  * [18] Fraternali F. 2010 A thrust network approach to the equilibrium problem of unreinforced masonry vaults via polyhedral stress functions. Mech. Res. Commun. 37, 198–204.
  * [19] Fraternali F, Carpentieri G. 2014 On the correspondence between 2D force networks and polyhedral stress functions. Int. J. Space Struct. 29, 145–159.
  * [20] Pintucchi B, Zani N. 2009 Effects of material and geometric non-linearities on the collapse load of masonry arches. Eur. J. Mech. A/Solids 28, 45–61.
  * [21] Fraternali F, Angelillo M, Fortunato A. 2002 A lumped stress method for plane elastic problems and the discrete–continuum approximation. Int. J. Solids Struct. 39, 6211–6240.
  * [22] Skelton RE, Fraternali F, Carpentieri G, Micheletti A. 2014 Minimum mass design of tensegrity bridges with parametric architecture and multiscale complexity. Mech. Res. Commun. 58, 124–132.
  * [23] Zalewski W, Allen E. 1998 Shaping Structures: Statics. John Wiley & Sons, New York.
  * [24] Orduña A. 2017 Non-linear static analysis of rigid block models for structural assessment of ancient masonry constructions. Int. J. Solids Struct. 128, 23–35.
  * [25] Bouchitté G, Mattei O, Milton GW, Seppecher P. 2020 Guiding stress with cable networks and the spider web problem. SIAM News October 1st.