# Computational Limits and Efficiency

There are limits imposed by the amount of memory that a computer can address and these can limit the maximum size of an Anaqsim model. The following graph shows data from numerical experiments with 64-bit Anaqsim on a number of different computers. These data are specific to these machines and each computer will behave differently depending on what other software is running and how the computer is configured, but this at least gives rough guidance. The vertical axis shows the RAM used by the Anaqsim task - you will need more than this amount of memory to handle the operating system and possibly other tasks. Thanks to staff at McLane Environmental for providing several of the data points in this graph. When the number of equations approaches the upper limit posed by memory on a given computer, the solve times increase significantly. If, while running a model, all available memory (RAM) is used by Anaqsim and other tasks running, the windows operating system and .net will swap pages of memory to/from disk, which is a much slower than using RAM. Symptoms of this condition are a dramatic slowing of all tasks and lots of hard disk activity; this is generally a condition to avoid. It is best to increase your computer's memory or reduce the complexity of the model so that you can make runs entirely within RAM.

Another potential limit to the application of Anaqsim is where the system of equations gets so large that it takes too long to solve in a reasonable time. That limit, on present standard personal computers, is probably in the range of several tens of thousands of equations. Anaqsim can be the right tool for problems of moderate complexity, but not extreme complexity. Computing power evolves rapidly, and these limits will migrate upward with time. For situations with extreme complexity, a numerical method like finite differences or finite elements is probably a better choice.

Using multi-level areas in a model adds rapidly to the number of equations in the system. To keep your problem within a manageable number of equations, use multiple levels sparingly, just in your area of interest and transition to a single level in the far-field.

Some additional suggestions for efficient modeling and limiting computation time are given in the Solve section.