Hi @Bjorn,

thanks for your reply and trying to help me.

Actually, I have already used the options you mentioned to control what I did with the drivers and the DOFs.

There is still one question I would like to understand.

Model: SpineFixationModelWithForceDK

Drivers.any

Can you please explain to me the comment that is highlighted in bold. Why have you commented out L5Sacrum?

Code:

...

#if BM_TRUNK_LUMBAR_RHYTHM == OFF

// the following section is used to control the order of the rotation axes

refJoints.T12L1Jnt.Orientation.Type = RotAxesAngles;

refJoints.L1L2Jnt.Orientation.Type = RotAxesAngles;

refJoints.L2L3Jnt.Orientation.Type = RotAxesAngles;

refJoints.L3L4Jnt.Orientation.Type = RotAxesAngles;

refJoints.L4L5Jnt.Orientation.Type = RotAxesAngles;

refJoints.L5SacrumJnt.Orientation.Type = RotAxesAngles;

// FORCE-DEPENDENT KINEMATIC DRIVER

// Force-dependent constraints allow the solver to find optimal positions for the degrees of freedom

// based on the current mechanical force configuration of the system (external and muscular forces).

// The following driver shows how the curvature of the lumbar spine is calculated:

// All degrees of freedom associated with the ball joints and CType = ForceDep can move freely and.

// find a local equilibrium of forces, but an initial estimate for all angles is given in the DriverPos variable

AnyKinEqSimpleDriver FDK_Measure =

{

// Initial estimate for all joint angles except the free angles to be used by the solver for force-dependent kinematics.

// The thorax-pelvis angles are distributed to all joint angles using the following weight vectors:

AnyVector FE = {0.2538951, 0.2318493, 0.1894594, 0.1468712, 0.1020785}*.JntPos.PelvisThoraxExtension/180*pi;

AnyVector LB = {0.2538951, 0.2318493, 0.1894594, 0.1468712, 0.1020785}*.JntPos.PelvisThoraxLateralBending/180*pi;

AnyVector AT = {0.2908131, 0.2403102, 0.1937058, 0.1427486, 0.0910942}*.JntPos.PelvisThoraxRotation/180*pi;

DriverPos = arrcat({ FE, AT, LB }');

```
DriverVel = {
0.0,0.0,0.0,
0.0,0.0,0.0,
0.0,0.0,0.0,
0.0,0.0,0.0,
0.0,0.0,0.0};
// Define joints that have a force-dependent behaviour
AnySphericalJoint &jntt12l1 = .refJoints.T12L1Jnt;
AnySphericalJoint &jnt12 = .refJoints.L1L2Jnt;
AnySphericalJoint &jnt23 = .refJoints.L2L3Jnt;
AnySphericalJoint &jnt34 = .refJoints.L3L4Jnt;
AnySphericalJoint &jnt45 = .refJoints.L4L5Jnt;
```

**//AnySphericalJoint &jnt5sacrum = .refJoints.L5SacrumJnt; // this joint is annotated to avoid excessive restriction**

```
// for the force-dependent degrees of freedom of the joint, the constraint type ForceDep must be set
// degrees of freedom of the joint
CType = {
ForceDep, ForceDep,ForceDep,
ForceDep, ForceDep,ForceDep,
ForceDep, ForceDep,ForceDep,
ForceDep, ForceDep,ForceDep,
ForceDep, ForceDep,ForceDep
//ForceDep, ForceDep,ForceDep // annotated connection
};
Reaction.Type = {
Off,Off,Off,
Off,Off,Off,
Off,Off,Off,
Off,Off,Off,
Off,Off,Off
//Off,Off,Off // commented connection
};
```

};

// negligible movement between sacrum and pelvis

AnyKinEqSimpleDriver SacrumPelvisDriver = {

AnySphericalJoint &Jnt = Main.HumanModel.BodyModel.Trunk.JointsLumbar.SacrumPelvisJnt;

DriverPos = pi/180*{0.0, 0.0, 0.0};

DriverVel = pi/180*{0.0, 0.0, 0.0};

Reaction.Type = {Off, Off, Off};

};

#endif

...

(As I said, in this post L5Sacrum joint in FDK the same question seems to be L5Sacrum joint in FDK, but I can't read the link in the reply).

Thank you very much in advance.

Kind regards,

Juliana