615 lines (430 with data), 23.0 kB
SelectedOutput.Left = {
AnyFolder Leg = {
AnyFolder JointReactionForce = {
/// Medial positive
AnyVar Hip_MediolateralForce = ....Left.Leg.Jnt.Hip.Constraints.Reaction.Fout[2];
/// Proximal positive
AnyVar Hip_ProximoDistalForce = ....Left.Leg.Jnt.Hip.Constraints.Reaction.Fout[1];
/// Anterior positive
AnyVar Hip_AnteroPosteriorForce = ....Left.Leg.Jnt.Hip.Constraints.Reaction.Fout[0];
// Thigh.HipJoint ref
#if BM_FOOT_MODEL == _FOOT_MODEL_DEFAULT_ & BM_JOINT_TYPE_KNEE_LEFT == _JOINT_TYPE_DEFAULT_
/// Lateral positive
AnyVar Knee_MedioLateralForce = ....Left.Leg.Jnt.Knee.Constraints.Reaction.Fout[2];
/// Proximal positive
AnyVar Knee_ProximoDistalForce = ....Left.Leg.Jnt.Knee.Constraints.Reaction.Fout[1];
/// Anterior positive
AnyVar Knee_AnteroPosteriorForce = ....Left.Leg.Jnt.Knee.Constraints.Reaction.Fout[0];
/// Internal positive
AnyVar Knee_AxialMoment = ....Left.Leg.MomentMeasure.KneeJointReactionMoments.Mlocal[1];
/// Internal positive
AnyVar Knee_LateralMoment = ....Left.Leg.MomentMeasure.KneeJointReactionMoments.Mlocal[0];
// Thigh.KneeJoint ref
/// Lateral positive
AnyVar Ankle_MedioLateralForce = ....Left.Leg.Jnt.Ankle.Constraints.Reaction.Fout[2];
/// Proximal positive
AnyVar Ankle_ProximoDistalForce = ....Left.Leg.Jnt.Ankle.Constraints.Reaction.Fout[1];
/// Anterior positive
AnyVar Ankle_AnteroPosteriorForce = ....Left.Leg.Jnt.Ankle.Constraints.Reaction.Fout[0];
/// Internal positive
AnyVar Ankle_AxialMoment = ....Left.Leg.MomentMeasure.AnkleJointReactionMoments.Mlocal[1];
// Shank.AnkleJoint ref
#endif
#if BM_FOOT_MODEL == _FOOT_MODEL_DEFAULT_ & BM_JOINT_TYPE_KNEE_LEFT == _JOINT_TYPE_USERDEFINED_
/// Internal positive
AnyVar Knee_AxialMoment = ....Left.Leg.MomentMeasure.KneeJointReactionMoments.Mlocal[1];
/// Internal positive
AnyVar Knee_LateralMoment = ....Left.Leg.MomentMeasure.KneeJointReactionMoments.Mlocal[0];
// Thigh.KneeJoint ref
/// Lateral positive
AnyVar Ankle_MedioLateralForce = ....Left.Leg.Jnt.Ankle.Constraints.Reaction.Fout[2];
/// Proximal positive
AnyVar Ankle_ProximoDistalForce = ....Left.Leg.Jnt.Ankle.Constraints.Reaction.Fout[1];
/// Anterior positive
AnyVar Ankle_AnteroPosteriorForce = ....Left.Leg.Jnt.Ankle.Constraints.Reaction.Fout[0];
/// Internal positive
AnyVar Ankle_AxialMoment = ....Left.Leg.MomentMeasure.AnkleJointReactionMoments.Mlocal[1];
// Shank.AnkleJoint ref
#endif
#if BM_FOOT_MODEL != _FOOT_MODEL_DEFAULT_ & BM_JOINT_TYPE_KNEE_LEFT == _JOINT_TYPE_DEFAULT_
/// Lateral positive
AnyVar Knee_MedioLateralForce = ....Left.Leg.Jnt.Knee.Constraints.Reaction.Fout[2];
/// Proximal positive
AnyVar Knee_ProximoDistalForce = ....Left.Leg.Jnt.Knee.Constraints.Reaction.Fout[1];
/// Anterior positive
AnyVar Knee_AnteroPosteriorForce = ....Left.Leg.Jnt.Knee.Constraints.Reaction.Fout[0];
/// Internal positive
AnyVar Knee_AxialMoment = ....Left.Leg.MomentMeasure.KneeJointReactionMoments.Mlocal[1];
/// Internal positive
AnyVar Knee_LateralMoment = ....Left.Leg.MomentMeasure.KneeJointReactionMoments.Mlocal[0];
// Thigh.KneeJoint ref
#endif
//****************************************************
}; //End JointReactionForce
#if BM_FOOT_MODEL == _FOOT_MODEL_DEFAULT_
AnyFolder JointMomentMeasure = {
AnyVar HipAbduction = ....Left.Leg.MomentMeasure.HipNetMomentMuscle.MHipAbduction;
AnyVar HipFlexion = ....Left.Leg.MomentMeasure.HipNetMomentMuscle.MHipFlexion;
AnyVar HipExternalRotation = ....Left.Leg.MomentMeasure.HipNetMomentMuscle.MHipExternalRotation;
// HipNodeRef.RotNode ref
AnyVar KneeFlexion = -....Left.Leg.MomentMeasure.KneeNetMomentMuscle.MKneeFlexion;
// Shank.KneeJoint.RotNode ref
AnyVar AnklePlantarFlexion = ....Left.Leg.MomentMeasure.AnklePlantarFlexionNetMomentMuscle.MPlantarFlexion;
// Shank.AnkleJoint ref
AnyVar SubTalarEversion = ....Left.Leg.MomentMeasure.SubTalarEversionNetMomentMuscle.MSubTalarEversion;
// Talus.SubTalarJoint ref
}; //End JointMomentMeasure
#endif
AnyFolder Muscles =
{
AnySearchFun MuscleList =
{
#if (BM_LEG_MUSCLES_LEFT == OFF)
Search = ".....Left.Leg.JointMuscles.*.*.dof0.Muscle.*.Activity";
#else
Search = ".....Left.Leg.Mus.*.Activity";
#endif
};
AnyVar Envelope = max(MuscleList());
#if (BM_LEG_MUSCLES_LEFT != OFF)
//********************************************************************************
AnyFolder MuscleActivity = {
AnySearchFun GluteusMaxActivityList = {
Search = "......Left.Leg.Mus.GluteusMax*.Activity";
};
// GlutMed
AnySearchFun GlutMedActivityList = {
Search = "......Left.Leg.Mus.GluteusMed*.Activity";
};
// GlutMin
AnySearchFun GlutMinActivityList = {
Search = "......Left.Leg.Mus.GluteusMin*.Activity";
};
// Sartorius
AnySearchFun SartoriusActivityList = {
Search = "......Left.Leg.Mus.Sartorius*.Activity";
};
// Tensor Fasciae Latae
AnySearchFun TensorFasciaeActivityList = {
Search = "......Left.Leg.Mus.TensorFasciae*.Activity";
};
// Psoas Major
AnySearchFun PsoasMajorActivityList = {
Search = "......Trunk.MusclesSpineLeft.PsoasMajor.*.Activity";
};
// // Psoas Minor
// AnySearchFun PsoasMinorActivityList = {
// Search = "......Trunk.Leg.MusclesSpineLeft.PsoasMinor.*.Activity";
// };
AnySearchFun IliacusActivityList = {
Search = "......Left.Leg.Mus.Iliac*.Activity";
};
AnySearchFun VastusActivityList = {
Search = "......Left.Leg.Mus.Vastus*.Activity";
};
AnySearchFun RectusFemorisActivityList = {
Search = "......Left.Leg.Mus.RectusF*.Activity";
};
AnySearchFun PectineusActivityList = {
Search = "......Left.Leg.Mus.Pect*.Activity";
};
AnySearchFun GracilisActivityList = {
Search = "......Left.Leg.Mus.Gracili*.Activity";
};
AnySearchFun AdductorLongusActivityList = {
Search = "......Left.Leg.Mus.AdductorLongus*.Activity";
};
AnySearchFun AdductorBrevisActivityList = {
Search = "......Left.Leg.Mus.AdductorBr*.Activity";
};
AnySearchFun AdductorMagnusActivityList = {
Search = "......Left.Leg.Mus.AdductorMag*.Activity";
};
// AnySearchFun AdductorMinimusActivityList = {
// Search = "......Left.Leg.Mus.AdductorMin*.Activity";
// };
AnySearchFun ObturatorExtActivityList = {
Search = "......Left.Leg.Mus.ObturatorExt*.Activity";
};
AnySearchFun SemimembranosusActivityList = {
Search = "......Left.Leg.Mus.Semimembr*.Activity";
};
AnySearchFun SemimemtendinosusActivityList = {
Search = "......Left.Leg.Mus.Semitend*.Activity";
};
AnySearchFun BicepsFemorisCaputBreveActivityList = {
Search = "......Left.Leg.Mus.BicepsFemorisCaputBreve*.Activity";
};
AnySearchFun BicepsFemorisCaputLongActivityList = {
Search = "......Left.Leg.Mus.BicepsFemorisCaputL*.Activity";
};
AnySearchFun GastrocActivityList = {
Search = "......Left.Leg.Mus.Gastroc*.Activity";
};
AnySearchFun TibPostActivityList = {
Search = "......Left.Leg.Mus.TibialisPost*.Activity";
};
AnySearchFun TibAntActivityList = {
Search = "......Left.Leg.Mus.TibialisAnt*.Activity";
};
AnySearchFun SoleusActivityList = {
Search = "......Left.Leg.Mus.Soleus*.Activity";
};
AnyVar GluteusMaxActivity = max(GluteusMaxActivityList());
AnyVar GluteusMedActivity = max(GlutMedActivityList());
AnyVar GluteusMinActivity = max(GlutMinActivityList());
AnyVar SartoriusActivity = max(SartoriusActivityList());
AnyVar TensorFasciaeActivity = max(TensorFasciaeActivityList());
AnyVar PsoasMajorActivity = max(PsoasMajorActivityList());
// AnyVar PsoasMinorActivity = max(PsoasMinorActivityList());
AnyVar IliacusActivity = max(IliacusActivityList());
AnyVar VastusActivity = max(VastusActivityList());
AnyVar RectusFemorisActivity = max(RectusFemorisActivityList());
AnyVar PectineusActivity = max(PectineusActivityList());
AnyVar GracilisActivity = max(GracilisActivityList());
AnyVar AdductorLongusActivity = max(AdductorLongusActivityList());
AnyVar AdductorBrevisActivity = max(AdductorBrevisActivityList());
AnyVar AdductorMagnusActivity = max(AdductorMagnusActivityList());
// AnyVar AdductorMinimusActivity = max(AdductorMinimusActivityList());
AnyVar ObturatorExtActivity = max(ObturatorExtActivityList());
AnyVar SemimembranosusActivity = max(SemimembranosusActivityList());
AnyVar SemitendinosusActivity = max(SemimemtendinosusActivityList());
AnyVar BicepsFemorisCaputBreveActivity = max(BicepsFemorisCaputBreveActivityList());
AnyVar BicepsFemorisCaputLongActivity = max(BicepsFemorisCaputLongActivityList());
#if BM_FOOT_MODEL == _FOOT_MODEL_DEFAULT_
AnyVar GastrocActivity = max(GastrocActivityList());
AnyVar TibialisAnteriorActivity = max(TibAntActivityList());
AnyVar TibialisPosteriorActivity = max(TibPostActivityList());
AnyVar SoleusActivity = max(SoleusActivityList());
#endif
};
//*************************************************
/* Hip Abductors
o Gluteus medius
o Gluteus minimus
o Sartorius
o Tensor fasciae latae
*/
AnyFloat HipAbductorMuscleActivity = {MuscleActivity.GluteusMedActivity, MuscleActivity.GluteusMinActivity, MuscleActivity.SartoriusActivity, MuscleActivity.TensorFasciaeActivity};
/* Hip Flexors:
o Psoas major
o Psoas minor
o Iliacus
o Rectus femoris
o Sartorius
o Tensor fasciae latae
o Pectineus
o Adductor longus
o Adductor brevis
o Gracilis
*/
AnyFloat HipFlexorMuscleActivity = {MuscleActivity.PsoasMajorActivity, MuscleActivity.IliacusActivity, MuscleActivity.RectusFemorisActivity,
MuscleActivity.SartoriusActivity, MuscleActivity.TensorFasciaeActivity, MuscleActivity.PectineusActivity,
MuscleActivity.AdductorLongusActivity, MuscleActivity.AdductorBrevisActivity, MuscleActivity.GracilisActivity};
// AnyVar HipFlexorMuscleActivity = MuscleActivity.PsoasMajorActivity + MuscleActivity.IliacusActivity + MuscleActivity.RectusFemorisActivity + MuscleActivity.SartoriusActivity + MuscleActivity.TensorFasciaeActivity
// + MuscleActivity.PectineusActivity
// + MuscleActivity.AdductorLongusActivity + MuscleActivity.AdductorBrevisActivity + MuscleActivity.GracilisActivity;
/* Hip adductors:
o Adductor brevis
o Adductor longus
o Adductor magnus
o Adductor minimus
o pectineus
o gracilis
o Obturator externus
*/
AnyFloat HipAdductorMuscleActivity = {MuscleActivity.ObturatorExtActivity, MuscleActivity.PectineusActivity, MuscleActivity.AdductorMagnusActivity, // + AdductorMinimusActivity
MuscleActivity.AdductorLongusActivity, MuscleActivity.AdductorBrevisActivity, MuscleActivity.GracilisActivity};
// AnyVar HipAdductorMuscleActivity = MuscleActivity.ObturatorExtActivity + MuscleActivity.PectineusActivity + MuscleActivity.AdductorMagnusActivity // + AdductorMinimusActivity
// + MuscleActivity.AdductorLongusActivity + MuscleActivity.AdductorBrevisActivity + MuscleActivity.GracilisActivity;
/* Hip extensors:
o Gluteus maximus
o Most of the hamstrings:
" Long head of biceps femoris, short head is not a hip extensor, only a knee flexor
" Semimembranosus muscle
" Semitendinosus muscle
*/
AnyFloat HipExtensorMuscleActivity = {MuscleActivity.GluteusMaxActivity, MuscleActivity.BicepsFemorisCaputLongActivity, MuscleActivity.SemimembranosusActivity, MuscleActivity.SemitendinosusActivity};
/* Knee flexors:
o hamstrings (also hip extensors):
" biceps femoris (short head does not extend hip)
" semimembranosus
" semitendinosus
o gastrocnemius (also plantar flexor as a calf muscle)
o gracilis (also hip flexor/adductor)
o sartorius (also hip flexor/abductor/lateral rotator)
*/
#if BM_FOOT_MODEL == _FOOT_MODEL_DEFAULT_
AnyFloat KneeFlexorMuscleActivity = {MuscleActivity.BicepsFemorisCaputLongActivity,MuscleActivity.BicepsFemorisCaputBreveActivity, MuscleActivity.SemimembranosusActivity, MuscleActivity.SemitendinosusActivity, MuscleActivity.GastrocActivity, MuscleActivity.GracilisActivity, MuscleActivity.SartoriusActivity};
#endif
// ********************************************************
//*************************************************
// Search Functions:
AnyFolder MuscleForces = {
AnySearchFun GluteusMaxForceList = {
Search = "......Left.Leg.Mus.GluteusMax*.Fout";
};
// GlutMed
AnySearchFun GlutMedForceList = {
Search = "......Left.Leg.Mus.GluteusMed*.Fout";
};
// GlutMin
AnySearchFun GlutMinForceList = {
Search = "......Left.Leg.Mus.GluteusMin*.Fout";
};
// Sartorius
AnySearchFun SartoriusForceList = {
Search = "......Left.Leg.Mus.Sartorius*.Fout";
};
// Tensor Fasciae Latae
AnySearchFun TensorFasciaeForceList = {
Search = "......Left.Leg.Mus.TensorFasciae*.Fout";
};
// Psoas Major
AnySearchFun PsoasMajorForceList = {
Search = "......Trunk.MusclesSpineLeft.PsoasMajor.*.Fout";
};
// // Psoas Minor
// AnySearchFun PsoasMinorForceList = {
// Search = "......Trunk.Leg.MusclesSpineLeft.PsoasMinor.*.Fout";
// };
AnySearchFun IliacusForceList = {
Search = "......Left.Leg.Mus.Iliac*.Fout";
};
AnySearchFun RectusFemorisForceList = {
Search = "......Left.Leg.Mus.RectusF*.Fout";
};
AnySearchFun PectineusForceList = {
Search = "......Left.Leg.Mus.Pect*.Fout";
};
AnySearchFun GracilisForceList = {
Search = "......Left.Leg.Mus.Gracili*.Fout";
};
AnySearchFun AdductorLongusForceList = {
Search = "......Left.Leg.Mus.AdductorLongus*.Fout";
};
AnySearchFun AdductorBrevisForceList = {
Search = "......Left.Leg.Mus.AdductorBr*.Fout";
};
AnySearchFun AdductorMagnusForceList = {
Search = "......Left.Leg.Mus.AdductorMag*.Fout";
};
// AnySearchFun AdductorMinimusForceList = {
// Search = "......Left.Leg.Mus.AdductorMin*.Fout";
// };
AnySearchFun ObturatorExtForceList = {
Search = "......Left.Leg.Mus.ObturatorExt*.Fout";
};
AnySearchFun SemimembranosusForceList = {
Search = "......Left.Leg.Mus.Semimembr*.Fout";
};
AnySearchFun SemimemtendinosusForceList = {
Search = "......Left.Leg.Mus.Semitend*.Fout";
};
AnySearchFun BicepsFemorisCaputBreveForceList = {
Search = "......Left.Leg.Mus.BicepsFemorisCaputBreve*.Fout";
};
AnySearchFun BicepsFemorisCaputLongForceList = {
Search = "......Left.Leg.Mus.BicepsFemorisCaputL*.Fout";
};
AnySearchFun GastrocForceList = {
Search = "......Left.Leg.Mus.Gastroc*.Fout";
};
AnySearchFun TibPostForceList = {
Search = "......Left.Leg.Mus.TibialisPost*.Fout";
};
AnySearchFun TibAntForceList = {
Search = "......Left.Leg.Mus.TibialisAnt*.Fout";
};
AnySearchFun SoleusForceList = {
Search = "......Left.Leg.Mus.Soleus*.Fout";
};
AnySearchFun VastusForceList = {
Search = "......Left.Leg.Mus.Vastus*.Fout";
};
//*****
AnyVar GluteusMaxForce = sum(GluteusMaxForceList());
AnyVar GluteusMedForce = sum(GlutMedForceList());
AnyVar GluteusMinForce = sum(GlutMinForceList());
AnyVar SartoriusForce = sum(SartoriusForceList());
AnyVar TensorFasciaeForce = sum(TensorFasciaeForceList());
AnyVar PsoasMajorForce = sum(PsoasMajorForceList());
// AnyVar PsoasMinorForce = sum(PsoasMinorForceList());
AnyVar IliacusForce = sum(IliacusForceList());
AnyVar VastusForce = sum(VastusForceList());
AnyVar RectusFemorisForce = sum(RectusFemorisForceList());
AnyVar PectineusForce = sum(PectineusForceList());
AnyVar GracilisForce = sum(GracilisForceList());
AnyVar AdductorLongusForce = sum(AdductorLongusForceList());
AnyVar AdductorBrevisForce = sum(AdductorBrevisForceList());
AnyVar AdductorMagnusForce = sum(AdductorMagnusForceList());
// AnyVar AdductorMinimusForce = sum(AdductorMinimusForceList());
AnyVar ObturatorExtForce = sum(ObturatorExtForceList());
AnyVar SemimembranosusForce = sum(SemimembranosusForceList());
AnyVar SemitendinosusForce = sum(SemimemtendinosusForceList());
AnyVar BicepsFemorisCaputBreveForce = sum(BicepsFemorisCaputBreveForceList());
AnyVar BicepsFemorisCaputLongForce = sum(BicepsFemorisCaputLongForceList());
#if BM_FOOT_MODEL == _FOOT_MODEL_DEFAULT_
AnyVar GastrocForce = sum(GastrocForceList());
AnyVar TibialisAnteriorForce= sum(TibAntForceList());
AnyVar TibialisPosteriorForce= sum(TibPostForceList());
AnyVar SoleusForce = sum(SoleusForceList());
#endif
};
/* Hip Abductors
o Gluteus medius
o Gluteus minimus
o Sartorius
o Tensor fasciae latae
*/
AnyVar HipAbductorMuscleForce = MuscleForces.GluteusMedForce + MuscleForces.GluteusMinForce + MuscleForces.SartoriusForce + MuscleForces.TensorFasciaeForce;
/* Hip Flexors:
o Psoas major
o Psoas minor
o Iliacus
o Rectus femoris
o Sartorius
o Tensor fasciae latae
o Pectineus
o Adductor longus
o Adductor brevis
o Gracilis
*/
AnyVar HipFlexorMuscleForce = MuscleForces.PsoasMajorForce + MuscleForces.IliacusForce + MuscleForces.RectusFemorisForce + MuscleForces.SartoriusForce + MuscleForces.TensorFasciaeForce
+ MuscleForces.PectineusForce
+ MuscleForces.AdductorLongusForce + MuscleForces.AdductorBrevisForce + MuscleForces.GracilisForce;
/* Hip adductors:
o Adductor brevis
o Adductor longus
o Adductor magnus
o Adductor minimus
o pectineus
o gracilis
o Obturator externus
*/
AnyVar HipAdductorMuscleForce = MuscleForces.ObturatorExtForce + MuscleForces.PectineusForce + MuscleForces.AdductorMagnusForce // + AdductorMinimusForce
+ MuscleForces.AdductorLongusForce + MuscleForces.AdductorBrevisForce + MuscleForces.GracilisForce;
/* Hip extensors:
o Gluteus maximus
o Most of the hamstrings:
" Long head of biceps femoris, short head is not a hip extensor, only a knee flexor
" Semimembranosus muscle
" Semitendinosus muscle
*/
AnyVar HipExtensorMuscleForce = MuscleForces.GluteusMaxForce + MuscleForces.BicepsFemorisCaputLongForce + MuscleForces.SemimembranosusForce + MuscleForces.SemitendinosusForce;
/* Knee flexors:
o hamstrings (also hip extensors):
" biceps femoris (short head does not extend hip)
" semimembranosus
" semitendinosus
o gastrocnemius (also plantar flexor as a calf muscle)
o gracilis (also hip flexor/adductor)
o sartorius (also hip flexor/abductor/lateral rotator)
*/
#if BM_FOOT_MODEL == _FOOT_MODEL_DEFAULT_
AnyVar KneeFlexorMuscleForce = MuscleForces.BicepsFemorisCaputLongForce + MuscleForces.BicepsFemorisCaputBreveForce + MuscleForces.SemimembranosusForce + MuscleForces.SemitendinosusForce + MuscleForces.GastrocForce + MuscleForces.GracilisForce + MuscleForces.SartoriusForce;
#endif
#endif
}; //End Muscles
}; //End Leg
}; //End Left