[38ba34]: / Body / AAUHuman / LegTLEM1 / EvaluateJointStrengthSequenceLeft.any

Download this file

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