458 lines (406 with data), 21.3 kB
BodyModelRef.Left.Leg = {
// Create a folder with references to the necessary muscles.
AnyFolder EvaluateJointStrengthMusRef = {
#if BM_LEG_MUSCLES_LEFT
AnyFolder &LegMuscles = .Mus;
#if BM_TRUNK_LUMBAR_MUSCLES
AnyFolder &SpineMuscles = ...Trunk.MusclesSpineLeft.PsoasMajor;
#else
AnyFolder &SpineMuscles = ...Trunk.JointMuscles;
#endif
#else
AnyFolder &LegMuscles = .JointMuscles;
#if BM_TRUNK_LUMBAR_MUSCLES != OFF
AnyFolder &SpineMuscles = ...Trunk.MusclesSpineLeft.PsoasMajor;
#else
AnyFolder &SpineMuscles = ...Trunk.JointMuscles;
#endif
#endif
};
};
Left = {
AnyFolder Leg = {
AnyFolder HipFlexion={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({-20,90});
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(0);
AnyVar AnklePlantarFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_HipFlexion";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...RangeOfMotion[0],...HipAbduction ,...HipExternalRotation ,...KneeFlexion, ...AnklePlantarFlexion ,...SubtalarEversion }*pi/180;
DriverVel = {...RangeOfMotion[1]-...RangeOfMotion[0],0,0,0,0,0}*pi/180/...Study.tEnd;
Reaction.Type = {Off,On,On,On, On, On};
};
};
};
AnyFolder HipExtension={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({90,-20});
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(0);
AnyVar AnklePlantarFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_HipExtension";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...RangeOfMotion[0],...HipAbduction ,...HipExternalRotation ,...KneeFlexion, ...AnklePlantarFlexion ,...SubtalarEversion }*pi/180;
DriverVel = {...RangeOfMotion[1]-...RangeOfMotion[0],0,0,0,0,0}*pi/180/...Study.tEnd;
Reaction.Type = {Off,On,On,On, On, On};
};
};
};
AnyFolder HipFlexionBendedKnee={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({-20,90});
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(90);
AnyVar AnklePlantarFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_HipFlexion";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...RangeOfMotion[0],...HipAbduction ,...HipExternalRotation ,...KneeFlexion, ...AnklePlantarFlexion ,...SubtalarEversion }*pi/180;
DriverVel = {...RangeOfMotion[1]-...RangeOfMotion[0],0,0,0,0,0}*pi/180/...Study.tEnd;
Reaction.Type = {Off,On,On,On, On, On};
};
};
};
AnyFolder HipExtensionBendedKnee={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({90,-20});
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(90);
AnyVar AnklePlantarFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_HipExtension";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...RangeOfMotion[0],...HipAbduction ,...HipExternalRotation ,...KneeFlexion, ...AnklePlantarFlexion ,...SubtalarEversion }*pi/180;
DriverVel = {...RangeOfMotion[1]-...RangeOfMotion[0],0,0,0,0,0}*pi/180/...Study.tEnd;
Reaction.Type = {Off,On,On,On, On, On};
};
};
};
AnyFolder HipAbduction={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({-30,45});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(0);
AnyVar AnklePlantarFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_HipAbduction";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion,...RangeOfMotion[0],...HipExternalRotation ,...KneeFlexion, ...AnklePlantarFlexion ,...SubtalarEversion }*pi/180;
DriverVel = {0,...RangeOfMotion[1]-...RangeOfMotion[0],0,0,0,0}*pi/180/...Study.tEnd;
Reaction.Type = {On,Off,On,On, On, On};
};
};
};
AnyFolder HipAdduction={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({45,-30});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(0);
AnyVar AnklePlantarFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_HipAdduction";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion, ...RangeOfMotion[0],...HipExternalRotation ,...KneeFlexion, ...AnklePlantarFlexion ,...SubtalarEversion }*pi/180;
DriverVel = {0,...RangeOfMotion[1]-...RangeOfMotion[0],0,0,0,0}*pi/180/...Study.tEnd;
Reaction.Type = {On,Off,On,On, On, On};
};
};
};
AnyFolder HipExternalRotation ={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({-40,40});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipAbduction = DesignVar(0);
AnyVar KneeFlexion = DesignVar(0);
AnyVar AnklePlantarFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_HipExternalRotation";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion,...HipAbduction,...RangeOfMotion[0],...KneeFlexion, ...AnklePlantarFlexion ,...SubtalarEversion }*pi/180;
DriverVel = {0,0,...RangeOfMotion[1]-...RangeOfMotion[0],0,0,0}*pi/180/...Study.tEnd;
Reaction.Type = {On,On,Off,On, On, On};
};
};
};
AnyFolder HipInternalRotation ={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({40,-40});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipAbduction = DesignVar(0);
AnyVar KneeFlexion = DesignVar(0);
AnyVar AnklePlantarFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_HipInternalRotation";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion,...HipAbduction,...RangeOfMotion[0],...KneeFlexion, ...AnklePlantarFlexion ,...SubtalarEversion }*pi/180;
DriverVel = {0,0,...RangeOfMotion[1]-...RangeOfMotion[0],0,0,0}*pi/180/...Study.tEnd;
Reaction.Type = {On,On,Off,On, On, On};
};
};
};
AnyFolder KneeFlexion={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({0,90});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar AnklePlantarFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_KneeFlexion";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion,...HipAbduction ,...HipExternalRotation ,...RangeOfMotion[0], ...AnklePlantarFlexion ,...SubtalarEversion }*pi/180;
DriverVel = {0,0,0,...RangeOfMotion[1]-...RangeOfMotion[0],0,0}*pi/180/...Study.tEnd;
Reaction.Type = {On,On,On,Off, On, On};
};
};
};
AnyFolder KneeExtension={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({90,0});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar AnklePlantarFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_KneeExtension";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion,...HipAbduction ,...HipExternalRotation ,...RangeOfMotion[0], ...AnklePlantarFlexion ,...SubtalarEversion }*pi/180;
DriverVel = {0,0,0,...RangeOfMotion[1]-...RangeOfMotion[0],0,0}*pi/180/...Study.tEnd;
Reaction.Type = {On,On,On,Off, On, On};
};
};
};
AnyFolder AnklePlantarFlexion ={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({-30,45});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_AnklePlantarFlexion";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion,...HipAbduction ,...HipExternalRotation ,...KneeFlexion,...RangeOfMotion[0],...SubtalarEversion }*pi/180;
DriverVel = {0,0,0,0,...RangeOfMotion[1]-...RangeOfMotion[0],0}*pi/180/...Study.tEnd;
Reaction.Type = {On,On,On,On, Off, On};
};
};
};
AnyFolder AnkleDorsiFlexion ={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({45,-30});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(0);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_AnkleDorsiFlexion";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion,...HipAbduction ,...HipExternalRotation ,...KneeFlexion,...RangeOfMotion[0],...SubtalarEversion }*pi/180;
DriverVel = {0,0,0,0,...RangeOfMotion[1]-...RangeOfMotion[0],0}*pi/180/...Study.tEnd;
Reaction.Type = {On,On,On,On, Off, On};
};
};
};
AnyFolder AnklePlantarFlexionBendedKnee ={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({-30,45});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(90);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_AnklePlantarFlexion";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion,...HipAbduction ,...HipExternalRotation ,...KneeFlexion,...RangeOfMotion[0],...SubtalarEversion }*pi/180;
DriverVel = {0,0,0,0,...RangeOfMotion[1]-...RangeOfMotion[0],0}*pi/180/...Study.tEnd;
Reaction.Type = {On,On,On,On, Off, On};
};
};
};
AnyFolder AnkleDorsiFlexionBendedKnee ={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({45,-30});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(90);
AnyVar SubtalarEversion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_AnkleDorsiFlexion";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion,...HipAbduction ,...HipExternalRotation ,...KneeFlexion,...RangeOfMotion[0],...SubtalarEversion }*pi/180;
DriverVel = {0,0,0,0,...RangeOfMotion[1]-...RangeOfMotion[0],0}*pi/180/...Study.tEnd;
Reaction.Type = {On,On,On,On, Off, On};
};
};
};
AnyFolder SubTalarEversion ={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({-30,30});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(0);
AnyVar AnklePlantarFlexion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_SubTalarEversion";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion,...HipAbduction ,...HipExternalRotation ,...KneeFlexion,...AnklePlantarFlexion,...RangeOfMotion[0]}*pi/180;
DriverVel = {0,0,0,0,0,...RangeOfMotion[1]-...RangeOfMotion[0]}*pi/180/...Study.tEnd;
Reaction.Type = {On,On,On,On, On, Off};
};
};
};
AnyFolder SubTalarInversion ={
// Change the following variables to adjust the joint strength study
AnyVector RangeOfMotion = DesignVar({30,-30});
AnyVar HipFlexion = DesignVar(0);
AnyVar HipAbduction = DesignVar(0);
AnyVar HipExternalRotation = DesignVar(0);
AnyVar KneeFlexion = DesignVar(0);
AnyVar AnklePlantarFlexion = DesignVar(0);
/////////////////////////////////////////
// The following should not be changed
AnyFolder &SideBodyModelRef=...BodyModelRef.Left;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Left;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Left_SubTalarInversion";
Model.Drivers = {
AnyKinEqSimpleDriver LegDriver= {
AnyKinMeasure& ref = .LegMeasure;
DriverPos = {...HipFlexion,...HipAbduction ,...HipExternalRotation ,...KneeFlexion,...AnklePlantarFlexion,...RangeOfMotion[0]}*pi/180;
DriverVel = {0,0,0,0,0,...RangeOfMotion[1]-...RangeOfMotion[0]}*pi/180/...Study.tEnd;
Reaction.Type = {On,On,On,On, On, Off};
};
};
};
};//Leg
};//Left
Run_all_studies ={
AnyOperation &LHipFlexion= .Left.Leg.HipFlexion.Run;
AnyOperation &LHipExtension= .Left.Leg.HipExtension.Run;
AnyOperation &LHipAbduction= .Left.Leg.HipAbduction.Run;
AnyOperation &LHipAdduction= .Left.Leg.HipAdduction.Run;
AnyOperation &LHipExternalRotation = .Left.Leg.HipExternalRotation.Run;
AnyOperation &LHipInternalRotation = .Left.Leg.HipInternalRotation.Run;
AnyOperation &LKneeFlexion = .Left.Leg.KneeFlexion.Run;
AnyOperation &LKneeExtension = .Left.Leg.KneeExtension.Run;
AnyOperation &LAnklePlantarFlexion = .Left.Leg.AnklePlantarFlexion.Run;
AnyOperation &LAnkleDorsiFlexion = .Left.Leg.AnkleDorsiFlexion.Run;
AnyOperation &LSubTalarEversion= .Left.Leg.SubTalarEversion.Run;
AnyOperation &LSubTalarInversion= .Left.Leg.SubTalarInversion.Run;
};