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