Algodoo related

Solve performance problem on Windows 7 – Simulation runs slow

There have been some problem with the performance on Windows 7 lately that makes Algodoo run really slow. This is due to a problem with the graphic cards drivers in Windows. To solve this update your drivers. Click here to learn how >>.

All icons and GUI elements are grey and white. What is wrong?

This is due to to the same problems with the graphic cards drivers in Windows. To solve this you could try the following:

1. Open Algodoo. Turn of shaders by going into Options (CTRL + P is probably easier) click the Rendering tab and uncheck “Enable anti-aliasing through shaders” and finally restart Algodoo. It might be hard to find the buttons when the icons are all blank, but hopefully the text can be read.

2. If that does not work, try opening the console in Algodoo by pressing F10 and write:
Resources.forceGLUBuildMipmaps = true
and then press enter. Restart Algodoo.

3. It might also be solved by updating your graphic drivers. Click here to learn how >>.

What is Algodoo?

Algodoo is a 2D physics simulation software with an easy to use interface. It is hard
to classify Algodoo, since we haven’t quite seen anything like it before.
At the same time, it can be a learning tool as well as a rather addictive open ended
computer game, and it can potentially also be an animation tool, or an engineering tool.
To be honest, we pretty much want Algodoo to be all of this and we leave it to you
to find out how to best make use of Algodoo!

How can I keep up with the latest news on Algodoo?

Sign up for the Algodoo Newsletter (very low volume and no spam!).

Algodoo looks a lot like Phun! Why?

Algodoo is derived from Phun, and developed by the same team. See changes for information about everything that has been added, fixed and improved. In particular, there has been much development on the visualization of physical properties, e.g. force vectors and velocities, as well as a versatile plotting system. The simulation method for incompressible fluids used in Algodoo is very novel, with a pending patent by Algoryx Simulation.

Where does Algodoo come from?

Algodoo was originally developed in 2007-2008 by Emil Ernerfeldt in his MSc thesis project
in Computer Science at Umeå University, in Umeå, Sweden. It was released
under the name “Phun” and was free for download for individual and non-commercial
use. The accompanying video was (and is!) tremendously popular at YouTube and
has had nearly two million views at the time of writing (Aug 2009).
In May 2008, Emil and Phun moved into a spin-off company of Umeå
University, named Algoryx Simulation AB, which was founded by Emil’s supervisor
Kenneth Bodin and his colleagues in 2007. Algoryx now continues to develop
and sell the software under the name Algodoo, with Emil as lead programmer and project lead.

The name Algodoo is inspired by the two words “algorithm” and “do”, which means that
we use algorithms for getting things done! Algodoo is also very much about doing things, and we
strive at promoting lots of user activity.

Why did you change name from Phun to Algodoo?

Well, on the web there are certain sites and domain names with the name “phun” that aren’t great to have associated with software used by young people… This turned out to be a very serious problem and it really forced us to abandon “phun” as a name. In addition, it turned out to be nearly impossible to protect the name Phun as a trademark. Algodoo is now a copyrighted trademark owned by Algoryx.

Can I use Algodoo for education?

Of course! For educational use in schools, we offer favorable volume discounts. We also apply additional regional discounts for developing countries. Contact us at algodoo@algoryx.se.

I’d like to write a review. Can I get an evaluation license?

Yes, we love to read reviews, and we will of course issue licenses for this purpose. Contact us at algodoo@algoryx.se.

How do I learn to use Algodoo?

The best way is often just to play around with the program. If you hover your mouse over a tool or button, a tooltip will appear explaining its function ans use.

There are also excellent tutorials available on our website, in the official forum and on youtube.

Is Algodoo available in my language, or will it be?

Algodoo is freeware – if you want it translated, maybe you should consider doing it yourself!

I pressed the “Draw Cursor” and now my cursor won’t show!

1) Open the Options menu (To open Options menu you can press ctrl + P on PC or cmd + P on Mac).
2) Make sure the “Draw cursor” checkbox is checked in the interface tab.

What sort of computer and operating system do I need to run Algodoo?

Minimum system requirements:

  • Windows XP, Windows Vista or Windows 7, Mac OS X 10.5
  • 1 GHz CPU
  • 256 MB of RAM
  • Video card with 96MB of memory with OpenGL support and the latest drivers
  • 40 MB of free hard disk space
  • An internet connection when unlocking Algodoo

