From 6e8c770149d803076b76b45a0f7c37c8ac3e8c6d Mon Sep 17 00:00:00 2001 From: Yolan Uyttenhove <yolan.uyttenhove@ugent.be> Date: Tue, 28 Nov 2023 11:08:47 +0100 Subject: [PATCH] Fix bug: move total metal mass flux out of for loop --- src/chemistry/EAGLE/chemistry_additions.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/chemistry/EAGLE/chemistry_additions.h b/src/chemistry/EAGLE/chemistry_additions.h index ccc2c46777..20fc423d11 100644 --- a/src/chemistry/EAGLE/chemistry_additions.h +++ b/src/chemistry/EAGLE/chemistry_additions.h @@ -46,17 +46,17 @@ __attribute__((always_inline)) INLINE static void runner_iact_chemistry_fluxes( * is gaining it. */ if (mass_flux > 0.f) { /* pi is loosing mass */ + pi->chemistry_data.metal_mass_flux_total -= + mass_flux_integrated * pi->chemistry_data.metal_mass_fraction_total; for (int i = 0; i < chemistry_element_count; i++) { - pi->chemistry_data.metal_mass_flux_total -= - mass_flux_integrated * pi->chemistry_data.metal_mass_fraction_total; pi->chemistry_data.metal_mass_fluxes[i] -= mass_flux_integrated * pi->chemistry_data.metal_mass_fraction[i]; } } else { /* pi is gaining mass: */ + pi->chemistry_data.metal_mass_flux_total -= + mass_flux_integrated * pj->chemistry_data.metal_mass_fraction_total; for (int i = 0; i < chemistry_element_count; i++) { - pi->chemistry_data.metal_mass_flux_total -= - mass_flux_integrated * pj->chemistry_data.metal_mass_fraction_total; pi->chemistry_data.metal_mass_fluxes[i] -= mass_flux_integrated * pj->chemistry_data.metal_mass_fraction[i]; } @@ -66,17 +66,17 @@ __attribute__((always_inline)) INLINE static void runner_iact_chemistry_fluxes( if (mode == 1 || pj->flux.dt < 0.f) { if (mass_flux > 0.f) { /* pj is gaining mass */ + pj->chemistry_data.metal_mass_flux_total += + mass_flux_integrated * pi->chemistry_data.metal_mass_fraction_total; for (int i = 0; i < chemistry_element_count; i++) { - pj->chemistry_data.metal_mass_flux_total += - mass_flux_integrated * pi->chemistry_data.metal_mass_fraction_total; pj->chemistry_data.metal_mass_fluxes[i] += mass_flux_integrated * pi->chemistry_data.metal_mass_fraction[i]; } } else { /* pj is losing mass */ + pj->chemistry_data.metal_mass_flux_total += + mass_flux_integrated * pj->chemistry_data.metal_mass_fraction_total; for (int i = 0; i < chemistry_element_count; i++) { - pj->chemistry_data.metal_mass_flux_total += - mass_flux_integrated * pj->chemistry_data.metal_mass_fraction_total; pj->chemistry_data.metal_mass_fluxes[i] += mass_flux_integrated * pj->chemistry_data.metal_mass_fraction[i]; } -- GitLab