diff --git a/src/MainSequence.cpp b/src/MainSequence.cpp index 45b417808..4f73b506e 100644 --- a/src/MainSequence.cpp +++ b/src/MainSequence.cpp @@ -804,15 +804,15 @@ DBL_DBL MainSequence::CalculateMainSequenceCoreMassShikauchi(const double p_Dt, double deltaYout = f1 / f2 * deltaCoreMass; // Calculate the change in core helium abundance, assuming linear profile between Yc and Y0, and that the the accreted gas has helium fraction Y0 - double deltaY = (m_HeliumAbundanceCoreOut - m_HeliumAbundanceCore) / f3 * deltaCoreMass + 0.5 / f3 * f1 / f2 * deltaCoreMass * deltaCoreMass; - newCentralHeliumFraction = m_HeliumAbundanceCore + deltaY; - m_HeliumAbundanceCoreOut += deltaYout; + double deltaY = (m_HeliumAbundanceCoreOut - m_HeliumAbundanceCore) / f3 * deltaCoreMass + 0.5 / f3 * f1 / f2 * deltaCoreMass * deltaCoreMass; + newCentralHeliumFraction = m_HeliumAbundanceCore + deltaY; + m_HeliumAbundanceCoreOut += deltaYout; } else { // New core mass greater or equal to the initial core mass? double deltaCoreMass1 = m_InitialMainSequenceCoreMass - m_MainSequenceCoreMass; // Mass accreted up to the initial core mass double deltaCoreMass2 = deltaCoreMass - deltaCoreMass1; // Remaining accreted mass newCentralHeliumFraction = (m_MainSequenceCoreMass * m_HeliumAbundanceCore + 0.5 * (m_HeliumAbundanceCoreOut + m_InitialHeliumAbundance) * deltaCoreMass1 + deltaCoreMass2 * m_InitialHeliumAbundance) / (m_MainSequenceCoreMass + deltaCoreMass); - m_HeliumAbundanceCoreOut = m_InitialHeliumAbundance; + m_HeliumAbundanceCoreOut = m_InitialHeliumAbundance; m_InitialMainSequenceCoreMass = newMixingCoreMass; } } diff --git a/src/MainSequence.h b/src/MainSequence.h index 8c95b5d99..c035345e5 100644 --- a/src/MainSequence.h +++ b/src/MainSequence.h @@ -26,7 +26,7 @@ class MainSequence: virtual public BaseStar { // member variables - double m_HeliumAbundanceCoreOut = m_InitialHeliumAbundance; // Helium abundance just outside the core, used for rejuvenation calculations + double m_HeliumAbundanceCoreOut = m_InitialHeliumAbundance; // Helium abundance just outside the core, used for rejuvenation calculations double m_InitialMainSequenceCoreMass = 0.0; // Initial mass of the mixing core is initialised in MS_gt_07 class // member functions - alphabetically