AmesimKnowledge

Advanced examples > A Catapult to demonstrate locked states

Demonstration

The system shown below represents a catapult loosely based on the type used in medieval warfare (trébuchet). On the left-hand side we have a large mass 2 m above a lever. On the right-hand side is a much smaller mass. When the large mass falls onto the lever, the small mass is projected into the air.

Figure 89: Catapult model

Figure 90: A trébuchet

Procedure

  1. Copy and open the system called Catapult.ame, shown above.

Note You can get this system through Help > Get demo, from the Tutorials directory. The file is called Catapult.ame.

  1. Set non-default parameters as follows:

Submodel

Number on sketch if any

Title

Value

MECMAS21

1

endstop type

none

mass [kg]

1000

inclination (+90 port 1 lowest, -90 port 1 highest) [degree]

90

LSTP00A

2

gap or clearance with both displacements zero [mm]

2000

contact damping [N/(m/s)]

1.0e6

LML001

distance port 1 to pivot [m]

5

MECMAS21

3

endstop type

ideal

mass [kg]

2

lower displacement limit [m]

-0.15

higher displacement limit [m]

0.15

inclination (+90 port 1 lowest, -90 port 1 highest) [degree]

-90

LSTP00A

4

contact damping [N/(m/s)]

1.0e6

MECMAS21

5

endstop type

none

mass [kg]

20

inclination (+90 port 1 lowest, -90 port 1 highest) [degree]

-90

Note

The lever submodel is only valid for small angles about the horizontal.

There is a 5 to 1 velocity ratio provided by the lever.

We restrict the movement of the lever using the submodel MECMAS21. This submodel is also used to take into account the fact that the center of mass of the lever is to the right of the pivot.

The two instances of submodel LSTP00A parameters have their contact damping values adjusted to ensure there is no bounce when they hit the lever.

  1. Set final time to 0.5 s and print interval to 0.001 s.

  2. Do a dynamic run.

  3. Plot the displacement of the projectile.

The projectile falls for a distance of just over 0.15 m. The 0.15 m is due to the limit in the movement imposed by MAS005 and there is an extra 2.0e-6 m due to deformation of contact between the projectile and the lever. The large mass also falls but does not hit the lever in the 0.5 s. Figure 91: Fall of the projectile mass

Next, to see the flight of the projectile, we can set a final time of 6 seconds, and plot the displacement of the large mass and the projectile on the same graph. First we plot the large mass. In fact, we need to plot the opposite of the displacement of the large mass as it has the opposite orientation to the projectile:

  1. Select the Post processing tab. If it is not present, use the Edit > Show/Hide menu to display it.

  2. Right-click in the Post processing tab and select Add. A new line is added to the tab.

  3. Double-click the Title field and enter Large mass displacement as the title.

  4. Click on the large mass in the sketch and select displacement port 1 in the Variables view.

  5. Right-click the variable and select Copy variable path.

  6. Double-click in the Expression field of the Post processing tab.

  7. Use Ctrl+V or a right-click to paste the variable path into the Expression field.

  8. Click at the start of the Expression field to place a minus sign in front of the variable path:

  9. Drag the new variable from the Post processing tab to the sketch area to create the plot.

  10. Add the small mass displacement to the plot.

By zooming, we can observe that the small mass descends until it reaches the endstop, whereas the large mass continues to descend until it reaches the lever. The small mass remains on the endstop until the large mass reaches the lever, launching the small mass. Figure 92: Projectile launch - detail

The full plot shows the behavior of the system. Keep it open until the end of the exercise. Figure 93: Projectile Launch

Results

The objective now is to start with the projectile and lever in equilibrium but with the large mass still 2 m above the lever.

Source: https://docs.sw.siemens.com/en-US/doc/254352342/PL20250521841123434.amesim_collection.Tutorial_Run/Demonstration · retrieved 2026-07-17