OpenSim  OpenSim 3.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
OpenSim::Muscle::MuscleDynamicsInfo Struct Reference

MuscleDynamicsInfo contains quantities that are related to the forces that the muscle generates. More...

#include <Muscle.h>

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)

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.

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 behaviour 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 caclulations are completed but maybe of use in computing muscle derivatives or reporting values of interest.

Constructor & Destructor Documentation

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

Friends And Related Function Documentation

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

Member Data Documentation

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

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