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