cervical spine model

Dear AnyBody team,
I am working on a project that deals with quantifying cervical spine loading during simple head flexion tasks. Head of the model is mounted with a head lamp and pair of glasses. Learning from the shoulder bag model, I created stl files of head lamp and pair of glasses and connected these objects using straps (AnyKinPLine). I am able to successfully load and run my analysis. However, model is predicting very high loading. When the weight of the lamp and pair of glasses was set to 5 N each the loading at (T1-C7 compression) is nearly nine times ([FONT=Calibri]~ 900 N) when the weight was set to zero (~ 100 N). Please see the output file. For a simple flexion exertion these figures look very high to me. I am not sure if I am doing anything wrong or missing any step. Please advise.[/FONT]
Thank you.

Dear Ashish,

We just had a look at your model and had some difficulties to get the same numbers you have in your output file.
In the ForceOnHead.any you apply Flocal = {25cos(Angle), 0.0 , 25sin(Angle)}; which means 25N,

if you change that to Flocal = {5cos(Angle), 0.0 , 5sin(Angle)}; then the results look much better!
Also the direction ,the loads are applied seem strange to me!

Dear Aalmunajjed,

Thank you for your reply.
I apologize if I didn’t make myself clear.

I am not using “ForceOnHead.any” to apply the force. This include file has been commented out of the main.

I was talking about the mass of the AnySeg Glasses and AnySeg Light in the environment file. If the mass of these segments are set to zero then the reaction forces at T1-C7 is ~ 100 N. However, once this mass is increased to 5 N for each segment i.e. total mass of 10 on the head then reaction forces increases to ~ 900 N. The output files shows the actual figures.

I would appreciate your comments.

Thank you.

Dear Ashish,

sorry for the misunderstanding. So you use the mass of the segment to apply the weight of the glasses/light. In that case, there are 2 problems:
first, if you write in there Mass = 5, you apply 5kg = 50N; that’s heavy!
second, you apply the weight in the origin of that segment, so if you draw the ref-frame (out-commented in your model) you see where the load is applied. That means for the light, the weight is applied 30cm outside and that results in an additional large moment.

hope that’s it


Dear Amir,

Thank you for your reply. My modeling is loading and running fine now and the model output make sense. However, I am having trouble in locating the part of the code where I can change head size (length, width, and other anthropometrical dimensions). I could locate part of the code where I can change body mass and BMI values.

Could you please advice.


Hey Ashish,

there are severa loptions for scaling! These are very well described in the tutorials:


have a look at lesson one there!!

please be careful, if you change values in the wrong files, that might cause serious trouble!

Dear Amir,

I am getting some strange cervical spine loading results. I am studying effect of weights of two small devices mounted on the head on the reaction forces acting on the cervical spine. One of the posture I am studying require 30 degrees of flexion, 20 degrees of of lateral bending and 30 degrees of rotation.

When I run the model without weight (#include environment_1) I get higher forces compared to when I run the model with weight (#include environment_3).

Model output file is in the model folder.

Please advise.

Hey Ashish,

first, if you apply Flocal, the Force will stay in that coordinate system, so you have to apply F if you want to replace the mass of the object with a Force.

second, it looks like this -3N do not have a huge effect at all. If you increase it to -30N it will increase the loads in C5C6 for example. Additional, there is some kind of pretension in your motion without this external load. This can be seen in the muscle envelope in the first steps.
It is possible, that -3N help to balance the head during this motion.

try that:

AnyForce3D Lampwt= 

// F = {0, -3, 0};
F = {0, -30, 0};

AnyDrawVector DrawForce1 = {
  Vec = Main.Model.EnvironmentModel.Loads_L.Lampwt.Fout*0.01;
GlobalCoord = On;
AnyRefNode &ref=Main.HumanModel.BodyModel.Trunk.SegmentsThorax.SkullSeg.Lamppt ;
Line.End.Style = {5} ;
Line.End.Thickness = 3*Line.Thickness;  
Line.End.Length = 4*Line.Thickness;
Line.Start.Style = {0};
Line.Start.Thickness = 3*Line.Thickness;  
Line.Start.Length = 3*Line.Thickness;
Line.Start.RGB = {1,0,0};


AnyRefFrame &lampwt = Main.HumanModel.BodyModel.Trunk.SegmentsThorax.SkullSeg.Lamppt;