Hello,
I'm currently using AnyBody 8.0 (AMMR v3) for a study focused on estimating loads exerted on the spine. In my attempt to integrate disc stiffness into the model using the BMPlugin tool, I encountered an issue where the compression forces' results remained unchanged.
Upon inspecting the BodyModelConfig.any
file, I discovered that the following definitions were added after enabling the nonlinear-stiffness for whole trunk:
#define BM_TRUNK_CERVICAL_DISC_STIFFNESS _DISC_STIFFNESS_NONLINEAR_
#define BM_TRUNK_LUMBAR_DISC_STIFFNESS _DISC_STIFFNESS_NONLINEAR_
Further investigation led me to the DiscStiffness.any
file, where I found the following condition:
#if BM_TRUNK_DISC_STIFNESS == _DISC_STIFFNESS_NONLINEAR
This condition implies that we need to define BM_TRUNK_DISC_STIFNESS
in BodyModelConfig.any
, which was not automatically created by BMPlugin. Once I defined BM_TRUNK_DISC_STIFNESS
myself, the results changed accordingly.
However, I couldn't locate any stiffness moment parameters for the cervical spine in the AMMR v3.
In addition, I checked the DiscStiffness.any
for both AMMR.v2.4.3-Demo and AMMR.v3.0.0-Demo. The functions defined in these files were not consistent:
For AMMR.v2.4.3-Demo:
#if BM_TRUNK_DISC_STIFNESS == _DISC_STIFFNESS_NONLINEAR_
// K.S.Han et al. 2010 (in degrees, checked against Heuer et al.)
// #Flexion -0.002x3 + 0.0141x2 - 0.4726x
// #Lateral bending -0.0087x2 - 0.6989x
// #Axial rotation -0.0061x3 - 1.0191x
AnyFunPolynomial Flexfun = {
PolyCoef={{-0.002, 0.0141,-0.4726 + .ligFlex,0}};
};
AnyFunPolynomial Extfun = {
PolyCoef={{-0.002, 0.0141,-0.4726 + .ligExt,0}};
};
AnyFunPolynomial ARfun = {
PolyCoef={{-0.0061,0,-1.0191+ .ligAxialRot,0}};
};
AnyFunPolynomial LBfun = {
PolyCoef={{0, -0.0087, -0.6989+ .ligLatbend,0}};
};
#endif
For AMMR.v3.0.0-Demo:
AnyFunPolynomial Flexfun = {
PolyCoef={{0,-0.4726 + .ligFlex, 0.0141, -0.002,0}};
};
AnyFunPolynomial Extfun = {
PolyCoef={{0,-0.4726 + .ligFlex, 0.0141, -0.002,0}};
};
AnyFunPolynomial ARfun = {
PolyCoef={{0, -1.0191+ .ligAxialRot,0,-0.0061}}; // symmetric for R/L ax.rotations
};
AnyFunPolynomial LBfun_R = {
PolyCoef={{0, -0.6989+ .ligLatbend, -0.0087,0}};
};
AnyFunPolynomial LBfun_L = {
PolyCoef={{0, -0.6989+ .ligLatbend, 0.0087,0}};
};
#endif
I would be grateful if you could tell me which one is accurate.
Moreover, I found the same problem reported in another topic (Influence of Disc Stiffness and Ligaments) and did not find any answers.
I would appreciate any insights on whether I made an error in my approach and where I might find information regarding cervical spine disc stiffness in the AMMR v3. Moreover, How can I find the paper related to this model for this nonlinear disc stiffness.