## Appendix B Staggered-Grid Finite-Volume Approach
With this purpose, the momentum flux density tensor used in the momentum Equation (A5) can be modified, in a way similar to that used for incorporating viscosity effects, as follows:  
\[\partial(\rho\mathbf{u})/\partial t+\
abla\cdot(\rho\mathbf{u}\mathbf{u}+ \mathbf{D})=-\
abla p\] (A12)  
where the tensor \(\mathbf{D}\) is assumed to depend linearly on the local momentum gradients, i.e.,  
\[\mathbf{D}=\epsilon\
abla(\rho\mathbf{u})\] (A13)  
The scalar quantity \(\epsilon\) has the dimensions of a kinematic viscosity and can thus be interpreted as a momentum diffusion coefficient. With this prescription, the contribution of the diffusion term \(\
abla\cdot\mathbf{D}\) will only be relevant if significant gradients exist, and any resulting spurious oscillations will be damped. Adding the projection of Equation (A12) onto the direction of a connector to the discretized momentum equation one gets:  
\[(\rho_{c}u_{c}A_{c})^{n+1}=(\rho_{c}u_{c}A_{c})^{n}+\left(\frac{\Delta t}{ \Delta L}\right)\left\{\left[\left(\rho u_{n}^{2}+p\right)_{L}+\left(\rho u_{ n}^{2}+p\right)_{R}\right]A_{c}+\left(\widetilde{D}_{Ln}-\widetilde{D}_{Rn} \right)\right\}\] (A14)  
where \(\widetilde{D}_{L}\) and \(\widetilde{D}_{R}\) are the projections onto the connector direction of tensor \(\widetilde{\mathbf{D}}=\epsilon\
abla(\rho\mathbf{u}A)\) computed in the two adjacent volumes. Following [35], the momentum diffusion coefficient is computed by relating the mesh size and the time step to the local flow velocity at the volume, as:  
\[\epsilon=\frac{|\mathbf{u}|}{2}(\Delta L-|\mathbf{u}|\Delta t)\] (A15)  
and the gradient of mass flow \(\
abla(\rho\mathbf{u}A)\) is also computed from the projections of the mass flows of the adjacent connectors onto each direction. Considering now the FCT technique, it was initially conceived to be used in a finite differences scheme, but it was adapted to a finite volume staggered grid in [34]. In the FCT technique three stages can be identified: a transport stage based on the scheme considered, a diffusion stage where the numerical dispersion is reduced, and an anti-diffusion stage in which the accuracy of the scheme where the solution is smooth is restored. The diffusion operator is defined as:  
\[D_{j}(W)=\theta\Big{(}W_{j+1/2}\Big{)}-\theta\Big{(}W_{j-1/2}\Big{)}\] (A16)  
with,  
\[\partial(\rho\mathbf{u})/\partial t+\
abla\cdot(\rho\mathbf{u}\mathbf{u})=-\
abla p \tag{11}\]0 (A17)  
where \(W_{j}\) is the conservative variable computed at cell \(j\) in the transport stage, \(j\pm 1/2\) indicates that the conservative variable is evaluated in the midpoint between \(j\) and \(j\pm 1\), and the factor \(\theta\) is a positive real number with \(\theta\geq 1/2\). Calculating the diffusion via damping, as suggested in [34], the new variable \(\overline{W}_{j}\) is obtained as:  
\[\partial(\rho\mathbf{u})/\partial t+\
abla\cdot(\rho\mathbf{u}\mathbf{u})=-\
abla p \tag{11}\]1 (A18)  
When considering a staggered mesh finite volume method, the FCT is only applied to the momentum equation, since this is the main source of oscillations. Therefore, all the calculations in the volumes are made using \(W_{j}^{n}=\left(\rho u_{c}A_{c}\right)_{j}^{n}\) as the conservative variable, whereas the calculations in the midpoints make use of the variables evaluated at the volumes adjacent to the connector. Finally, the non-linear anti-diffusion operator \(A_{j}\) is defined as:  
\[\partial(\rho\mathbf{u})/\partial t+\
abla\cdot(\rho\mathbf{u}\mathbf{u})=-\
abla p \tag{11}\]2 (A19)Making use of the anti-diffusive limited flow defined in [37] gives:  
\[\partial(\rho\mathbf{u})/\partial t+\
abla\cdot(\rho\mathbf{u}\mathbf{u})=-\
abla p \tag{11}\]3  
where \(\text{s}=\text{sign}\Big{(}\Delta W_{j-1/2}\Big{)}\), \(\Delta W_{j-1/2}=W_{j}-W_{j-1}\), \(\Delta W_{j+1/2}=W_{j+1}-W_{j}\) and \(\Delta W_{j+3/2}=W_{j+2}-W_{j+1}\).