Skip to content

Commit

Permalink
Fixed bug in smooth Bhargava model related to incorrect muscle metabo…
Browse files Browse the repository at this point in the history
…lic indexing
  • Loading branch information
nickbianco authored and aymanhab committed Jul 23, 2022
1 parent 966d887 commit 0e9fedc
Showing 1 changed file with 7 additions and 10 deletions.
17 changes: 7 additions & 10 deletions OpenSim/Simulation/Model/Bhargava2004SmoothedMuscleMetabolics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -350,11 +350,10 @@ void Bhargava2004SmoothedMuscleMetabolics::calcMetabolicRate(
activationHeatRate = maintenanceHeatRate = shorteningHeatRate =
mechanicalWorkRate = 0;

int i = 0;
for (const auto& muscleIndex : m_muscleIndices) {

const auto& muscleParameter =
get_muscle_parameters(muscleIndex.second);
const auto& index = muscleIndex.second;
const auto& muscleParameter = get_muscle_parameters(index);
const auto& muscle = muscleParameter.getMuscle();

const double maximalIsometricForce = muscle.getMaxIsometricForce();
Expand Down Expand Up @@ -526,13 +525,11 @@ void Bhargava2004SmoothedMuscleMetabolics::calcMetabolicRate(
// --------------------------------
double Edot = totalHeatRate + mechanicalWorkRate;

totalRatesForMuscles[i] = Edot;
activationRatesForMuscles[i] = activationHeatRate;
maintenanceRatesForMuscles[i] = maintenanceHeatRate;
shorteningRatesForMuscles[i] = shorteningHeatRate;
mechanicalWorkRatesForMuscles[i] = mechanicalWorkRate;

++i;
totalRatesForMuscles[index] = Edot;
activationRatesForMuscles[index] = activationHeatRate;
maintenanceRatesForMuscles[index] = maintenanceHeatRate;
shorteningRatesForMuscles[index] = shorteningHeatRate;
mechanicalWorkRatesForMuscles[index] = mechanicalWorkRate;
}
}

Expand Down

0 comments on commit 0e9fedc

Please sign in to comment.