diff --git a/src/chemistry/EAGLE/chemistry.h b/src/chemistry/EAGLE/chemistry.h index e1d8fcd1b6dfc8b03daec10c1d87501b3ce521d2..52f92299f26472dae538a562a96c62fc863f462f 100644 --- a/src/chemistry/EAGLE/chemistry.h +++ b/src/chemistry/EAGLE/chemistry.h @@ -391,8 +391,12 @@ __attribute__((always_inline)) INLINE static void chemistry_kick_extra( for (int i = 0; i < chemistry_element_count; i++) { sum += p->chemistry_data.metal_mass_fraction[i]; } - if (sum > 1.f) - error("Sum of element-wise metal mass fractions grew larger than 1!"); + sum -= p->chemistry_data.metal_mass_fraction[chemistry_element_H]; + sum -= p->chemistry_data.metal_mass_fraction[chemistry_element_He]; + if (sum > p->chemistry_data.metal_mass_fraction_total) + error( + "Sum of element-wise metal mass fractions grew larger than total " + "metal mass fraction!"); #endif chemistry_reset_mass_fluxes(p); }