Bengt Mårtensson > Private Site
 
Font size:      

Gnans

Digging in the Closet

So, I decided to make this 13 year old (first version) program available again. (With some Googling effort, it was probably possible to find the, up until now, most recent version, 1.6.1, somewhere on the web.) In particular, to make the necessary modifications to make it compile in a modern GNU/Linux environment. (It was more work than I expected :-\ ). This version only "supports" GNU/Linux, but it should not be awfully hard to get to work on other similar system.

Some aspects of the program (in particular the GUI...) look awfully dated now. Still, there is a sound core, and, to my knowledge, there is no, and has never been, any other free software offering this functionality (Scilab?).

Limitations and Bugs in the Modern-Day Version

Let's make one thing clear: The main reason for digging up Gnans again is to make the source available for the Community to use, develop, and learn from. It is not to provide those who cannot afford Simulink with a free alternative, or to provide Octave with "its Simulink".

Unfortunately, in the modern-day port I did not succeed to get the classes in gnanslib to work. This means the classes delay, histo, and delay. Possibly worse, the "close-window"-functionality (i.e. the closing by clicking the closing icon on the window, nowaday (when even Gnome and KDE developers try to re-engineer Windows) denoted by "x". That is, clicking the close-window icon does not work as expected, it kills the program (without even cleaning up) instead of closing the present window. Therefore, don't do it!. (This is not a "bug" but a "limitation". The functionality was not common when the program was developed, and I have never implemented it.)

What is this thing anyhow?

Gnans is a program (and language) for the numerical study of deterministic and stochastic dynamical systems. The dynamical systems may evolve in continuous or discrete time.

Gnans loads a system, a definition of a dynamical system in a special, equation oriented language. The description consists of declarations of states etc, and equations describing the dynamics of the system. As an advanced feature, arbitrary C++-code may also be contained in the system description. Gnans sorts the equations, translates them into C++, which is subsequently compiled and linked into the running program. It is then able to solve the system equations numerically with the speed of a compiled (as opposite to interpreted) program. Several numerical integrators, also for stochastic differential equations, are provided. Gnans has an intuitive user interface, making it possible control the program and to change all relevant parameters using an intuitive point-and-click interface. In this operation, it can be considered ``an initial value problem (IVP) engine''. Using a simple script language, this IVP-engine can be programmed. As a by-product, this offers the possibility of a command line interface. (Actually, as another by-product, Gnans contains a rather powerful pocket calculator!) Simple interactive two-dimensional plot routines are provided.

Gnans is copyrighted, but freely distributable under the Gnu General Public License.

The GCC C++ compiler is required, even if you just get the binaries.

The current version is version 1.6.2. Click here for a list of changes from the previous version.

Download either the source or the a binary Linux distribution. Both contain full documentation, except for some large PostScript figures, which are only "needed" for the printed manual. These figures are available in a separate file. (These are the same as included in the 1.2 distribution, so there is no need to get them again if you already have them.) Pick up the formatted version only in you cannot print the documentation otherwise. In that case, you don't need the figures.

Downloads

File Version Size Description
gnans-1.6.2.tar.gz 1.6.2 1.4 MB Source for the current version.
gnans-1.6.2-bin-i686-suse-linux.tar.gz 1.6.2 0.5 MB Binaries of the current version.
gnans-doc-pictures.tar.gz 0.97 1.0 MB Postscript figures for the manual.
gnans.pdf 0.97 4.1 MB Manual in PDF format.
gnansdoc-0.97.ps.gz 0.97 1.2 MB Manual in PostScript format.