is chosen to be sufficiently large such that further resolution does not significantly alter the density q ( x ) or the swimming velocity U . At each time, the curve ( r ( s, t ) , z ( s, t )) is discretized uniformly in s . Application of a Nystr¨ om collocation method produces a linear system of equations for the density q ( x ) at the gridpoints, which is then solved iteratively using the method GMRES [50], with an inversion error tolerance such that the only errors are due to discritization. Finally, the body position z$_{0}$ ( t ) is updated at each time using a second-order Runge-Kutta method. Both convergence tests and comparison with known exact solutions were used to validate the code [51–54]. Computing the hydrodynamic or swimming efficiency (which requires pointwise information about the stress σ ) is more difficult. Here we compute σ ( x ) using the approach outlined below, though a more detailed description of the method and examples of its use will be featured in a subsequent paper. Many common methods for computing the stress are developed using a first-kind boundary integral formulation of the Stokes equations, and hence can suffer from the ill-posedness of the underlying equations [48]. Instead, we solve for the surface stress by evaluating a hypersingular integral which may be derived from the second-kind integral equation for the velocity (see Ref. [48]), 1 µ σ$_{im}$ ( x ) = ∫ S q$_{j}$ ( y ) L$_{ijkm}$ ( x , y )ˆ n$_{k}$ ( y ) dS$_{y}$, (23) L$_{ijkm}$ ( x , y ) = − 4 δ$_{im}$δ$_{jk}$ | x − y | 3 − 6 ( x$_{k}$ − y$_{k}$ )[ δ$_{jm}$ ( x$_{i}$ − y$_{i}$ ) + δ$_{ij}$ ( x$_{m}$ − y$_{m}$ )] | x − y | 5 − 6 ( x$_{j}$ − y$_{j}$ )[ δ$_{mk}$ ( x$_{i}$ − y$_{i}$ ) + δ$_{ik}$ ( x$_{m}$ − y$_{m}$ )] | x − y | 5 + 60 ( x$_{i}$ − y$_{i}$ )( x$_{j}$ − y$_{j}$ )( x$_{k}$ − y$_{k}$ )( x$_{m}$ − y$_{m}$ ) | x − y | 7 , (24) where and we have set S ( t ) = S for clarity. The expression L ( x , y ) is achieved by differentiating the double-layer integral for the fluid velocity and including the pressure term which may also be written as an integration against q ( x ), with σ = − p I + µ ( ∇ u + ∇ u $^{T}$) (see Ref. [48]). The stress is determined on the same spatial grid as used to determine the swimming velocity, a uniform discritization in s of the curve ( r ( s, t ) , z ( s, t )) (with polar angle φ = 0). The integration of Eqn (23) is performed in local polar coordinates, and the singular contributions are handled analytically as follows. The procedure follows the work of Guiggiani et al. [55]. The integration of Eq. (23) is performed on a modified surface ˜ S = s$_{ϵ}$ + ( S − e$_{ϵ}$ ) and is taken in two parts: the portion of a sphere of radius ϵ centered at the singular point x which is internal to the body surface ( s$_{ϵ}$ ) and intersects the surface S at its boundary, and the body surface punctured 22