For SMART Board:

  • Windows XP SP3, Windows Vista or Windows 7
  • SMART Notebook 10.8

Recommended system requirements:

  • Windows XP, Windows Vista or Windows 7, Mac OS X 10.6
  • 1.6 GHz CPU or better. Faster processors give faster simulations.
  • 512 Mb of RAM
  • Video card with 256MB of memory with OpenGL support and the latest drivers
  • 100 MB of free hard disk space
  • An internet connection

The simulation runs really slow (as in slow motion), how do I fix that?

For small or empty scenes, Algodoo should run smoothly on modern computers.
If not, try updating your graphics card drivers (click to learn how), and also make sure you run the latest version of Algodoo.

For large scenes and water simulations, Algodoo has to do a really hard job in solving thousands of equations 60 times per second. This is one of the most demanding tasks you can use a computer for, and the larger the system, the more demanding the simulation. In fact, for really, really large systems, scientists use supercomputers for doing these types of simulations!

So, while we work all the time on improving performance, and eventually also will release a version that is massively parallel, slow execution for large scenes is not a bug, but a fact that we deal with serious models of nature.

How do I set the viscosity in Algodoo’s fluids?

You can’t, for now, but this will be available in a forthcoming release (no date is set yet, so don’t ask :-).

My hinges stretch / my objects gets crushed by larger objects.

Simulating large mass ratios is a hard problem which Algodoo cannot always solve accurately. If your chains stretch too much, increase their density. If a small object is getting squished by a large one, make the smaller one more heavy. This will eliminate the large mass ratios and so get rid of the problem.

Physical models and simulation methods

Are simulations in Algodoo accurate and correct, or is this just a toy?

Algodoo is indeed a digital toy, and nevertheless simulations are of very high quality,
using cutting edge scientific methods for multiphysics simulation.
However, there are some things to keep in mind:

  • The time step in Algodoo is by default 1/60 second (60 Hz), so any modeling of real-world physics happening at shorter time scales will be hard to reproduce. Typically this also means that the physics occuring on very short length scales is hard to resolve with this timestep, so we don’t recommend sub-centimeter physics at all. This scale limitation also holds for fluids.
  • When simulating a scene, Algodoo is solving a large system of equations using numerical methods. In order to ensure interactivity, the solution is approximate and this may lead to artefacts in certain cases.
  • The simulation engine in Algodoo is rather complex, and as with all software it may contain bugs. If you have found an inconsistency in the simulation that you believe should not be there, you should report this!
  • We do our very best to make sure Algodoo has high fidelity physics, but legally Algoryx has to issue the usual statement that: The software is provided as is, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement of third party rights. In no event shall the authors or copyright holders, Algoryx Simulation AB, be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out or in connection with the software or the use or other dealings in the software.

So, what simulation methods are actually used in Algodoo?

Warning – technical description…

Well, Algodoo basically simulates mechanical systems that are described by Newton’s equations. However, rather than starting with Newton’s laws, resulting in coupled differential equations and thereafter discretizing these, we start with a Lagrangian formulation of mechanics. The Lagrangian is discretized in
time and space, and thereafter we apply a discrete variational principle resulting in difference (or “stepping”)
equations for the system. In this way we can describe particle systems, rigid body systems
with constraints and motors, impacts, contacts and dry friction, as well as incompressible fluids and visco-elasto-plastic materials.

For constraint stabilization and regularization, we use a method called SPOOK, developed by
Claude Lacoursière in his PhD thesis, Ghosts and machines: regularized variational methods for interactive simulations of multibodies with dry frictional contacts, Dept. of Computing Science, Umeå university, 2007. The resulting time stepper is closely related to the Leapfrog integration scheme. The time step is by default 1/60 s, that is, 60 Hz. At each timestep Algodoo typically solves a large number of equations (roughly as many equations as there are constraints and contacts in the system simulated) using an iterative method that is close to the Gauss-Seidel method and SOR, with some additional improvements and speed-ups.

The fluid simulations in Phun are based on a method called Smoothed Particle Hydrodynamics (SPH), but with fundamental differences and improvements over the standard SPH method. Algoryx has a pending patent for this simulation method.