[38ba34]: / Body / AAUHuman / Trunk / L5SacrumLigaments.any

Download this file

249 lines (223 with data), 7.8 kB

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