API
4.2
For C++ developers

MuscleDynamicsInfo contains quantities that are related to the forces that the muscle generates. More...
Public Member Functions  
MuscleDynamicsInfo ()  
Public Attributes  
double  activation 
double  fiberForce 
double  fiberForceAlongTendon 
double  normFiberForce 
double  activeFiberForce 
double  passiveFiberForce 
double  tendonForce 
double  normTendonForce 
double  fiberStiffness 
double  fiberStiffnessAlongTendon 
double  tendonStiffness 
double  muscleStiffness 
double  fiberActivePower 
double  fiberPassivePower 
double  tendonPower 
double  musclePower 
SimTK::Vector  userDefinedDynamicsExtras 
Friends  
std::ostream &  operator<< (std::ostream &o, const MuscleDynamicsInfo &mdi) 
MuscleDynamicsInfo contains quantities that are related to the forces that the muscle generates.
The function that populates this struct, calcMuscleDynamicsInfo, is called when position and velocity information is known. This function is the last function that is called of these related functions: calcMuscleLengthInfo, calcFiberVelocityInfo and calcMuscleDynamicInfo.
NAME DIMENSION UNITS activation NA NA [1]
fiberForce force N fiberForceAlongTendon force N [2] normFiberForce force/force N/N [3] activeFiberForce force N [4] passiveFiberForce force N [5]
tendonForce force N normTendonForce force/force N/N [6]
fiberStiffness force/length N/m [7] fiberStiffnessAlongTendon force/length N/m [8] tendonStiffness force/length N/m [9] muscleStiffness force/length N/m [10]
fiberActivePower force*velocity W (N*m/s) fiberPassivePower force*velocity W (N*m/s) tendonPower force*velocity W (N*m/s) musclePower force*velocity W (N*m/s)
userDefinedDynamicsData NA NA [11]
[1] This is a quantity that ranges between 0 and 1 that dictates how on or activated a muscle is. This term may or may not have its own time dependent behavior depending on the muscle model.
[2] fiberForceAlongTendon is the fraction of the force that is developed by the fiber that is transmitted to the tendon. This fraction depends on the pennation model that is used for the muscle model
[3] This is the force developed by the fiber scaled by the maximum isometric contraction force. Note that the maximum isometric force is defined as the maximum isometric force a muscle fiber develops at its optimal pennation angle, and along the line of the fiber.
[4] This is the portion of the fiber force that is created as a direct consequence of the value of 'activation'.
[5] This is the portion of the fiber force that is created by the parallel elastic element within the fiber.
[6] This is the tendonForce normalized by the maximum isometric contraction force
[7] fiberStiffness is defined as the partial derivative of fiber force with respect to fiber length
[8] fiberStiffnessAlongTendon is defined as the partial derivative of fiber force along the tendon with respect to small changes in the fiber length along the tendon. This quantity is normally computed using the equations for fiberStiffness, and then using an application of the chain rule to yield fiberStiffnessAlongTendon.
[9] tendonStiffness is defined as the partial derivative of tendon force with respect to tendon length
[10] muscleStiffness is defined as the partial derivative of muscle force with respect to changes in muscle length. This quantity can usually be computed by noting that the tendon and the fiber are in series, with the fiber at a pennation angle. Thus
Kmuscle = (Kfiber_along_tendon * Ktendon) /(Kfiber_along_tendon + Ktendon)
[11] This vector is left for the muscle modeler to populate with any computationally expensive quantities that might be of interest after dynamics calculations are completed but maybe of use in computing muscle derivatives or reporting values of interest.

inline 

friend 
double OpenSim::Muscle::MuscleDynamicsInfo::activation 
double OpenSim::Muscle::MuscleDynamicsInfo::activeFiberForce 
double OpenSim::Muscle::MuscleDynamicsInfo::fiberActivePower 
double OpenSim::Muscle::MuscleDynamicsInfo::fiberForce 
double OpenSim::Muscle::MuscleDynamicsInfo::fiberForceAlongTendon 
Referenced by OpenSim::DeGrooteFregly2016Muscle::calcEquilibriumResidual().
double OpenSim::Muscle::MuscleDynamicsInfo::fiberPassivePower 
double OpenSim::Muscle::MuscleDynamicsInfo::fiberStiffness 
double OpenSim::Muscle::MuscleDynamicsInfo::fiberStiffnessAlongTendon 
double OpenSim::Muscle::MuscleDynamicsInfo::musclePower 
double OpenSim::Muscle::MuscleDynamicsInfo::muscleStiffness 
double OpenSim::Muscle::MuscleDynamicsInfo::normFiberForce 
double OpenSim::Muscle::MuscleDynamicsInfo::normTendonForce 
Referenced by OpenSim::DeGrooteFregly2016Muscle::calcEquilibriumResidual().
double OpenSim::Muscle::MuscleDynamicsInfo::passiveFiberForce 
double OpenSim::Muscle::MuscleDynamicsInfo::tendonForce 
double OpenSim::Muscle::MuscleDynamicsInfo::tendonPower 
double OpenSim::Muscle::MuscleDynamicsInfo::tendonStiffness 
SimTK::Vector OpenSim::Muscle::MuscleDynamicsInfo::userDefinedDynamicsExtras 