antra-abdominal forces


i would like to find out the forces caused by the intra-abdominal pressure. For this i have four questions:

  1. How many forces are there? Some say, there are five forces acting on five discs, others say, there are two forces acting on the thorax and the pelvis creating an extension.

  2. After analysis i find a value Main.Study.Output.Model.HumanModel.Trunk.Buckle.AbdominalPressureMuscle1.Fout

of 1166 (Newtons ?)
This is quite a lot. What does this value mean?

  1. I added to the Main.any file:

AnyForceMomentMeasure2 Ttotal =
IncludeGravity = Off;
IncludeInertiaForces = Off;

AnyForceBase &f1=Main.HumanModel.BodyModel.Trunk.Buckle.AbdominalPressureMuscle1;
AnyRefFrame &T12L1joint =Main.HumanModel.BodyModel.Trunk.SegmentsThorax.ThoraxSeg.T12L1JntNode;
AnySeg &T = Main.HumanModel.BodyModel.Trunk.SegmentsThorax.ThoraxSeg;

I suppose the force acting on the thorax is
Main.Study.Output.Ttotal.F ? This has a y component of 52 N. Is this the force i am looking for?

  1. Is there an easier way to find all forces created by the intra-abdominal pressure?

Thanks for the help and kind regards,


sorry, i made a mistake in number 3). But i edited the question already.

additional question:
which five discs are the loaded ones? Threre are 7 discs between thorax and pelvis.

Hi Thomaz,

In our Wiki there is a presentation under Body Models and Lumbar Spine:

This Abdominal Force Model is a complicated model. I think this short presentation might help to understand the model a little bit. Please have a look and see if that helps and then come back to us!

Hello aalmunajjed,

i don’t know where from, but this is exactly the answer i expected. It is quick and provides some time buffer but it does not really help :wink:
Sorry. But i have the impression that the principal aim is to have no unanswered open threads here.

