[bfdf16]: / Body / AAUHuman / Trunk / SILigaments.any

Download this file

281 lines (249 with data), 7.7 kB

/* 
Sacroiliac joint ligaments 

Consists of
- sacrospinale (SSL)
- sacrotuberale (STL) 1 & 2
- Anterior and posterior SacroIlliac (ASIL & PSIL)
- sacral interosseous ligament (SIL) 1-4
*/   

AnyFloat SI_k = 30000; // Default stiffness
AnyFloat SI_L0 = 1.2; // Default slack length

// Stiffness values
AnyFloat kSSL = SI_k;
AnyFloat kSTL = SI_k;
AnyFloat kASIL = SI_k / 3; // split into 3 parts
AnyFloat kPSIL = SI_k / 2; // split into 2 parts
AnyFloat kSIL = 40000 / 4; // split into 4 parts

AnyFloat epsSSL = 0.18;
AnyFloat epsSTL = 0.18;
AnyFloat epsASIL = 0.18;
AnyFloat epsPSIL = 0.18;
AnyFloat epsSIL = 0.22;


// SacroSpinale ligament
AnyLigamentModelPol SSL = {
    L0 = .SI_L0;
    eps1 = .epsSSL;
    F1 = .kSSL*eps1*L0;
};
AnyLigamentViaPoint lSSLR = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SacrospinaleNodeR;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.SpinaIschiadicaR;
    
    AnyLigamentModelPol &Model = .SSL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lSSLL = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SacrospinaleNodeL;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.SpinaIschiadicaL;
    
    AnyLigamentModelPol &Model = .SSL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};

// SacroTuberale ligament
AnyLigamentModelPol STL = {
    L0 = .SI_L0;
    eps1 = .epsSTL;
    F1 = .kSTL*eps1*L0;
};
AnyLigamentViaPoint lSTLR = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SacrotuberaleNodeR;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.TuberIschiadicumR;
    
    AnyLigamentModelPol &Model = .STL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lSTLL = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SacrotuberaleNodeL;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.TuberIschiadicumL;
    
    AnyLigamentModelPol &Model = .STL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};

// Anterior Sacroiliac ligaments
AnyLigamentModelPol ASIL = {
    L0 = .SI_L0;
    eps1 = .epsASIL;
    F1 = .kASIL*eps1*L0;
};
AnyLigamentViaPoint lASIL_1R = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.ASIL_1R;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.ASIL_1R;
    
    AnyLigamentModelPol &Model = .ASIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lASIL_1L = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.ASIL_1L;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.ASIL_1L;

    AnyLigamentModelPol &Model = .ASIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lASIL_2R = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.ASIL_2R;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.ASIL_2R;
    
    AnyLigamentModelPol &Model = .ASIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lASIL_2L = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.ASIL_2L;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.ASIL_2L;

    AnyLigamentModelPol &Model = .ASIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lASIL_3R = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.ASIL_3R;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.ASIL_3R;
    
    AnyLigamentModelPol &Model = .ASIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lASIL_3L = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.ASIL_3L;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.ASIL_3L;

    AnyLigamentModelPol &Model = .ASIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};

// Posterior Sacroiliac ligaments
AnyLigamentModelPol PSIL = {
    L0 = .SI_L0;
    eps1 = .epsPSIL;
    F1 = .kPSIL*eps1*L0;
};
AnyLigamentViaPoint lPSIL_1R = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.PSIL_1R;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.PSIL_1R;
    
    AnyLigamentModelPol &Model = .PSIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lPSIL_1L = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.PSIL_1L;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.PSIL_1L;

    AnyLigamentModelPol &Model = .PSIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lPSIL_2R = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.PSIL_2R;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.PSIL_2R;
    
    AnyLigamentModelPol &Model = .PSIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lPSIL_2L = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.PSIL_2L;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.PSIL_2L;
    
    AnyLigamentModelPol &Model = .PSIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};

// sacral interosseous ligament
AnyLigamentModelPol SIL = {
    L0 = .SI_L0;
    eps1 = .epsSIL;
    F1 = .kSIL*eps1*L0;
};
AnyLigamentViaPoint lSIL_1R = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SIL_1R;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.SIL_1R;
    
    AnyLigamentModelPol &Model = .SIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lSIL_1L = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SIL_1L;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.SIL_1L;

    AnyLigamentModelPol &Model = .SIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lSIL_2R = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SIL_2R;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.SIL_2R;
    
    AnyLigamentModelPol &Model = .SIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lSIL_2L = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SIL_2L;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.SIL_2L;
    
    AnyLigamentModelPol &Model = .SIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lSIL_3R = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SIL_3R;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.SIL_3R;
    
    AnyLigamentModelPol &Model = .SIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lSIL_3L = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SIL_3L;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.SIL_3L;
    
    AnyLigamentModelPol &Model = .SIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lSIL_4R = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SIL_4R;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.SIL_4R;
    
    AnyLigamentModelPol &Model = .SIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};
AnyLigamentViaPoint lSIL_4L = {
    AnyRefNode &Ori = ...SegmentsLumbar.SacrumSeg.SIL_4L;
    AnyRefNode &End = ...SegmentsLumbar.PelvisSeg.SIL_4L;
    
    AnyLigamentModelPol &Model = .SIL;
    AnyDrawPLine drw = {
        Thickness = 0.005;
        RGB = {1,0,0};
    };
};