API
4.5
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 |