I'm a physics teacher and I would like to find a simulation software that could be used to give exact numerical answers to high school level problems in Newtonian mechanics.

I want the students to first calcultate a numerical answer to a physics problem and then use the simulator to visualize the problem in order to understand it better and verify that the simlator gives the same answer that they got when doing the calculation themselves.

Here are some examples of what kind of problems I want the students to be able to solve with the simulator:

  • A slope with a specific angle of inclination and a ball starts rolling at a certain point. Determine the speed, angular momentum and total mechanical energy of the ball after a specific time t.
  • A ladder of known mass and length is leaning against the wall at a specific angle. The contact between the ladder and the wall is frictionless. Calcultate the x and y components of the force between the floor and the ladder.

I would like the software to have the following features: - Simulation in 2D. No 3D simulations are necessary and the software should at least have the option of doing simulations only in 2D. - Position all objects exactly by writing numbers (just positioning the objects using the mouse is not precise enough). - Show animations of the time evolution of the system. - Show forces, velocities and accelerations as arrows. - Give exact numerical results so that the students can use the software to verify their calculation.

Ideally the software would have a graphical user interface, but if no suitable software with graphical interface exixts, I could also consider a software with text-based inputs. I would consider both free and commercial software.

My question is: Is there any software that would meet these requirements and if there is, where could I get it?

  • $\begingroup$ Wolfram Mathematica (store.wolfram.com/view/app/mathematica/standard-classroom) can do this (and so much more). There is probably comparable software that is free but I don’t have experience with it. $\endgroup$
    – G. Smith
    May 18, 2019 at 7:16
  • $\begingroup$ 1.) there are no exact numerical results. 2.) a lot can be done in MS excel. I used it at high school for everything $\endgroup$
    – Umaxo
    May 18, 2019 at 7:25
  • 1
    $\begingroup$ I checked Mathematica Classroom Edition, but it was difficult to find information about what it can do and how the user interface works or how to do physics experiments with it. I'm not very familiar with Mathematica, but I have understood that it is basically a programming language. Of course I could write the simulations in Python or Octave or any other language, but it would be a lot of work to write a python program for each simulation. In order for it to work in the classroom, the solution would need to be a lot easier to use. $\endgroup$
    – ttsc
    May 18, 2019 at 7:52
  • $\begingroup$ Ok, maybe I misused the words when I talked about exact numerical results. I mean that they should be accurate enough for the students to be able to confirm their results. I would say that if the four most significant digits are correct, then it is accurate enough. $\endgroup$
    – ttsc
    May 18, 2019 at 7:55
  • 1
    $\begingroup$ I'm voting to close this question as off-topic because it's a request for software, which is generally considered off-topic on this site. $\endgroup$
    – Kyle Kanos
    May 19, 2019 at 11:45

2 Answers 2


First off, let me repeat the suggestion made by Umaxo in the comment section. Umaxo suggested: use spreadsheet software to set up numerical calculation.

To get a general idea of what is possible, check out the 1997 website (creator: Michael Fowler), titled 'Teaching Dynamics with Excel97'.

[later edit]
A bit of googling showed me that using spreadsheets in physics teaching is very much alive. Tutorials are available.
[end of edit]

While using a spreadsheet is rather primitive, the neat thing is that using a spreadsheet feels more direct than writing lines of code. Spreadsheet software: you need to learn how to enter a formula in a cell and that's pretty much it.

Each row is a slice in time. From row to row you increment the time.
Then you set up multiple columns for whatever values you want to track, such as angular momentum and kinetic energy.

Spreadsheet software usually has some graphics ability, presumably you can use values in the cells of the spreadsheet to generate a plot of a trajectory.

Simulation software that requires writing code

The other suggestion was to use general purpose modeling software, such as Wolfram Mathematica.

An example of a freely available general purpose modeling environment is EJS. EJS requires JRE (Java Runtime Environment).

This kind of software (general purpose modeling software) also has extensive ability to create and populate visualisations. (Trajectory plots, diagrams, animations)

The thing about general purpose software is that you need to learn quite a lot just to start modeling. With software like that you provide the information of the case you want to model in the form of code, code that you write according to the syntax of that modeling environment.

Does software exist that does everything for the user

I get the impression that you are hoping that something exists that is even smarter than general purpose modeling software.

An example of something approaching that, I suppose, is the following specific purpose software: Kerbal Space Program. I'm not a KSP user myself, but I know some of it from people who do use it. In the KSP environment the user has oodles of spacecraft components available, that can be assembled into rockets. You assemble a rocket, and the physics engine of KSP takes care of generating a model with the appropriate data. You launch the rocket, and the KSP physics engine tries to fly it. That is, even generating the model itself is done completely automatically.

Of course, this is possible precisely because KSP is specific purpose software. KSP only has to deal with rockets. I expect that in KSP there isn't an option to lean a ladder against a wall.

As I mentioned, part of the Kerbal Space Program environment is that there is a Physics Engine. You can think of that physics engine as a supporting library.

Another example of software with a supporting physics engine is the Blender animation software. Blender is first and foremost software to generate animations, but as added functionality there is physics engine support.

I'm not a Blender user, but I imagine that if you set up a scene containing a ladder leaning against a wall, you also have the option to specify the characteristics of that ladder to the physics engine, and I imagine that the Blender physics engine can then generate a physically realistic animation of the ladder sliding down and falling.

I get the impression that you are hoping that something exists that is so easy to use that no prior lessons are necessary, yet so general purpose powerful that it can automatically model any case that you can think of. You get my drift: that's not possible.

If the modeling environment is general purpose then the modeling environment cannot make any assumption about the thing you want to model: you have to specify everything in detail. Pretty much the only way to specify that amount of detail is with lines of code. Lines of code is just the most versatile and expressive way to convey information.

  • 1
    $\begingroup$ Thanks for your comments. I'm not asking for a software that can model any case that I can think of but a software that can model cases that are typical for high school mechanics. For example at falstad.com/circuit there is an easy to use program that can model practically every electric circuit that can be encountered in high school physics. It's easy enough for students and gives precise answers. For mechanics there is a program called Algodoo, which can do all the necessary calculations, but it lacks the ability to determine proportions and positions exaclty. $\endgroup$
    – ttsc
    May 19, 2019 at 19:47

Your first example was a good experiment using paper tape and a trolley instead of a ball and measuring the dot spacing when I was at school...

Much better to have “real” instead of virtual but that is my opinion.

  • 2
    $\begingroup$ Thank you for your opinion. I agree that real world experiments are important and I'm doing them as well, but there are things that are difficult or laborous to do in the real world and I want to use a combination of both real world and simulated experiments. $\endgroup$
    – ttsc
    May 18, 2019 at 7:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.