## 2 Methods
### Computational Setup  
The boundary condition described above has been implemented in OpenFOAM [30], an open-source finite-volumes CFD library widely used in engineering and science, both in commercial and academic studies. Before considering the UAV, the boundary condition has been validated on flow cases of increasing complexity where at least partial information is available for comparison: a flat plate and a NACA 0012 airfoil. The selected flow solver is SimpleFOAM, which uses the SIMPLE (Semi-Implicit Method for Pressure-Linked Equations) algorithm to solve the incompressible steady RANS equations. The \(k-\omega\) SST turbulence model [31] has been adopted in this work, where standard values for the coefficients and no transition model have been used. For all the simulations, we adopt a freestream ratio between eddy and laminar viscosity equal to 0.001, together with free-stream turbulence intensity of \(TUL_{\infty}=5\%\), with the only exception of the flat plate case, for which \(TUL_{\infty}=0.5\%\). The spatial discretization used for the divergence, gradient, and Laplacian operators is second-order accurate. All the results have been checked to be fully converged in integral quantities (drag and lift) and in the residuals, by ensuring that the \(L_{1}\) norm reduced to \(10^{-8}\) times the initial value of the residual. The study considers three geometries of increasing complexity. The first case is a two-dimensional flat plate boundary layer of length \(L=2\) m is considered, where \(Re=U_{\infty}L/\
u=10^{6}\). With air as working fluid, and a free-stream velocity of \(U_{\infty}=5\) m/s, the computational domain is rectangular and extends for 2.3 m in length and 1 m in height. The flat plate sits along the lower boundary of the computational domain. The domain extends 0.3 m upstream of the flat plate, and a symmetry boundary condition is used to simulate a free stream approaching the plate in this region. A suitable volume mesh is designed with the BlockMesh utility available in OpenFoam, and checked to yield mesh-independent results with a mesh sensitivity study. The final mesh, which provides a local friction coefficient that does not vary with further refinements, consists of 125,000 hexahedral elements, with 250 cells in the wall-normal direction and 500 cells in the wall-parallel direction, of which 400 are distributed over the flat plate. Non-uniform grid spacing is adopted to obtain more resolution in the near-wall and in the leading-edge regions, to better capture the boundary-layer development. Transition is adequately described, and the distance \(y_{1}\) of the first cell from the wall is always below unity when expressed in wall units, i.e., \(y_{1}^{+}<1\). The second case is a two-dimensional NACA 0012 airfoil, at a chord-based Reynolds number of \(Re_{\infty}=10^{6}\). The airfoil chord \(c\) is taken of unitary length at 1 m, and the far-field boundary is located approximately 50\(c\) away from the airfoil surface. A mesh sensitivity study is carried out on a number of C-type grids by observing changes in the drag coefficient after successive mesh refinements. The chosen grid consists of 450 hexahedral cells in the chord-normal and 725 in the chord-tangent directions, and provides a repeatable transition location. The mesh spacing near the airfoil is sufficient to ensure \(y^{+}<1\) over the airfoil surface. Stretching of the grid is used to improve resolution in the wake region. To further validate the mesh accuracy, the solution has also been checked as a function of the angle of attack \(\alpha\). Hence, a number of preliminary runs at various values of \(\alpha\) have been performed, without riblets, by replicating the flow conditions used in [32]. The outcome in terms of lift and drag coefficients is in very good agreement with the results reported by [32], as well as with the experimental measurements described in [33]. The final and most important case is the UAV.