Ligament lengths reference

Hi AnyBody,

I am playing with the example SpineFixationWithForceDependentKinematics model (version 1.6.1). I saw that slack lengths of these ligaments were defined in the LigamentsLumbar.any file, but never used afterwards (although the variables are seen in ligament model definitions, they were commented out as shown below,

AnyLigamentModelPol PLLT12L1 = 
      //L0 = .pl_slack_length*1.5;
      eps1 = ..epsPLL[.li];
      F1 = ..kPLL[.li]*eps1*L0;


I wonder where these numbers come from and why they were not used in the ligament models?

AnyFolder LumbarSpineLigaments = {
   AnyFloat strainratio = 0.75;
   AnyFloat mm2m = 1000;
   AnyFloat al_slack_length = 1.2;
   AnyFloat pl_slack_length = 1.2;
   AnyFloat is_slack_length = 1.2;   
   AnyFloat ss_slack_length = 1.2;   
   AnyFloat lf_slack_length = 1.2;

Secondly, for each motion segment of the lumbar spine, ligament lengths were seen in the first part of each segment. I wonder where these numbers come from? Is there any reference?

One of the entries in T12L1Ligaments.any file:

// Ligament group index
    AnyIntVar li = 0; 
    // generic ligament lengths for the standard man 
    // (need to be calibrated if scaled)    
    ALLT12L1.L0 = 8.062257748298454e-003;
    PLLT12L1.L0 = 3.793040035359760e-003;
    IST12L1.L0 = 2.083866598417453e-002;
    SST12L1.L0 = 1.627882059609978e-002;
    FlavumT12L1.L0 = 7.786036276341179e-003;

I think this information is one of the critical parts of the model, and they deserve proper references. I would be happy if anyone comments on this please.

Hi Riza,

These values are computed from the generic AnyBody model in the relaxed posture (0 flexion, 0 lat. bending, 0 axial torsion). These are the “default” values. If you try to include the ligaments in the model - it will automatically switch on the calibration study and the ligament slack length will be automatically adjusted once you run a kinematic analysis.

And yes, they are important, this is why they will always be computed based on your model scaling and adjustment of individual intervertebral angles.

Kind regards,

Hi Pavel,

Thank you for the reply. This is what I understood from your comment, please correct me if it is wrong. When I put a ligament in AnyBody in the relaxed posture, the distance between its attachment points are my LO (ligament slack length). If that is the case, how does AnyBody know that when it is streched at what ligament length it will start to produce force? At first, I thought that you are using a ratio, lets say, a ligament do not produce force if it is strained 5% to its original length. Does AnyBody employ this kind of relations or something else?

Kind regards,
Riza Bayoglu.


Yes, you understood well. The slack length is just a measurement from the kinematic measure object.

Please have a look at the tutorial on the ligaments - i think it describes the behaviour quite well and also may answer your question.


I would also recommend to look at the reference manual, but i think this information is somehow repeated in the tutorial. If you want to see the nominal strain values - you could find those in LigamentsLumbar.any.


Thank you Pavel. Can you also tell me what does this mean

AnyFloat al_slack_length = 1.2;

and its difference from ALLT12L1.L0 = 8.062257748298454e-003?

I think the first one is not used, the second one is the slack length.