diff --git a/src/riemann/riemann_hllc.h b/src/riemann/riemann_hllc.h index b8b1239d7799221c98522c06631aba5cabe69183..1a4c3f5f8338f6504a8c5f1d9eab8451eb20246c 100644 --- a/src/riemann/riemann_hllc.h +++ b/src/riemann/riemann_hllc.h @@ -145,11 +145,13 @@ __attribute__((always_inline)) INLINE static void riemann_solve_for_flux( we add the extra velocity flux due to the absolute motion of the fluid similarly, we need to add the energy fluxes due to the absolute motion */ v2 = vij[0] * vij[0] + vij[1] * vij[1] + vij[2] * vij[2]; + // order is important: we first use the momentum fluxes to update the energy + // flux and then de-boost the momentum fluxes! + totflux[4] += vij[0] * totflux[1] + vij[1] * totflux[2] + + vij[2] * totflux[3] + 0.5 * v2 * totflux[0]; totflux[1] += vij[0] * totflux[0]; totflux[2] += vij[1] * totflux[0]; totflux[3] += vij[2] * totflux[0]; - totflux[4] += vij[0] * totflux[1] + vij[1] * totflux[2] + - vij[2] * totflux[3] + 0.5 * v2 * totflux[0]; } #endif /* SWIFT_RIEMANN_HLLC_H */