The Step Handbook

The Step Handbook

Anne-Marie Mahfouf

Revision 0.0.3 (2007-12-06)

Step is an interactive physical simulator. It allows you to explore the physical world through simulations. It works like this: you place some bodies on the scene, add some forces such as gravity or springs, then click Simulate and Step shows you how your scene will evolve according to the laws of physics. You can change every property of the bodies/forces in your experiment (even during simulation) and see how this will change evolution of the experiment. With Step you cannot only learn but feel how physics works!


Chapter 1. Introduction

Chapter 1. Introduction

Step is an interactive physical simulator.

Step features:

  • Classical mechanical simulation in two dimensions

  • Particles, springs with dumping, gravitational and coulomb forces

  • Rigid bodies

  • Collision detection (currently only discrete) and handling

  • Soft (deformable) bodies simulated as user-editable particles-springs system, sound waves

  • Molecular dynamics (currently using Lennard-Jones potential): gas and liquid, condensation and evaporation, calculation of macroscopic quantities and their variances

  • Units conversion and expression calculation: you can enter something like "(2 days + 3 hours) * 80 km/h" and it will be accepted as distance value (requires libqalculate)

  • Errors calculation and propagation: you can enter values like "1.3 ± 0.2" for any property and errors for all dependent properties will be calculated using statistical formulas

  • Solver error estimation: errors introduced by the solver is calculated and added to user-entered errors

  • Several different solvers: up to 8th order, explicit and implicit, with or without adaptive timestep (most of the solvers require GSL library)

  • Controller tool to easily control properties during simulation (even with custom keyboard shortcuts)

  • Tools to visualize results: graph, meter, tracer

  • Context information for all objects, integrated wikipedia browser

  • Collection of example experiments, more can be downloaded with KNewStuff2

  • Integrated tutorials

Chapter 2. Using Step

Chapter 2. Using Step

Step simulates a physical world. The main part of Step (1) is the world scene in the center of Step main window where you first place physical objects and where you see the simulation. On the left of this scene a palette (2) let you choose your physical objects. You can freely move this palette anywhere on your desktop by dragging the title bar. On the right of the scene you can see the current world description (3), its properties (4), some help to explain some words (5) and the history of the current world (6). Each of those panels can be placed elsewhere on your screen by dragging the title bar.


Step Main Window

To help you get started, Step integrates a series of tutorials which easily teach you how to build an experiment. Please see step by step to start with the first tutorial.

The board

-

The menubar

The menubar

-

Chapter 3. Getting familiar with Step: the tutorials

Chapter 3. Getting familiar with Step: the tutorials

The File->Open Tutorial... menu action brings you a file dialog where you can load Step built-in tutorials. There are five tutorials and you will progressively learn how to interact with each of Step element. The best is to start with the first tutorial by clicking on the file tutorial1.step. This will display Tutorial 1 in Step.

Note

If you do not see the tutorial properly you can try to zoom in to display it better.

The World panel on the right lists all the objects you have on your scene. By clicking on an object here, the Properties panel below displays this object properties. You can change the properties here by clicking on the one you want to modify.

Each tutorial consists in some text presenting the new elements and explaining their properties. Then you are asked to change some properties of the elements in order to achieve a new result of the experiment.

Tutorial 1: bodies and springs

This tutorial presents you bodies and springs and how to start your first simulation.

A physical body or body for short is an object which can be described by the theories of classical mechanics, or quantum mechanics, and experimented upon with physical instruments. This includes the determination of position, and in some cases the orientation in space, as well as means to change these, by exerting forces.

A spring is a flexible elastic object used to store mechanical energy.


Tutorial 1 experiment

The physical experiment in this tutorial represents two disks linked by a spring. Disks have an initial velocity in a tangential direction (the little blue arrow) and an acceleration (the red arrow) and springs have a stiffness and the length can be changed. Running the experiment you can see the disks being pulled and pushed by the spring. The tutorial invites you to modify the spring stiffness and also to try to change the system experiment.

At the end of this tutorial you should be more familiar with Step interface and you should also be able to easily change bodies properties.

Tutorial 2: controllers and graphs

Tutorial 2: controllers and graphs

You will learn more about controllers and graphs in this tutorial.

A controller is a device which allows you to graphically modify a property of a body or a spring. In the tutorial, the controller allows you to change the stiffness of the spring "spring1". By moving the slider to the right or using the W key you can increase spring1 stiffness value and by moving the slider to the left or using the Q key you can decrease it. Right-clicking on the controller brings you several context actions and the Configure Controller... dialog allows you to change each property of the controller.


Tutorial 2 experiment

Graphs allow you to graphically visualize the relationship between two variables. The example in the tutorial prints the evolution of the position of particle1 while time advances in world1. With a right click on a graph you can clear or delete the graph as well as edit the configuration dialog and change here all the properties for this graph.

At the end of this tutorial you are able to use controllers to act on your bodies properties and graphs to monitor specific properties in your experiment.

Tutorial 3: rigid bodies and tracers

