## 2 Problem and Numerical Setup  
In this paper, the Navier-Stokes equations for an incompressible viscous flow are numerically integrated; their nondimensional forms read:  
\[\frac{D\mathbf{u}}{Dt}=-\
abla p+\frac{1}{Re}\
abla^{2}\mathbf{u}+\mathbf{f}, \qquad\
abla\cdot\mathbf{u}=0, \tag{1}\]  
with \(\mathbf{u}\) the velocity, \(p\) the pressure, \(D/Dt\) the material derivative, and \(\mathbf{f}\) a forcing for the immersed boundary method (specified later). Equation (1) have been spatially discretized in a cylindrical coordinate system using staggered central second-order accurate finite-difference approximations. Figure 1: Phase diagram of the regimes for the flow around a torus: \(\bullet\) indicate axisymmetric runs, \(\circ\) three-dimensional simulations. \(\mathbf{V}\): Stokes regime; \(\mathbf{S}\): steady regime; \(\mathbf{H}\): Hill regime; \(\mathbf{U}\): unsteady regime; \(\mathbf{3D}\): three-dimensional regime. Note that the runs at \(Re<0.1\) are not reported in the figure to avoid the squeezing of the regions to the right. Details of the numerical method are given in [11], and only the main features are summarized here. The discretized system is integrated using a fractional-step method where the viscous terms are computed implicitly and the convective terms explicitly. At each time step, the momentum equations are provisionally advanced in time using the pressure at the previous time step, giving an intermediate non-solenoidal velocity field. A scalar quantity \(\Phi\) is then introduced to project the non-solenoidal field onto a solenoidal one. A hybrid low-storage third-order Runge-Kutta scheme is used to advance the equations in time. The forcing \(\mathbf{f}\) of Equation (1) is introduced to handle complex geometric configurations without a body conformal mesh; this is the immersed boundary method whose details can be found in [12]. In a few words, if Equation (1) is rewritten as \(\partial\mathbf{u}/\partial t=\mathbf{RHS}+\mathbf{f}\), with \(\mathbf{RHS}\) containing the advective, pressure, and viscous terms, its time discrete version reads:  
\[\frac{\mathbf{u}^{n+1}-\mathbf{u}^{n}}{\Delta t}=\mathbf{RHS}^{n+1/2}+\mathbf{ f}^{n+1/2}. \tag{2}\]  
Here the superscripts indicate the discrete time levels and \(n+1/2\) indicates the midpoint between times \(t^{n}\) and \(t^{n+1}\). If at the immersed boundary the fluid velocity is imposed as \(\mathbf{u}^{n+1}=\mathbf{u}_{b}\), Equation (2) can be explicitly solved for \(\mathbf{f}^{n+1/2}\), yielding  
\[\mathbf{f}^{n+1/2}=-\mathbf{RHS}^{n+1/2}+\frac{\mathbf{u}_{b}-\mathbf{u}^{n}}{ \Delta t}\,, \tag{3}\]  
which is imposed at all immersed interface nodes while it results \(\mathbf{f}^{n+1/2}=0\) everywhere else. This procedure allows the imposition of a velocity boundary condition on an arbitrary surface, and is consistent with the centered second-order finite-difference approximation; therefore, the overall accuracy of the scheme remains second-order [12]. The problem is sketched in Figure 2, and is summarized as follows: a torus of radius \(R\) and core radius \(a\) is normally placed along the axis of a cylindrical domain of radius \(L_{r}\) and length \(L_{x}\), respectively, in the radial \(r\) and axial \(x\) directions. The torus is at a distance \(L_{i}\) from the inflow (\(x=0\)). The flow boundary conditions are:  
\[u_{x}=U,\qquad u_{r}=u_{\theta}=0\qquad\text{uniform axial inflow at $x=0$}, \tag{4}\]  
\[u_{r}=0,\qquad\frac{\partial u_{x}}{\partial r}=\frac{\partial u_{\theta}}{ \partial r}=0\qquad\text{stress highlight}-\text{free radial boundary at $r=L_{r}$},\]  
\[\frac{\partial\mathbf{u}}{\partial t}+c\frac{\partial\mathbf{u}}{\partial x}= 0\qquad\text{for}\qquad\text{convective outflow at $x=L_{x}$}\]  
\[\mathbf{u}=0\qquad\text{noslip condition at the torus surface}.\]  
In the boundary conditions at (\(x=L_{x}\)), all the velocity components are advected outside the domain with a velocity \(c\) which is dynamically determined so as to assure the free-divergence of the velocity field at every time step.