Skip to content

Commit

Permalink
Defect repair:
Browse files Browse the repository at this point in the history
- Fix for issue #1022 - incorrect value being used for last entry in array in BaseStar::InterpolateGe20QCrit()
  • Loading branch information
jeffriley committed Dec 11, 2023
1 parent 9fa0baf commit a07f366
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/BaseBinaryStar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1893,7 +1893,7 @@ void BaseBinaryStar::CalculateMassTransfer(const double p_Dt) {
// NOTE: Critical mass ratio is defined as mAccretor/mDonor
double qCrit = m_Donor->CalculateCriticalMassRatio(m_Accretor->IsDegenerate());

isUnstable = (m_Accretor->Mass()/m_Donor->Mass()) < qCrit;
isUnstable = (m_Accretor->Mass() / m_Donor->Mass()) < qCrit;
m_FractionAccreted = 1.0; // Accretion is assumed fully conservative for qCrit calculations
}
else { // Determine stability based on zetas
Expand Down
12 changes: 6 additions & 6 deletions src/BaseStar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1384,8 +1384,8 @@ double BaseStar::InterpolateGe20QCrit( const QCRIT_PRESCRIPTION p_qCritPrescript
upperMassInd = 0;
}
else if (upperMassInd == -1) {
lowerMassInd = massesFromGe20.size();
upperMassInd = massesFromGe20.size();
lowerMassInd = massesFromGe20.size() - 1;
upperMassInd = massesFromGe20.size() - 1;
}

// Get vector of radii from GE20_QCRIT_AND_ZETA for the lower and upper mass indices
Expand Down Expand Up @@ -1416,8 +1416,8 @@ double BaseStar::InterpolateGe20QCrit( const QCRIT_PRESCRIPTION p_qCritPrescript
upperRadiusLowerMassInd = 0;
}
else if (upperRadiusLowerMassInd == -1) {
lowerRadiusLowerMassInd = logRadiusVectorLowerMass.size();
upperRadiusLowerMassInd = logRadiusVectorLowerMass.size();
lowerRadiusLowerMassInd = logRadiusVectorLowerMass.size() - 1;
upperRadiusLowerMassInd = logRadiusVectorLowerMass.size() - 1;
}

std::vector<int> indR1 = utils::binarySearch(logRadiusVectorUpperMass, log10(m_Radius));
Expand All @@ -1429,8 +1429,8 @@ double BaseStar::InterpolateGe20QCrit( const QCRIT_PRESCRIPTION p_qCritPrescript
upperRadiusUpperMassInd = 0;
}
else if (upperRadiusUpperMassInd == -1) {
lowerRadiusUpperMassInd = logRadiusVectorUpperMass.size();
upperRadiusUpperMassInd = logRadiusVectorUpperMass.size();
lowerRadiusUpperMassInd = logRadiusVectorUpperMass.size() - 1;
upperRadiusUpperMassInd = logRadiusVectorUpperMass.size() - 1;
}

// Set the 4 boundary points for the 2D interpolation
Expand Down
5 changes: 4 additions & 1 deletion src/changelog.h
Original file line number Diff line number Diff line change
Expand Up @@ -1071,8 +1071,11 @@
// - Fixed CalculateOrbitalAngularMomentum() (now uses eccentricity)
// - Added links to online documentation to splash string
// - Constants 'G1' and 'G_SN' renamed to 'G_AU_Msol_yr' and 'G_km_Msol_s' respectively
//
// 02.41.01 JR - Dec 11, 2023 - Defect repair:
// - Fix for issue #1022 - incorrect value being used for last entry in array in BaseStar::InterpolateGe20QCrit()

const std::string VERSION_STRING = "02.41.00";
const std::string VERSION_STRING = "02.41.01";


# endif // __changelog_h__

0 comments on commit a07f366

Please sign in to comment.