## 3 Theory and Numerical Method
### Numerical Method
The advective velocity components of i-th vortex blob are computed taking into consideration the contributions of crosswind velocity (when included), the cluster of vortex blobs (the Biot-Savart law), and their images (method of images) placed below the ground plane (Figure 1). The Biot-Savart law is evaluated through [9]:  
\[\overline{\upnu_{\mathrm{k}}^{\mathrm{n}}}(\mathbf{x}_{\mathrm{k}},\mathbf{t })=\sum_{\mathrm{j}=1}^{\mathrm{NV}}\Gamma_{\mathrm{j}}c_{\mathrm{kj}}^{ \mathrm{n}}[\mathbf{x}_{\mathrm{k}}(\mathbf{t})-\mathbf{x}_{\mathrm{j}}( \mathbf{t})],\;\mathrm{n}=1,\,2;\;\mathrm{k}=1,\,\mathrm{NV} \tag{10}\]  
where n represents two velocity components, NV is the total number of vortex blobs, \(\Gamma_{\mathrm{j}}\) is the strength of every vortex blob, and \(c_{\mathrm{kj}}^{\mathrm{n}}[\mathbf{x}_{\mathrm{k}}(\mathbf{t})-\mathbf{x}_{ \mathrm{j}}(\mathbf{t})]\) represents the nth component of the velocity induced by the j-th vortex blob (of unitary strength) at location of the k-th vortex blob. It is important to observe that vortex images only induce velocity. Equation (6) indicates that vorticity is conserved during advection solution [34]. Thus, the advection problem is numerically solved by interpreting every vortex blob as a fluid material particle, whose trajectory equation is computed by an explicit Euler scheme [35], such as:  
\[\frac{\mathrm{d}\mathbf{x}_{\mathrm{i}}}{\mathrm{d}\mathbf{t}}=\,\overline{ \mathbf{u}}_{\mathrm{i}_{\mathrm{i}}}(\mathbf{x}_{\mathrm{i}},\mathbf{t}) \tag{11}\]  
Equation (7) is numerically solved based on the vortex blob splitting algorithm proposed by [PERSON] [15]. The corrected core-spreading method avoids the consistency error of the core-spreading algorithm (CSA) caused by advection, not including the deformation of larger and larger vortex blobs as they spread. The contribution of this paper is then to simulate Lagrangian vortices interactions using a large-eddy simulation (LES) and surface roughness model blended with the CSA corrected by [PERSON] [15]. Thus, the diffusion part in Equation (5), which is separated in Equation (7), is solved at every time-step, \(\Delta\mathrm{t}\), in agreement with:  
\[\sigma_{0\mathrm{i}}(\mathrm{t}+\Delta\mathrm{t})=\sqrt{\sigma_{0\mathrm{i}} ^{2}(\mathrm{t})+4\frac{\Delta\mathrm{t}}{\mathrm{Re}}\bigg{(}1+\frac{\
u_{ \mathrm{t}}(\mathrm{t})}{\
u}\bigg{)}} \tag{12}\]  
where \(\sigma_{0\mathrm{i}}\) is i-th viscous core. The originality of the present technique is to include the local eddy viscosity coefficient computation in Equation (12). The use of the second-order velocity structure function of the filtered field is advantageous over the Smagorinsky model when using a Lagrangian vortex method, since the concept of velocity fluctuations is used instead of the rate of deformation, see Equation (4). The velocity field computation is available to calculate the local eddy viscosity coefficient during every time increment of a typical numerical simulation. As explained by [PERSON] [15], the core radius \(\sigma_{0\mathrm{i}}\) must be submitted to the partition scheme when it reaches the maximum permissible/controlled value. That numerical strategy creates four new vortex blobs (starting from the original vortex blob), each with a quarter of the original circulation and a core radius given by \(\sigma=\alpha\sigma_{0\mathrm{i}}\). Then, the vortex blobs must be positioned at \(90^{\circ}\), and every other is at a distance \(\mathrm{r}\) given by:  
\[\mathrm{r}=2\sigma_{0\mathrm{i}}\sqrt{1-\alpha^{2}} \tag{13}\]  
where that distance is measured from the center of the vortex blob before suffering partition, and the partition scheme is governed by parameter \(\alpha\)[0, 1]. It is clear that the maximum permissible value for the core radius is not a determining factor for the convergence of the method, unlike \(\alpha\). A typical algorithm of Lagrangian vortex method simulation to take account of all these effects is implemented using an in-house code via parallel computing (OpenMP); it can be summarized as follows:  
1.