Die beiden Modellansätze (ein- und zweidimensional) simulieren einen halbkreis- bzw. trapezförmigen Schnitt durch die Bodenmiete. Auf die Modellierung in drei Dimensionen wurde verzichtet, weil der damit verbundene Rechenaufwand pro Simulation zu hoch gewesen wäre.
Die Modelle wurden in der Programmiersprache SIMULA geschrieben. Diese Sprache wurde in den frühen Sechzigern von Ole-Johan Dahl und Kristen Nygaard in Norwegen entwickelt. Zu den Vorteilen von SIMULA zählen die klare Syntax der Befehle und der Verzicht auf Erweiterungsbibliotheken, durch die Sprachen wie C schnell unübersichtlich werden können. Seit 1967 beinhaltet SIMULA - als erste Programmiersprache überhaupt - objekt-orientierte Features. Dadurch wird es möglich, Objekte zu definieren, die unterschiedliche Zustandsvariablen in einer Einheit sammeln. In SIMULA werden Klassen deklariert, die zur Instantiierung von Objekten während des Simulationslaufes dienen. In dieser Arbeit sind die Gitterzellen Objekte, in denen unter anderem die Sauerstoff- und Dieselölgehalte deklariert werden. Bei einer rein prozeduralen Programmierung wäre es nicht möglich, die Zelle auch im Modell als ein einheitliches Gebilde zu konzeptionalisieren. Objekte werden nur einmal definiert (Process Class PORE (X,Y)) und können dann beliebig oft durch den Befehl NEW PORE neu erzeugt werden. Alle Objekte der Klasse PORE sind dann durch die selben Zustandsvariablen charakterisiert; nur die zugewiesenen Werte unterscheiden sich.
In der Simulationsumgebung von SIMULA (eingeleitet durch
SIMULATION BEGIN) können Prozesse auf einer linearen Zeitachse
abgearbeitet werden. Prozesse, die in der Wirklichkeit parallel
zu einem bestimmten Zeitpunkt geschehen, können in einer Simulationsumgebung
selbstverständlich nur quasi-parallel abgehandelt werden. Dies bedeutet, dass
erst alle Berechnungen des Zeitschritts durchgeführt werden, bevor
die Kalkulationen von
einsetzen. In SIMULA wird dies durch den
Befehl HOLD(
) erreicht. Ein Prozess wird dann so lange ausgesetzt,bis
alle anderen Prozesse abgearbeitet sind.
Die Zustandsänderungen der Variablen werden durch Differentialgleichungen beschrieben. Die Modelle sind daher im weiteren Sinne Kompartimentmodelle. Die einzelnen Poren sind in einem ein- oder zweidimensionalen Gitter angeordnet, zwischen ihnen finden Massenflüsse statt (Sauerstoffdiffusion). Innerhalb der Kompartimente verändern Reaktionsvorgänge die Zustandsvariablen (Dieselölabbau, Sauerstoffverbrauch).
In der zweidimensionalen Modellierung sind die Poren als Hexagone definiert. Sechsseitige Polygone haben gegenüber Vierecken den großen Vorteil, dass sie nicht nur 4, sondern 6 Vorzugsrichtungen haben. Diagonale Austauschprozesse sind so gleichberechtigt mit horizontalen und vertikalen Transportflüssen.
Der Source-Code wurde unter LINUX im GNU EMACS-Editor geschrieben und mit cim kompiliert, die graphische Auswertung der Ergebnisse erfolgte mit GNUPLOT.