Tutorial 3: rigid bodies and tracers

Tutorial 3 presents you rigid bodies and tracers.

A rigid body is an idealization of a solid body of finite size in which deformation is neglected. In other words, the distance between any two given points of a rigid body remains constant in time regardless of external forces exerted on it.

A tracer is a tool which shows the trajectory of a given point on a rigid body.


Disk properties

When a rigid body (here a disk) is selected you see three grey handlers on it. Using them by clicking on them and moving them, you can change the velocity, the angle and the angular velocity of the body.


Tutorial 3: 2 tracers

The experiment in Tutorial 3 shows a disk and a box linked by a spring. A tracer (the blue one) is already on the box. You can add a second one: select Tracer in the Palette panel then click on the box on the point where you want the tracer to be. In the Properties panel, click on the color line and on the right of this line you can click on the blue square and a color palette appears: you can choose a new color for the tracer. The screenshot above shows two tracers after the simulation is run for a few seconds.

Tutorial 4: motors and forces

Tutorial 4: motors and forces

You have two sorts of motors available in Step: linear motors and circular motors. A linear motor applies a constant force to a given point on a body while a circular motor applies a constant angular momentum to a body.

Three different forces can be added to bodies: the weight force, the gravitation force and the Coulomb force. By default all forces are turned off in Step. Coulomb force is a force which existed intrinsically between two charges.


Tutorial 4: Motors

In the experiment you have a disk and a box linked by a spring. A flat box at the bottom will make a boundary. The disk and the box both have a linear motor applied to them. Two controllers allow you to change the force value of each motor. Start the simulation and play with the controllers. Then stop the simulation and add a weight force in the world (forces are global and apply to the whole world). Restart the simulation and analyze the difference.

You can also remove the linear motor on the box and add a circular motor instead. Click on CircularMotor in the Palette panel and then click on the box. The circular motor is applied to the box. You then need to set the torque value by clicking and moving the grey handler of the motor.


Circular motor

This tutorial introduced you with motors and forces and you should now be able to add those to bodies.

Tutorial 5: joints

Tutorial 5: joints

Joints are objects that attaches bodies to each other or to the background. You have a the following joints in Step: anchors, pins and sticks. An anchor is a joint that fixes position of the body. The body cannot move when it has an anchor. A pin is a joint that fixes one point of the body, the body can still move around the pin. A stick is a joint that fixes the distance between two points on two bodies.


Tutorial 5: double pendulum

Tutorial 5 describes a double pendulum.

Add a Particle to the scene then join this particle to Particle2 with a stick. Click on Stick on the Palette panel. You then need to select the first object attached to the stick (particle2) with the left mouse button then drag the mouse to the second object (particle3) and release the mouse button on particle3. You now have a triple pendulum!

Chapter 4. Step examples

Chapter 4. Step examples

-

first.step: First example

-

brownian.step

brownian.step

-

doublependulum.step

doublependulum.step

-

gas.step

gas.step

-

Chapter 5. Command Reference

Chapter 5. Command Reference

The File Menu

File->Quit (Ctrl-Q)

Quit Step.

The Settings Menu

The Settings Menu

Settings->Show Toolbar

Toggle (hide or show) the toolbar.

Settings->Show Statusbar

Toggle(hide or show) the statusbar.

Settings->Configure Shortcuts...

Configure the shortcuts, i.e the keyboard keys.

Settings->Configure Step..

Open a dialog which allows you to configure Step.

The Help Menu

The Help Menu

Help->Step Handbook (F1)

Invokes the KDE Help system starting at the Step help pages. (this document).

Help->What's This? (Shift+F1)

Changes the mouse cursor to a combination arrow and question mark. Clicking on items within Step will open a help window (if one exists for the particular item) explaining the item's function.

Help->Report Bug...

Opens the Bug report dialog where you can report a bug or request a “wishlist” feature.

Help->Switch Application Language...

Opens a dialog where you can edit the Primary language and Fallback language for this application.

Help->About Step

This will display version and author information.

Help->About KDE

This displays the KDE version and other basic information.

Chapter 6. Developer's Guide to Step

Chapter 6. Developer's Guide to Step

Not yet written

Not yet written

Chapter 7. Credits and License

Chapter 7. Credits and License

Step

Program copyright 2007 Vladimir Kuznetsov

Contributors:

  • Author: Vladimir Kuznetsov

  • Contributor: Carsten Niehaus

Documentation copyright 2007 Anne-Marie Mahfouf

This documentation is licensed under the terms of the GNU Free Documentation License.

This program is licensed under the terms of the GNU General Public License.

Appendix A. Installation

Appendix A. Installation

How to obtain Step

Step is part of the KDE project http://www.kde.org/.

Step can be found in the kdeedu package on ftp://ftp.kde.org/pub/kde/, the main FTP site of the KDE project.

Compilation and Installation

Compilation and Installation

For detailed information on how to compile and install KDE applications see Building KDE4 From Source

Since KDE uses cmake you should have no trouble compiling it. Should you run into problems please report them to the KDE mailing lists.