Skip to content

Commit

Permalink
Code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffriley committed Dec 11, 2023
1 parent a8516a6 commit 501ae24
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 15 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
26 changes: 13 additions & 13 deletions src/BaseStar.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1364,11 +1364,11 @@ double BaseStar::CalculateCriticalMassRatio(const bool p_AccretorIsDegenerate) {
* from Ge et al. (2020), GE20 or GE20_IC. The first is the full adiabatic response, the second assumes
* artificially isentropic envelopes.
*
* double BaseStar::InterpolateGe20QCrit( const QCRIT_PRESCRIPTION p_qCritPrescription)
* double BaseStar::InterpolateGe20QCrit(const QCRIT_PRESCRIPTION p_qCritPrescription)
*
* @return Interpolated value of either the critical mass ratio or zeta for given stellar mass / radius
*/
double BaseStar::InterpolateGe20QCrit( const QCRIT_PRESCRIPTION p_qCritPrescription) {
double BaseStar::InterpolateGe20QCrit(const QCRIT_PRESCRIPTION p_qCritPrescription) {

// Get vector of masses from GE20_QCRIT_AND_ZETA
std::vector<double> massesFromGe20 = std::get<0>(GE20_QCRIT_AND_ZETA);
Expand Down Expand Up @@ -1398,12 +1398,12 @@ double BaseStar::InterpolateGe20QCrit( const QCRIT_PRESCRIPTION p_qCritPrescript

// One of the following must be set
if (p_qCritPrescription == QCRIT_PRESCRIPTION::GE20) {
qCritVectorLowerMass = std::get<1>(radiiQCritsZetasFromGe20[lowerMassInd]);
qCritVectorUpperMass = std::get<1>(radiiQCritsZetasFromGe20[upperMassInd]);
qCritVectorLowerMass = std::get<1>(radiiQCritsZetasFromGe20[lowerMassInd]);
qCritVectorUpperMass = std::get<1>(radiiQCritsZetasFromGe20[upperMassInd]);
}
else if (p_qCritPrescription == QCRIT_PRESCRIPTION::GE20_IC) {
qCritVectorLowerMass = std::get<2>(radiiQCritsZetasFromGe20[lowerMassInd]);
qCritVectorUpperMass = std::get<2>(radiiQCritsZetasFromGe20[upperMassInd]);
qCritVectorLowerMass = std::get<2>(radiiQCritsZetasFromGe20[lowerMassInd]);
qCritVectorUpperMass = std::get<2>(radiiQCritsZetasFromGe20[upperMassInd]);
}

// Get vector of radii from GE20_QCRIT_AND_ZETA for both lower and upper masses
Expand Down Expand Up @@ -1441,18 +1441,18 @@ double BaseStar::InterpolateGe20QCrit( const QCRIT_PRESCRIPTION p_qCritPrescript

double lowerMass = massesFromGe20[lowerMassInd];
double upperMass = massesFromGe20[upperMassInd];
double lowerRadiusLowerMass = pow(10, logRadiusVectorLowerMass[lowerRadiusLowerMassInd]);
double upperRadiusLowerMass = pow(10, logRadiusVectorLowerMass[upperRadiusLowerMassInd]);
double lowerRadiusUpperMass = pow(10, logRadiusVectorUpperMass[lowerRadiusUpperMassInd]);
double upperRadiusUpperMass = pow(10, logRadiusVectorUpperMass[upperRadiusUpperMassInd]);

double lowerRadiusLowerMass = PPOW(10.0, logRadiusVectorLowerMass[lowerRadiusLowerMassInd]);
double upperRadiusLowerMass = PPOW(10.0, logRadiusVectorLowerMass[upperRadiusLowerMassInd]);
double lowerRadiusUpperMass = PPOW(10.0, logRadiusVectorUpperMass[lowerRadiusUpperMassInd]);
double upperRadiusUpperMass = PPOW(10.0, logRadiusVectorUpperMass[upperRadiusUpperMassInd]);

// Interpolate on the radii first, then the masses
double qCritLowerMass = qLowLow + (upperRadiusLowerMass - m_Radius)/(upperRadiusLowerMass - lowerRadiusLowerMass) * (qLowUpp - qLowLow);
double qCritUpperMass = qUppLow + (upperRadiusUpperMass - m_Radius)/(upperRadiusUpperMass - lowerRadiusUpperMass) * (qUppUpp - qUppLow);
double qCritLowerMass = qLowLow + (upperRadiusLowerMass - m_Radius) / (upperRadiusLowerMass - lowerRadiusLowerMass) * (qLowUpp - qLowLow);
double qCritUpperMass = qUppLow + (upperRadiusUpperMass - m_Radius) / (upperRadiusUpperMass - lowerRadiusUpperMass) * (qUppUpp - qUppLow);
double interpolatedQCrit = qCritLowerMass + (upperMass - m_Mass)/(upperMass - lowerMass) * (qCritUpperMass - qCritLowerMass);

return interpolatedQCrit;

}


Expand Down
3 changes: 2 additions & 1 deletion src/changelog.h
Original file line number Diff line number Diff line change
Expand Up @@ -1071,8 +1071,9 @@
// - 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:
// 02.41.01 JR - Dec 11, 2023 - Defect repair, a little code cleanup:
// - Fix for issue #1022 - incorrect index used for last array entry.
// - A little code cleanup

const std::string VERSION_STRING = "02.41.01";

Expand Down

0 comments on commit 501ae24

Please sign in to comment.