461 lines (406 with data), 21.4 kB
BodyModelRef.Right.Leg = {
// Create a folder with references to the necessary muscles.
AnyFolder EvaluateJointStrengthMusRef = {
#if BM_LEG_MUSCLES_RIGHT
AnyFolder &LegMuscles = .Mus;
#if BM_TRUNK_LUMBAR_MUSCLES
AnyFolder &SpineMuscles = ...Trunk.MusclesSpineRight.PsoasMajor;
#else
AnyFolder &SpineMuscles = ...Trunk.JointMuscles;
#endif
#else
AnyFolder &LegMuscles = .JointMuscles;
#if BM_TRUNK_LUMBAR_MUSCLES != OFF
AnyFolder &SpineMuscles = ...Trunk.MusclesSpineRight.PsoasMajor;
#else
AnyFolder &SpineMuscles = ...Trunk.JointMuscles;
#endif
#endif
};
};
Right = {
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_HipFlexion.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_HipExtension.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_HipFlexion.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_HipExtension.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_HipAbduction.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_HipAdduction.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_HipExternalRotation.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_HipInternalRotation.csv";
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,130});
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_KneeFlexion.csv";
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({130,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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_KneeExtension.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_AnklePlantarFlexion.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_AnkleDorsiFlexion.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_AnklePlantarFlexion.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_AnkleDorsiFlexion.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_SubTalarEversion.csv";
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.Right;
AnyFolder &SideBodyInterfaceRef = ...BodyModelRef.Interface.Right;
#include "EvaluateJointStrengthStudy.any"
AnyString OutputFileName = "JointStrength_LegTD_Right_SubTalarInversion.csv";
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
};//Rigth
Run_all_studies ={
AnyOperation &RHipFlexion= .Right.Leg.HipFlexion.Run;
AnyOperation &RHipExtension= .Right.Leg.HipExtension.Run;
AnyOperation &RHipAbduction= .Right.Leg.HipAbduction.Run;
AnyOperation &RHipAdduction= .Right.Leg.HipAdduction.Run;
AnyOperation &RHipExternalRotation = .Right.Leg.HipExternalRotation.Run;
AnyOperation &RHipInternalRotation = .Right.Leg.HipInternalRotation.Run;
AnyOperation &RKneeFlexion = .Right.Leg.KneeFlexion.Run;
AnyOperation &RKneeExtension = .Right.Leg.KneeExtension.Run;
AnyOperation &RAnklePlantarFlexion = .Right.Leg.AnklePlantarFlexion.Run;
AnyOperation &RAnkleDorsiFlexion = .Right.Leg.AnkleDorsiFlexion.Run;
AnyOperation &RSubTalarEversion= .Right.Leg.SubTalarEversion.Run;
AnyOperation &RSubTalarInversion= .Right.Leg.SubTalarInversion.Run;
};