API  4.2
For C++ developers
OpenSim::Muscle::MuscleDynamicsInfo Struct Reference

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


std::ostream & operator<< (std::ostream &o, const MuscleDynamicsInfo &mdi)

Detailed Description

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.


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.

Constructor & Destructor Documentation

◆ MuscleDynamicsInfo()

OpenSim::Muscle::MuscleDynamicsInfo::MuscleDynamicsInfo ( )

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  o,
const MuscleDynamicsInfo mdi 

Member Data Documentation

◆ activation

double OpenSim::Muscle::MuscleDynamicsInfo::activation

◆ activeFiberForce

double OpenSim::Muscle::MuscleDynamicsInfo::activeFiberForce

◆ fiberActivePower

double OpenSim::Muscle::MuscleDynamicsInfo::fiberActivePower

◆ fiberForce

double OpenSim::Muscle::MuscleDynamicsInfo::fiberForce

◆ fiberForceAlongTendon

double OpenSim::Muscle::MuscleDynamicsInfo::fiberForceAlongTendon

◆ fiberPassivePower

double OpenSim::Muscle::MuscleDynamicsInfo::fiberPassivePower

◆ fiberStiffness

double OpenSim::Muscle::MuscleDynamicsInfo::fiberStiffness

◆ fiberStiffnessAlongTendon

double OpenSim::Muscle::MuscleDynamicsInfo::fiberStiffnessAlongTendon

◆ musclePower

double OpenSim::Muscle::MuscleDynamicsInfo::musclePower

◆ muscleStiffness

double OpenSim::Muscle::MuscleDynamicsInfo::muscleStiffness

◆ normFiberForce

double OpenSim::Muscle::MuscleDynamicsInfo::normFiberForce

◆ normTendonForce

double OpenSim::Muscle::MuscleDynamicsInfo::normTendonForce

◆ passiveFiberForce

double OpenSim::Muscle::MuscleDynamicsInfo::passiveFiberForce

◆ tendonForce

double OpenSim::Muscle::MuscleDynamicsInfo::tendonForce

◆ tendonPower

double OpenSim::Muscle::MuscleDynamicsInfo::tendonPower

◆ tendonStiffness

double OpenSim::Muscle::MuscleDynamicsInfo::tendonStiffness

◆ userDefinedDynamicsExtras

SimTK::Vector OpenSim::Muscle::MuscleDynamicsInfo::userDefinedDynamicsExtras

The documentation for this struct was generated from the following file: