Modelling the trajectory of a squash ball in a squash court?

Twenty years ago I wrote a 2D trajectory calculator here:

The only physics it uses is that the ball loses half the speed after hitting any wall/floor .

Wondering how to expand this to 3D using calculix ?

This is based on an old file I just modified extending the time and rotating the wall to check the out of plane rebound.

-Geometry: Howoll ball.

-Material:Mooney Rivling.

0.93018 [MPa]

0.23254 [MPa]

0.0001 [1/MPa]

-Element: 1 element per thickness. Wedge6

-Solver:Ccx2.20 Pardiso MKL OOC.

-Nonlinear Dynamic with increased number of max increments.

-Loads: Gravity

-BC: Ball completely free.

-Contacts: No friction. 10GPa/m Normal Stiffness.

It takes 6 min to compute on my laptop while working on another subject.



Cool, would you be able to share the model? Some changes are:

  1. Modify material properties so that ball loses 50-80% of energy after hitting each surface.
  2. Include friction, since ball spin is important. The ball picks up spin when hitting a wall at an angle. However, there is no need to model any initial spin given by the racket.
  3. Model the full court. Can the walls be modeled as rigid plate or something?
1 Like

Implicit or explicit ?

@Disla , the animation looks weird. It seems like the ball in its highest position is higher than the starting height. Can this really be due to the graphic projection only?

1 Like

Yep. It can be very interesting to see how far we can go. Healthy and profitable challenge.

Not sure what you mean about that. Plasticity? The ball can end up distorted.

That’s the real challenge from my point of view. No idea how to do that yet. It will probably need to isolate the problem first.

Right. They actually are rigid plates made of 1 single element.

Implicit. Haven’t try explicit but I can anticipate much larger solving times.

Ball must end up lower (don’t forget Strain Energy is into the Balance) but not as much as it is now.

I would like to run it with ccx 21. There was a bug in the version I’m using (Compiled v20 MLK OOC) when computing the Strain Energy for Hyperelastic Materials. I would like to see if the new ccx can reduce the discrepancy but I’m finding for some reason it is not converging with v21.


Well, as said let’s see how far we can go. Good luck

1 Like


I have found a leakage of Energy in the ball after the rebounds and I’m not sure where it is leaking.(I’m finally computing with ccx. v21)
No damping, no friction, no BC on the ball…

Is the work done by artificial/numerical damping forces taken into account in the energy balance equation?( Maybe it’s eating Strain Energy).
Which Strains are used to compute the velocity for Hyperplastic materials?

Any idea why is Overall Energy balance slightly but uniformly decreasing after the first rebound?

1 Like

If the ball is hit towards the wall at 100 km/hr, it will rebound at much slower speed. Something like 20 km/hr… Even at slow speeds, it will rebound much slower. I am guessing it has to do with the material properties, but not sure.

:flushed:Wow. That’s a lot of Energy lost. I was talking of some losses in two rebounds and uniformly lost. My kinetic Energy is almost all recovered less some Strain Energy that is transfered.


Could you try to cut your time step by 1/8 to see what happens?

At 100 km/h the properties of my material turn the ball into a potato. Squash balls must be harder than I imagined.
But even with that violence, energy Balance is acceptable . The mesh refinement and time step doesn’t allow a more accurate result but I’m talking about small Energy losses not a 96% loss.

What material properties are you using?


I think the Dunlop material properties are a trade secret. Many competitors have tried and failed to produce a ball with similar bounce to it.

Is there a way to simplify the material properties to make it lose 80% of it’s energy after impacting any wall ( front , side or floor )? I can try dropping a warned up ball from a known height and seeing how high it rebounds.

1 Like

I have never done something similar but:

If your material is in some way altered to lose 80% after impacting it’s properties would be changed and would not be the same in the next impact.

I think the way is through damping. Defined acurately in such a way that it is able to eat only the main mode storing Strain Energy. I will try later.

EDITED. Yep. It’s Posible. I have damp 56% of Energy/rebound with a damping proportional to the stiffness. Check this post to know how to define damping ratios.



Found an old video showing the behavior to capture:

Notice the vast slowdown of the ball on the rebound…

Then the potato was not so bad.

Here are described the standard test that the balls must pass which can give an approximate idea of its material parameters.(Geometry, Stiffness and density mainly)

Do you know the Dunlop wall thickness or could you cut one and measure it?
EDITED: Just found it is about 4mm in a research paper.

1 Like

Sure I’ll check the thickness later today. Have some busted balls at home. Btw, here’s some more reading about squash balls:

I cut one open and it does measure 4 mm wall thickness.