Open Access Article
Mariia
Dvoriashyna
*ab and
Eric
Lauga
*a
aDepartment of Applied Mathematics and Theoretical Physics, University of Cambridge, Wilberforce Rd, Cambridge CB3 0WA, UK. E-mail: m.dvoriashyna@ed.ac.uk; e.lauga@damtp.cam.ac.uk
bSchool of Mathematics and Maxwell Institute for Mathematical Sciences, University of Edinburgh, Peter Guthrie Tait Rd, Edinburgh EH9 3FD, UK
First published on 8th April 2025
The propulsion of many eukaryotic cells is generated by flagella, flexible slender filaments that are actively oscillating in space and time. The dynamics of these biological appendages have inspired the design of many types of artificial microswimmers. The magnitude of the filament's viscous propulsion depends on the time-varying shape of the filament, and that shape depends in turn on the spatial distribution of the bending rigidity of the filament. In this work, we rigorously determine the relationship between the mechanical (bending) properties of the filament and the viscous thrust it produces using mathematical optimisation. Specifically, by considering a model system (a slender elastic filament with an oscillating slope at its base), we derive the optimal bending rigidity function along the filament that maximises the time-averaged thrust produced by the actuated filament. Instead of prescribing a specific functional form, we use functional optimisation and adjoint-based variational calculus to formally establish the link between the distribution of bending rigidity and propulsion. The optimal rigidities are found to be stiff near the base, and soft near the distal end, with a spatial distribution that depends critically on the constraints used in the optimisation procedure. These findings may guide the optimal design of future artificial swimmers.
Inspired by the actuation and geometry of motile microorganisms, different designs of swimming microrobots have been developed,12,13 coming in a variety of shapes (e.g. rigid helical filaments, straight or helical elastic filaments, collection of beads), actuation mechanisms (e.g. rotation of a helical shape, planar or circular oscillation of an elastic tail, prescribed shape changes) and materials (cobalt composite on helical lipids, nickel or iron-filled carbon nanotubes, magnetic beads linked with DNA strands).10,14–18 For example, recently developed undulatory multilink nano-swimmers are controlled by a planar oscillating magnetic field, which sets elastic tails into oscillatory motion and creates forward propulsion, similar to the swimming of spermatozoa.17 Another example includes artificial bacterial flagella, in which a rigid helical shape attached to a thin soft-magnetic head rotated by an external rotating magnetic field, resulting in a corkscrew-type propulsion similar to that of flagellated bacteria.18
Biological microorganisms swim on small scales, with relevant Reynolds numbers ranging between
(10−5) and
(10−1).19 In this regime, inertia of both the swimmer and the surrounding fluid are negligible, and swimming strategies have to rely on viscous (Stokesian) forces to generate propulsion. One of the simplest swimming modes capable of creating propulsive forces at zero Reynolds number is the classical ‘flexible oar’, initially proposed by Purcell in his famous lecture on ‘life at low Reynolds numbers’.20 In this setup, a flexible tail is made to passively oscillate in a viscous fluid, generating travelling waves along the filament (whose amplitude tends to decay exponentially if the forcing is localised along the filament) and resulting in propulsion in the direction opposite to that of the wave propagation.21,22
This mode of swimming has been used experimentally in multiple artificial swimmers. For instance, Guo et al.23 developed a (cm)-scale fish-like microbot, with a main body made of wooden and styrol materials placed on a permanent magnet, and the fin made of a polyimide film sheet. Directly inspired by spermatozoa, Williams et al.24 developed a (mm)-scale biohydrid swimmer made of PDMS and actuated by contractile cardiomyocyte cells lining the base of the filament. Magdanz et al.25,26 developed IRONSperm, which comprised of bovine sperm cells (≈60 μm long) coated with a suspension of 100-nm rice grain-shaped maghemite nanoparticles and controlled by a magnetic field. A related device was designed by Celi et al.,27 composed of a superparamagnetic head and a flexible gold/polypyrrole (Au/PPy) flagellum, and actuated by a magnetic field. Mushtaq et al.28 developed a nano-eel, a multifunctional piezoelectric tailed nanorobot, which consisted of a smart flexible tail made of a polyvinylidene fluoride-based copolymer linked to a PPy nanowire head, decorated with nickel (Ni) rings for magnetic actuation. Theoretical modelling can help understanding physics underlying propulsion of these artificial microswimmers and propose ways of enhancing it.
From a theoretical standpoint, and following the pioneering contributions of Machin,21 the dynamics and propulsion of an elastic filament with constant thickness oscillating in a viscous fluid were modelled physically and mathematically in classical studies.22,29 These original models relied on a small-amplitude approximation, which allows linearisation of the equations of motion for the shape of the elastic filament. The propulsion is generated as a result of the quasi-steady balance of viscous and elastic forces. These linear models have been validated experimentally, using a (cm)-scale robot with an elastic tail actuated at its base, immersed in high viscosity silicone oil.30 Beyond the small-amplitude approach, the full elastohydrodynamic problem of an oscillating filament was studied numerically using the lattice-Boltzmann method,31 asymptotic coarse-grained elastohydrodynamics,32 and regularised Stokeslets,33 while further work also addressed the non-linear dynamics of biological filaments resulting from their molecular structure.34,35
With a view on applications in micro-scale robotics, designing a hydrodynamically optimal synthetic swimmer, i.e. one that can self-propel with the highest swimming velocity for a given energy expenditure, is a problem of fundamental interest. Biologically, this optimisation problem has received a lot of attention in the context of motile eukaryotic cells. It was shown that spermatozoa have an optimal flagellum-to-head length ratio, with the most efficient swimming mode involving symmetrical travelling waves in the flagellum.36 The travelling waves were shown to lead to the optimal motion in an active filament,37–39 while the mathematically optimal shape of the wave was shown to be sawtooth-like,40 with shape singularities that may be regularised by additional biophysical constraints.41,42 Recently, by making use of the new BOSO-Micro database,43 which includes a comprehensive collection of experimental data from the literature on the swimming speed and morphological characteristics of unicellular organisms, it was shown that amplitude-to-wavelength aspect ratios of flagellar eukaryotes are very close to the hydrodynamic optimum.44 Additionally, optimal head-to-tail ratios were studied for a model swimmer equipped with elastic filament actuated at the base,45 and the optimal shape of the head was investigated for a synthetic swimmer with magnetic head and an elastic tail.46
Focusing on the specific case of actuated elastic filaments, past work demonstrated that tapering an elastic filament may lead to an increase in viscous propulsion.47 For a filament with a circular cross-section of radius r(s), which depends on the arc-length s along the filament (see e.g.Fig. 1), the bending rigidity of the filament, A, scales as A ∼ r4. Thus, the tapered filaments are more rigid near the actuation point than the free end. Further studies considered specific functional forms for the filament radius r or the bending rigidity A, such as linear, quadratic, and exponential functions of s.47–50 In most cases, the propulsive force was shown to increase if the filament is stiffer at the base and softer at the distal end. A recent experimental investigation suggested that a microrobot equipped with DNA-based filament wrapped in a tapered bundle swims faster than the one with a bundle of constant thickness.51 These studies reveal a nontrivial relationship between the bending rigidity of the filament (in particular, how it cross-section varies) and the magnitude of the propulsion generated.
In this work, we propose to rigorously determine the relationship between the mechanical properties of the filament and the produced thrust. By considering a specific model system consisting of a beating elastic filament with an oscillating slope at its base, we determine the optimal bending rigidity function that maximises the time-averaged thrust produced by the actuated filament. Instead of prescribing a specific functional shape, we use functional optimisation and variational calculus to establish formally the link between the bending rigidity function and propulsion for different sets of constraints. We find that the optimal bending rigidity for this model swimmer is invariably stiff at the base of the filament and soft at the distal end.
This paper is structured as follows. We first formulate the model problem of a beating elastic filament with an oscillating slope at its base in Section 2.1, and simplify it in Section 2.2. We then pose in Section 2.3 the optimisation problem consisting in finding the cross-sectional shape that maximises the propulsive force generated by the filament. It is solved using an adjoint approach, which is implemented numerically in a steepest ascent algorithm in Section 2.4. We present the results of the optimisation procedure in Sections 3 and 4 and conclude with a discussion in Section 5.
axis and its base is located at
= 0. With
denoting the arclength along the filament, oscillations of the slope of the filament at
=
= 0 result in a planar wave propagating between the filament base and its free end located at
= L. We denote the position of the centreline of the filament at time
by ȳ(
,
), while the circular cross-section of the filament has radius
(
). The filament is assumed to be slender, so
(
) ≪ L everywhere. The goal of the paper is to determine the function
(
) which maximises the propulsion generated by the filament.
≈
. This approach captures the physics of the problem, and is known to remaining quantitatively accurate even beyond the strict small-amplitude regime of validity.30
In the absence of inertia, the shape of the filament is determined by a quasi-steady balance between hydrodynamic and elastic forces. To compute the viscous forces, we exploit the slenderness of the filament and use resistive force theory (RFT), which relates the hydrodynamic force density at any point along the filament to its local velocity via drag coefficients in the directions orthogonal and parallel to the local tangent to the filament, ζ⊥ = 4πμ/(ln(L/
) + 1/2), ζ‖ = 2πμ/(ln(L/
) − 1/2),52 where μ denotes the dynamic viscosity of the fluid. Within the assumptions of RFT, the viscous force density per unit length of the filament at each point can be written as
vis = −ζ⊥ − (ζ‖ − ζ⊥)t(t· ), | (1) |
is the local velocity distribution along the swimmer.19 For small-amplitude beating, the viscous force occurs primarily in the direction orthogonal to the flagellum axis (i.e. the ȳ direction), with density vis = −ζ⊥ , | (2) |
is the instantaneous velocity in ȳ direction.
To compute the elastic force density,
elastic, we make use of classical elastic beam theory.22,53 For displacement of the filament written as ȳ(
), the leading-order elastic force in the ȳ direction is given by
![]() | (3) |
) = EĪ(
) is the bending stiffness, a product of the material's Young's modulus, E, (assumed to be constant) and the second moment of cross-sectional area, Ī(
) = π
(
)4.
Imposing a quasi-steady balance between the viscous and elastic forces, eqn (2) and (3), we obtain the governing (classical) hyper-diffusion equation that describes the position of the centreline of the filament in time, in the linearised limit, as
![]() | (4) |
Note that the inextensibility of the filament comes in at higher order in the oscillation amplitude and, hence, does not appear in the linearised version above.
ȳ(0, ) = 0 fixed base, | (5a) |
![]() | (5b) |
![]() | (5c) |
![]() | (5d) |
Therefore, in the linearised limit ε ≪ 1, the leading-order position of the filament centreline satisfies eqn (4) along with the BCs in eqn (5).
direction, i.e. perpendicular to the beating direction. Although the drag coefficients ζ⊥ and ζ‖ appearing in eqn (1) depend on the local cross section of the filament, their dependence is logarithmic; we may thus treat them as constant in the slender limit.
Within the small-amplitude approximation we can write t ≈ (1,∂ȳ/∂
) and
= (0,∂ȳ/∂
). The local force in the
direction is then classically given by
(please see ref. 19 and 54 for detailed derivation). Since waves are expected to propagate in the positive
direction, and propulsion to occur in the opposite direction, the magnitude of the time-averaged propulsive force experienced by the filament,
, is obtained by taking a double integral in time and space of −
x, so that
![]() | (6) |
direction).
direction, and the small-amplitude motion of magnitude εL along ȳ. A relevant scale A0 for the rigidity can be defined using the length of the filament, A0 = L4ωζ⊥, so that Ā = A0A. This choice corresponds to a relevant dimensionless Sperm number, defined as Sp = L(ζ⊥ω/A0A)1/4, of one when A = 1.19
We thus define the dimensionless variables
y = ȳ/εL, t = ω, x = /L, A = Ā/A0, | (7) |
![]() | (8) |
in eqn (6) now scales with relevant magnitude (ζ⊥ − ζ‖)ε2L2ω and the dimensionless force, F, is given by![]() | (9) |
y(x,t) = f(x)cos t + g(x)sin t. | (10) |
| −f + (A(x)g′′)′′ = 0, | (11a) |
| g + (A(x)f′′)′′ = 0. | (11b) |
1 and
2 the left hand sides of eqn (11a) and (11b), respectively.
Using eqn (10), the propulsive force from eqn (9) can be then simplified as
![]() | (12) |
Finally, the non-dimensional boundary conditions (5) transform into
| f(0) = f′(0) = f′′(1) = f′′′(1) = 0, | (13a) |
| g′(0) = 1, g(0) = g′′(1) = g′′′(1) = 0. | (13b) |
(which is positive) over all possible distributions of bending rigidities, Ā, subject to the equations for the filament dynamics, i.e.![]() | (14) |
![]() | (15) |
The functional optimisation problem in eqn (15) in general needs to be solved numerically.
To derive the adjoint problem we consider small perturbations, A → A + δA, f → f + δf and g → g + δg, of both
1(11a) and
2(11b). Keeping only the first-order terms we obtain
| δf − (δAg′′)′′ − (Aδg′′)′′ = 0, | (16a) |
| δg + (δAf′′)′′ + (Aδf′′)′′ = 0. | (16b) |
![]() | (17) |
![]() | (18) |
We will specify the boundary terms later.
Following a similar calculation, the weak form of eqn (16b) with a test function j can be written as
![]() | (19) |
Taking the difference between eqn (18) and (19) we obtain
![]() | (20) |
The variation of the propulsive force F → F + δF in eqn (12) at linear order reads
![]() | (21) |
![]() | (22) |
In order to compute the functional derivative, we need to make an explicit link between δA and δF. To do this, we equate the left-hand side of (20) with the right-hand side of (22), by choosing the adjoint functions h and j to satisfy the field equations
| h − (Aj′′)′′ = g′, | (23a) |
| j + (Ah′′)′′ = f′, | (23b) |
| h(0) = h′(0) = h′′(1) = 0, (Ah′′)′(1) = f(1)/2, | (24a) |
| j(0) = j′(0) = j′′(1) = 0, (Aj′′)′(1) = −g(1)/2. | (24b) |
![]() | (25) |
| dF/dA := f′′j′′ + g′′h′′, | (26) |
In the second constraint C2, A is bounded below (by a) and the filament has a fixed volume. Recalling that Ā = Eπ
4, we can rewrite it in dimensionless form as A = Ẽr4 with
, where r0 is a characteristic thickness of the filament. The dimensionless volume of the filament is
. The constraint for fixed volume, V, can thus be written as
.
The two sets of constraints we consider are therefore
• (C1) a ≤ A(x) ≤ b; or
. An example where the shape is initially chosen to have a cubic profile is shown in Fig. 3 as dashed line in the case [a,b] = [0.01,0.1], an interval that contains the optimal constant value from Fig. 2.
We applied the algorithm described in Section A.1 setting the tolerances to δ1 = δ2 = 10−5. Independently of the shape taken for the initial condition, we systematically find that the final solution for the optimisation problem is a step-like function, illustrated with solid line in Fig. 3, that takes value A = b at the proximal end, the value of A = a at the distal end and undergoes a sudden jump between a and b at a dimensionless point x0; for example, we have x0 ≈ 0.47 for [a,b] = [0.01,0.1]. When the filament is built of the same material throughout, a step-like function for the bending rigidity corresponds to a piecewise-constant radius for the filament. The corresponding spatial positions of the filament y(x,t) at different time points are shown in the inset of the Fig. 3. The resulting propulsive force is F ≈ 0.116, which is almost twice higher than the optimal force in the case of uniform rigidity (Fig. 2).
To test whether it is the only optimal solution for given [a,b], we run the algorithm for 20 random initial conditions (represented as a truncated Fourier series with random modes) and always obtain the same final step-like solution. For different choices of a and b, the optimal solutions are also invariably step functions, and the values of the jump points x0 depend on the values of both a and b.
![]() | ||
| Fig. 4 Normalised functional derivative dF/dA in the case of a constant dimensionless bending rigidity A (three different values, see inset). | ||
Physically, our solution indicates that the front of the optimal filament tends to be stiff, which creates a finite amplitude for the beat (akin to a filament with clamped end). The distal part, in turn, is much softer, which leads to an asymmetry in the stroke and generates propulsion.
Assuming that A takes form A = b + (a − b)H(x − x0), where H is a Heaviside function (i.e. H(x) = 0 for x ≤ 0 and 1 for x > 0), we can split the problem in eqn (8) into two separate equations on the left and right of the jump point x0
![]() | (27a) |
![]() | (27b) |
The boundary conditions at the point of discontinuity of A are continuity of function y and its derivative, i.e.
![]() | (28) |
![]() | (29) |
Looking for solutions of the form y = Re(ỹeit), these equations are simplified to
| iỹ1 = −bỹ(iv)1, x ≤ x0, | (30a) |
| iỹ2 = −aỹ(iv)2, x > x0. | (30b) |
The general solution to eqn (30) is
| ỹ1 = C1eαx + C2e−αx + C3eiαx + C4e−iαx, | (31a) |
| ỹ2 = D1eβx + D2e−βx + D3eiβx + D4e−iβx, | (31b) |
and
. Applying the boundary conditions from eqn (28) and (29), we obtain a linear system for the values of Ci and Di, which is easily inverted numerically.
The propulsive force (9) can then be computed analytically using the dynamics in eqn (27), boundary conditions (28) and (29) and integration by parts,
![]() | (32) |
We first observe from Fig. 5a that F grows systematically when b is increasing and a is decreasing. Increasing the value of b further than 1, however, results in a very slow growth of F. Indeed, for a = 10−3, increasing b from b = 1 to b = 10, results in increasing F by only about 2%. Our results show that F reaches a maximum of ≈0.26, which is over four times higher than the maximum value of 0.06 obtained with a spatially uniform rigidity (see Fig. 2).
The contribution of the distal end of the filament to the propulsion (x > x0) is captured by the term
![]() | (33) |
To understand physically why the optimal value of x0 is set by the flexible end, let us consider a simplified setup and focus solely on the distal end portion, x ∈ [x0,1], in the limit where it is set into motion by an oscillating proximal end that is straight and rigid; in that case, by reversibility, the proximal end does not contribute to any propulsion. The problem in eqn (27) then reduces to,
![]() | (34) |
sin
t and the slope will coincide with the actuation at the base of the rigid filament yx(x0,t) = sin
t; the actuation of the flexible portion of the filament is therefore a combination of oscillating position and slope.
The solution to eqn (34) can be found analytically, as it is a problem for a filament with constant bending rigidity.22 The resulting propulsive force, termed Fend, is shown in Fig. 6 as a function of x0 for the values a = 0.001 and b = 1. The optimal value for x0 is seen to be the same for this simplified problem as for the full optimisation, demonstrating that the propulsion is indeed governed by the distal portion of the filament. In this simplified problem, the location of x0 determines both the length of the soft distal part of the filament (1 − x0) and the displacement at its base. The intermediate value of x0 is set by a balance between the requirement of having a finite-sized length for the oscillating distal part (so x0 not too close to 1) and the requirement of having a finite oscillating amplitude (so x0 not too close to 0).
Similarly in the bounded case, the value of A is seen to be constant and equal to the lower boundary a beyond a certain location x0. However, in contrast with the previous case, closer to the base (i.e. for x < x0) the bending rigidity A is no longer constant but is always a continuously decreasing function of x.
In Fig. 7b we show the resulting propulsive force. We find that larger prescribed volumes V0 lead to systematically higher propulsive force. However, as seen in the figure, the increase slows down; from V0 = 0.4 to V0 = 0.9, the value F increases only by about 4%, while from V0 = 0.7 to V0 = 0.9 only by 0.5%.
In the case where the material has a constant Young's modulus, our result for the optimal bending rigidity means we have a solution for optimal radius of the filament, given by r = (A/Ẽ)1/4. An example of the optimal r for V = 0.5 and a = 0.01 is shown with solid red line in the inset of Fig. 8.
![]() | ||
Fig. 8 Maximum propulsive force (colours) for A given by the empirical ansatz in eqn (35) as a function of the parameters V0 and a. Inset: The spatially variable thickness of the filament for V0 = 0.5 and a = 0.01 (i.e. we assumed Ẽ = 1). The solid curve is the optimal shape obtained numerically, while the dashed curve is the approximated optimal shape from eqn (35). | ||
![]() | (35) |
Using this model, we may vary the values of both a and V0 and compute the maximum value for F over possible values of x0, as shown in Fig. 8. The results are very similar to those obtained with the optimisation under the constraint C1. Indeed, the propulsive force is systematically larger if a is small and if V0 is large, as was seen in Fig. 5a, while the values of the optimal transition point x0, after which the function A, is a constant are very similar to Fig. 5b (not shown).
The physical interpretation of the results in this section is very similar to the one we proposed in the previous section and for both constraints A is stiff at the base and soft at the distal end with x0 governing the length of the soft distal end.
Our main finding demonstrates that, in all tested cases, the optimal filament must be stiff at the base and soft at the distal end for optimal propulsion, which we were able to interpret physically. In the case where A is constrained to remain bounded between prescribed values a and b, the optimal solution is invariably piecewise constant: A assumes the upper bound near the filament's base and the lower bound at the distal end. When b is substantially larger than a the propulsive force increases by more than a factor of 4 above the optimal value for a spatially uniform A. The transition point, x0, where the rigidity abruptly goes from the upper bound to the lower bound is located about 2/3 along the filament's length, which we demonstrated is governed by the propulsive physics at the distal end. For the fixed volume constraint, the optimal filament continues to have higher stiffness at the base and becomes softer towards its distal end, but in this case the shape decreases smoothly near the base.
To further illustrate the advantage of using a filament with varying bending rigidity, consider the (mm)-scale PDMS filament from Williams et al.24 with length L = 1.5 mm, radius r = 5 μm and Young's modulus of 3.86 MPa. Using the viscosity μ = 1.15 mPa s24 and frequency ω/2π = 3.6 Hz, we obtain the estimate A ≈ 0.03. Small oscillations with angle ε = 0.4 rad of this filament yields a propulsive force of
≈ 0.3 nN. If instead the distal part of the bending rigidity is reduced by one order of magnitude compared to the proximal part, the force increases by almost one order of magnitude to about
≈ 1.7 nN. Similarly, for a PPy filament with L = 9 μm, r = 100 nm,17 a Young's modulus of 100 MPa56 and oscillating with frequency ω/2π = 20 Hz,17 we estimate A ≈ 1 in 65% glycerol solution (μ = 15 mPa s57). Under an oscillation slope of ε = 0.4 rad, we obtained a small propulsive force of
≈ 0.22 pN; however, lowering the bending rigidity of the distal part by two orders of magnitude increases the force by a factor of about 18, to
≈ 4 pN.
In Peng et al.50 the authors studied the optimal propulsion of a filament with two segments: one rigid and one soft. They showed that for the case of a clamped oscillating filament, the maximum thrust is achieved when the base is rigid and the distal end is soft, with a transition point of 0.82 of the total length. In contrast, for a hinged filament, the propulsion is maximised if the base of the filament is soft and the distal end is stiff, highlighting the importance of the actuation mechanism in determining the optimal bending rigidity.
Additionally, our study focused on maximising solely the propulsive force, and it will be valuable to explore other objectives such as maximising swimming speed or hydrodynamic efficiency. In our simplified model, maximising swimming speed for a swimmer with a passive filament would lead to the same optimal solution. Indeed, in that case the steady horizontal constant velocity V of the swimmer is obtained by balancing drag and propulsion as
, where Dh is drag coefficient for the head.48,54 Since, at small amplitude, only the propulsive force depends on filament dynamics, the optimisation for V is identical to that of
.
Our study exhibits certain limitations that could be subject to future research. Firstly, our assumption of linearised elastohydrodynamics means that our model is not suitable for describing large displacements of the filament. Secondly, we rely on resistive-force theory, which simplifies our analysis by neglecting hydrodynamic interactions between different parts of the filament. While this is a reasonable approximation for small amplitude deformations, it may not hold true when the filament undergoes significant curvature. Furthermore, the model does not account for the change in drag coefficients with r, which appear in the force balance eqn (4) and in the expression of the propulsive force (6). In the present work, we looked at changes in bending stiffness up to 3–4 orders of magnitude, which would correspond to changes in r by about one order of magnitude. This will result in changing drag coefficients by about a factor of 2, which may alter the precise quantitative nature of the optimal solution.
• Choose the initial condition A1, a ≤ A1 ≤ b.
• For k = 1,2,3,…, repeat the following steps until convergence criteria are achieved
(1) Solve for filament dynamics, eqn (11)–(13), and the adjoint problem, eqn (23) and (24), with given Ak. We use Matlab solver bvp4c to solve the ODE system;
(2) Set sk = dF/dA|Ak, where the functional derivative is computed using eqn (26);
(3) Choose step σk by projected Armijo rule (see below) such that F(P(Ak + σksk)) > F(Ak);
(4) Set Ak+1 := P(Ak + σksk).
Defining the errors
| err1 = |F(Ak) − F(Ak−1)|/F(Ak−1), err2 = max|Ak − Ak−1|, | (36) |
To choose the optimisation step σk, we use the projected Armijo rule and choose maximum σk ∈ {1,1/2,1/4,…} for which
![]() | (37) |
![]() | (38) |
. The optimisation algorithm is then similar to the one in Section A.1, replacing F with FV and considering the projection function only for lower boundary, P(A) = max(a,A). Since we do not want the final solution to depend on the value of ρ, we set the penalty parameter ρ to be an increasing sequence ρm = ρ02m, where ρ0 is an initial choice. For each value of ρm we solve the minimisation problem reported in Section A.1 until convergence is reached for given tolerances δm1 and δm2. For convenience, we work in terms of the radius r instead of A, and thus the errors at each step k are err1 = |F(Ak) − F(Ak−1)|/F(Ak−1) and err2 = max|rk − rk−1|. We then consider the next value of ρm and follow the procedure again, until the error err3 = |F(Am) − F(Am−1)|/F(Am−1) + max|rm − rm−1| gets smaller than a set tolerance δ3 or a maximum number of iterations is reached. In our solution we set min
δm1 = 10−4, min
δm2 = 10−4 and δ3 = 5 × 10−5.
| This journal is © The Royal Society of Chemistry 2025 |