Switch to side-by-side view

--- a
+++ b/Body/AAUHuman/Trunk/L5SacrumLigaments.any
@@ -0,0 +1,249 @@
+    // Ligament group index
+    AnyIntVar li = 5; 
+    // generic ligament lengths for the standard man 
+    // (need to be calibrated if scaled) 
+    ALLL5Sacrum.L0 = 1.526433752247385e-002;
+    PLLL5Sacrum.L0 = 4.431660901578656e-003;
+    ISL5Sacrum.L0 = 2.041069719025962e-003;
+    SSL5Sacrum.L0 = 4.899282299843856e-003;
+    FlavumL5SacrumR.L0 = 1.006122202591804e-002;
+    FlavumL5SacrumL.L0 = 1.006122202591804e-002;
+#ifndef exclude_it    
+    InterTransverseL5SacrumR.L0 = 1.852310542856197e-002;
+    InterTransverseL5SacrumL.L0 = 1.852310542856197e-002;
+    InterTransverseL5SacrummidR.L0 = 1.852310542856197e-002;
+    InterTransverseL5SacrummidL.L0 = 1.852310542856197e-002;
+#endif    
+
+#ifndef exclude_all
+    AnyLigamentModelPol ALLL5Sacrum = 
+    {
+      ////L0 = .al_slack_length*1.5;
+      eps1 = ..epsALL[.li];
+      F1 = ..kALL[.li]*eps1*L0;
+    };
+    
+    AnyLigamentViaPoint lALLofL5Sacrum = {
+      AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.ALLNodeInferior;
+      AnyRefNode &End = ...SegmentsLumbar.SacrumSeg.ALLNodeSuperior;
+      
+      AnyLigamentModelPol &Model = .ALLL5Sacrum;
+      AnyDrawPLine drw = {
+        Thickness = 0.005;
+        RGB = {1,0,0};
+      };
+    };   
+#endif
+#ifndef exclude_pll
+    AnyLigamentModelPol PLLL5Sacrum = 
+    {
+      //L0 = .pl_slack_length*1.5;
+      eps1 = ..epsPLL[.li];
+      F1 = ..kPLL[.li]*eps1*L0;
+    };
+    AnyLigamentViaPoint lPLLofL5Sacrum = {
+      AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.PLLNodeInferior;
+      AnyRefNode &End = ...SegmentsLumbar.SacrumSeg.PLLNodeSuperior;
+
+      AnyLigamentModelPol &Model = .PLLL5Sacrum;
+      AnyDrawPLine drw = {
+        Thickness = 0.005;
+        RGB = {1,0,0};
+      };
+    };
+#endif    
+#ifndef exclude_isl
+    AnyLigamentModelPol ISL5Sacrum = 
+    {
+      //L0 = .is_slack_length*1.5;
+      eps1 = ..epsISL[.li];
+      F1 = ..kISL[.li]*eps1*L0;
+    };
+     AnyLigamentViaPoint lISofL5Sacrum = {
+      AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.InterspinousInferior;
+      AnyRefNode &End = ...SegmentsLumbar.SacrumSeg.InterspinousSuperior;
+
+      AnyLigamentModelPol &Model = .ISL5Sacrum;
+      AnyDrawPLine drw = {
+        Thickness = 0.005;
+        RGB = {1,0,0};
+      };
+    };
+#endif
+#ifndef exclude_ssl
+    AnyLigamentModelPol SSL5Sacrum = 
+    {
+      //L0 = .ss_slack_length*1.5;
+      eps1 = ..epsSSL[.li];
+      F1 = ..kSSL[.li]*eps1*L0;
+    };
+    AnyLigamentViaPoint lSSofL5Sacrum = {
+      AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.SupraspinousInferior;
+      AnyRefNode &End = ...SegmentsLumbar.SacrumSeg.SupraspinousSuperior;
+
+      AnyLigamentModelPol &Model = .SSL5Sacrum;
+      AnyDrawPLine drw = {
+        Thickness = 0.005;
+        RGB = {1,0,0};
+      };
+    };
+      
+#endif
+#ifndef exclude_lf
+    AnyLigamentModelPol FlavumL5SacrumR = 
+    {
+      //L0 = .lf_slack_length*1.5;
+      eps1 = ..epsLF[.li];
+      F1 = ..kLF[.li]*eps1*L0;
+    };
+    AnyLigamentModelPol FlavumL5SacrumL =  // a separate lig model is used to ensure geometrical scalability 
+    {
+      //L0 = .lf_slack_length*1.5;
+      eps1 = ..epsLF[.li];
+      F1 = ..kLF[.li]*eps1*L0;
+    };
+    
+    AnyLigamentViaPoint lFlavumofL5SacrumR = {
+      AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.FlavumInferiorR;
+      AnyRefNode &End = ...SegmentsLumbar.SacrumSeg.FlavumSuperiorR;
+
+      AnyLigamentModelPol &Model = .FlavumL5SacrumR;
+      AnyDrawPLine drw = {
+        Thickness= 0.005;
+        RGB = {1,0,0};
+      };
+    };
+    AnyLigamentViaPoint lFlavumofL5SacrumL = {
+      AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.FlavumInferiorL;
+      AnyRefNode &End = ...SegmentsLumbar.SacrumSeg.FlavumSuperiorL;
+
+      AnyLigamentModelPol &Model = .FlavumL5SacrumL;
+      AnyDrawPLine drw = {
+        Thickness= 0.005;
+        RGB = {1,0,0};
+      };
+    };      
+#endif
+#ifndef exclude_it
+    AnyLigamentModelPol InterTransverseL5SacrumR = 
+    {
+      //L0 = .lf_slack_length*1.5;
+      eps1 = ..epsIT[.li];
+      F1 = ..kIT[.li]*eps1*L0;
+    };
+    
+    AnyLigamentModelPol InterTransverseL5SacrumL = // a separate lig model is used to ensure geometrical scalability 
+    {
+      //L0 = .lf_slack_length*1.5;
+      eps1 = ..epsIT[.li];
+      F1 = ..kIT[.li]*eps1*L0;
+    };
+    AnyLigamentModelPol InterTransverseL5SacrummidR = 
+    {
+      //L0 = .lf_slack_length*1.5;
+      eps1 = ..epsIT[.li];
+      F1 = ..kIT[.li]*eps1*L0;
+    };
+    
+    AnyLigamentModelPol InterTransverseL5SacrummidL = // a separate lig model is used to ensure geometrical scalability 
+    {
+      //L0 = .lf_slack_length*1.5;
+      eps1 = ..epsIT[.li];
+      F1 = ..kIT[.li]*eps1*L0;
+    };
+      
+
+    AnyLigamentViaPoint lInterTransverseofL5SacrumR = {
+      AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.InterTransverseR;
+      AnyRefNode &End = ...SegmentsLumbar.SacrumSeg.InterTransverseR;
+
+      AnyLigamentModelPol &Model = .InterTransverseL5SacrumR;
+      AnyDrawPLine drw = {
+        Thickness= 0.005;
+        RGB = {1,0,0};
+      };
+    };
+    AnyLigamentViaPoint lInterTransverseofL5SacrumL = {
+      AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.InterTransverseL;
+      AnyRefNode &End = ...SegmentsLumbar.SacrumSeg.InterTransverseL;
+
+      AnyLigamentModelPol &Model = .InterTransverseL5SacrumL;
+      AnyDrawPLine drw = {
+        Thickness= 0.005;
+        RGB = {1,0,0};
+      };
+    };      
+    AnyLigamentViaPoint lInterTransverseofL5SacrumRmid = {
+      AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.InterTransverseRmid;
+      AnyRefNode &End = ...SegmentsLumbar.SacrumSeg.InterTransverseRmid;
+
+      AnyLigamentModelPol &Model = .InterTransverseL5SacrummidR;
+      AnyDrawPLine drw = {
+        Thickness= 0.005;
+        RGB = {1,0,0};
+      };
+    };
+    AnyLigamentViaPoint lInterTransverseofL5SacrumLmid = {
+      AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.InterTransverseLmid;
+      AnyRefNode &End = ...SegmentsLumbar.SacrumSeg.InterTransverseLmid;
+
+      AnyLigamentModelPol &Model = .InterTransverseL5SacrummidL;
+      AnyDrawPLine drw = {
+        Thickness= 0.005;
+        RGB = {1,0,0};
+      };
+    };   
+
+#endif
+
+//- iliolumbar ligaments (ILL) superior and inferior
+AnyFloat kILL = .SacrumPelvisLig.SI_k / 2; // 2 branches
+AnyFloat epsILL = 0.03; // strain data from Y.H. Kim et al Manual Therapy 19 (2014) Fig. 5
+
+AnyLigamentModelPol ILL = {
+    L0 = ..SacrumPelvisLig.SI_L0;
+    eps1 = .epsILL;
+    F1 = ..SacrumPelvisLig.SI_k*eps1*L0;
+};
+AnyLigamentViaPoint lILL_infR = {
+    AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.InterTransverseR;
+    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.IlioLumbarInfR;
+    
+    AnyLigamentModelPol &Model = .ILL;
+    AnyDrawPLine drw = {
+        Thickness = 0.005;
+        RGB = {1,0,0};
+    };
+};
+AnyLigamentViaPoint lILL_infL = {
+    AnyRefNode &Ori = ...SegmentsLumbar.L5Seg.InterTransverseL;
+    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.IlioLumbarInfL;
+    
+    AnyLigamentModelPol &Model = .ILL;
+    AnyDrawPLine drw = {
+        Thickness = 0.005;
+        RGB = {1,0,0};
+    };
+};
+
+// This branch connects to L4
+AnyLigamentViaPoint lILL_supR = {
+    AnyRefNode &Ori = ...SegmentsLumbar.L4Seg.InterTransverseR;
+    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.IlioLumbarSupR;
+    
+    AnyLigamentModelPol &Model = .ILL;
+    AnyDrawPLine drw = {
+        Thickness = 0.005;
+        RGB = {1,0,0};
+    };
+};
+AnyLigamentViaPoint lILL_supL = {
+    AnyRefNode &Ori = ...SegmentsLumbar.L4Seg.InterTransverseL;
+    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.IlioLumbarSupL;
+    
+    AnyLigamentModelPol &Model = .ILL;
+    AnyDrawPLine drw = {
+        Thickness = 0.005;
+        RGB = {1,0,0};
+    };
+};
\ No newline at end of file