Back to the question. Thanks for the hint. It is very helpful and it is nice that you spent time to answer my question. But i read it (before i asked the question, which you could of course not know and which is as a matter of fact here:
but my questions are not answered there. :frowning:

  1. This it where 5 (five) forces are mentioned and not seven.
  2. I did not find an information about Main.Study.Output.Model.HumanModel.Trunk.Buckle.Ab dominalPressureMuscle1.Fout and why it is so large.
  3. It is still not clear to me if the force i search for is obtainable with AnyForceMomentMeasure2
  4. It is still not clear to me if there is an easier way to find all forces coming from the IAP.

It would be very helpful if you could really answer each of the questions even if the answers are short.

Thanks a lot and sorry if i let out my frustration too clearly :wink:

Hi Thomaz,

here are AnyBody users at very different levels, in most cases they are beginners and it is enough to point them into the right direction and they succeed themselves…
Sorry, if you were not satisfied.

for your case:

  1. Sorry, it’s not really 5 and not 7 either! There are “kinda” 6 of them. When you look at the pdf (that you can find under the link I provided and Lumbar Spine or the link that you posted), you can see that there are 5 AntPost (at each disk) and 1 ProxDist measures. All of them create forces.

  2. It will be tough to use
    to obtain the force you are interested in, but there is an easier fix.

  3. is also not needed.

  4. Yes, there is!

Please open the Buckle.any file and reverse some out-commented lines:

  AnyVar disc1= Disc1Coef*.AbdominalPressureMuscle1.Ft;
//  AnyVar disc11= 2*Main.HumanModel.BodyModel.Trunk.MusclesSpine.Transversus.TransversusL1.Activity*Main.HumanModel.BodyModel.Trunk.MusclesSpine.Transversus.TransversusL1.Strength;
  AnyVar disc2= Disc2Coef*.AbdominalPressureMuscle1.Ft;
//  AnyVar disc22= 2*Main.HumanModel.BodyModel.Trunk.MusclesSpine.Transversus.TransversusL2.Activity*Main.HumanModel.BodyModel.Trunk.MusclesSpine.Transversus.TransversusL2.Strength;
  AnyVar disc3= Disc3Coef*.AbdominalPressureMuscle1.Ft;
//  AnyVar disc33= 2*Main.HumanModel.BodyModel.Trunk.MusclesSpine.Transversus.TransversusL3.Activity*Main.HumanModel.BodyModel.Trunk.MusclesSpine.Transversus.TransversusL3.Strength;
  AnyVar disc4= Disc4Coef*.AbdominalPressureMuscle1.Ft;
// AnyVar disc44= 2*Main.HumanModel.BodyModel.Trunk.MusclesSpine.Transversus.TransversusL4.Activity*Main.HumanModel.BodyModel.Trunk.MusclesSpine.Transversus.TransversusL4.Strength;
  AnyVar disc5= Disc5Coef*.AbdominalPressureMuscle1.Ft;
// AnyVar disc55= 2*Main.HumanModel.BodyModel.Trunk.MusclesSpine.Transversus.TransversusL5.Activity*Main.HumanModel.BodyModel.Trunk.MusclesSpine.Transversus.TransversusL5.Strength;
  AnyVar dh= dvdh*.AbdominalPressureMuscle1.Ft;
// AnyVar dhh= .DummyReac.Ftotal;

Disc 1-5 will give you the 5 AntPost Forces and dh the ProxDist Force. In my case I had around 50-55N in the standing model. You will find the Forces in the AbdominalVol folder. I cannot say which part of DH will go to Thorax or Pelvis…

I hope that helps now and brings you further on.

Hello Amir,

thanks for the helpful hint. That’s what i needed. :slight_smile:

There is, however, one remainder. You wrote that you do not know which part of DH will go to Thorax or Pelvis. That makes me wonder. If the IAP can be thought of as a balloon pushing in all directions, the force from dH should be upward to the thorax and downwards to the pelvis. This would however mean, that there are 7 forces, but you say, there are “6”. Do you mean 6 different amounts?



Hi Thomas,

great news! And you are absolutely right, it can be seen and explained as a balloon.
And this is a good question, can you say that this “vertical force” is equally applied to thorax and pelvis (then we are back to 7)? I cannot answer this right now, but let me discuss it with the team, or let me know what you think…

answer to question 3:

Main.Study.Output.Model.HumanModel.Trunk.Buckle.Ab dominalPressureMuscle1.Fout is the intra-abdominal pressure in Pascal (N/m²)

“strength” is F0 = 200 mmHg x scaling factor

calculated pressure is Fout = F0 x Activity

Force on segments is Fout x coefficients;
These forces can be inspected when uncommenting disc[1…5] and dh. It is measured in N.

Where do i find the current “volume” when the initial volume is pi x R² x H0 ?



Hi Thomas,

I hope I can explain that good enough, but it’s a complicated model. The volume is constant, but it is only used in the initial step to calculate those coefficients. You could say you calculate the ratio for a gear box. Additional, when you try to squeeze a balloon, you will not really change the volume, the same amount of air will stay in the balloon; you will however, change the forces applied on different areas on the balloon.


i wonder why

e. g.
AnyVar disc1= Disc1Coef*.AbdominalPressureMuscle1.Ft;

which should provide the force created by the abdominal pressure acting at L1 cannot be found when including
AnyMechOutputFileForceExport ForceExportL1 = {…};

The unmodified AMMR gives a value of 51 N for the above mentioned Ft, while the exported file gives only about a fifth of this value (Disc1.Jnt.Constraints.Reaction).

I have the feeling that Ft is not the force acting on each vertebra but acting on all 5 vertebrae together. Is this correct?



Hi Thomas,

I think you are correct that this Ft you will not in the output from a vertebra.

The transversus muscles are linked together through an abdominal pressure model which means that they effectively can generate a force to extend the spine see slide 9 and on wards on the link below.

Best regards

Hi Søren,

thanks, i wrote Ft, but i meant the forces disc1, disc2 … What are those? Are they each the sum of all shear forces? (but they are calculated differently)