Bei Computersimulationen von Naturvorgängen sind Vereinfachungen unabdingbar; es kommt dann darauf an, inwieweit sie die wesentlichen Eigenschaften des betrachteten Phänomens beschreiben. Eine Vereinfachung bei der Modellierung von Stalagmiten ist die vorausgesetzte Rotationssymmetrie. Wenn man nur einzelne Sintergebilde betrachtet und Überlagerungen außer acht läßt, dann wirkt sich diese Maßnahme nur in der Initialphase des Wachstums aus, die darauf ansetzende stationäre Form erweist sich, wie erwähnt, als eine eindeutige Funktion der berücksichtigten Parametern, unabhängig von der Form der Untergrunds und der untersten Schichten. Man kann den Modellstalagmiten also auf einer ebenen Basisfläche aufwachsen lassen und stellt trotzdem jene Formen richtig dar, die in Naturhöhlen ins Auge fallen. Das Programm erlaubt allerdings auch die Annahme eines unebenen Bodens, soweit die Rotationssymmetrie beibehalten wird. Dabei ist allerdings darauf zu achten, daß die Höhenkoordinaten der Stützpunkte stetig abfallen; andernfalls würde jener Fall eintreten, bei dem sich die Lösung in Vertiefungen sammelt, so daß die Grundvoraussetzung der Kalkausscheidung bei Bodenformen - jene aus dünnen Filmen - nicht mehr gegeben wäre. Auf diese Weise kann man sich auch durch Simulationsversuche davon überzeugen, daß die stationaren Formen von der Auflageform unabhängig sind. Im übrigen wäre es möglich, das Programm auf den assymmetrischen Fall zu erweitern, allerdings mit einer gehörigen Steigerung des Rechenaufwands. Mit solchen Programmen ließen sich dann auch Ensembles von Stalagmiten mit Überlagerungen, wechselnden Quellpunkten usw. darstellen.
Eine andere Vereinfachung betrifft die Genauigkeit der Darstellung, die im betrachteten Fall von der Zahl der Stützpunkte und der Dicke der übereinander angeordneten Schichten abhängt. Prinzipiell kann man mit beliebig feinen orthogonalen Netzen rechnen und sich dabei dem wirklichen Zustand beliebig nähern - allerdings ist dem durch steigende Rechenzeit und Speicherbedarf bald eine Grenze gesetzt.
dic ....... Dickenzuwachs der Schicht pro Zeiteinheit
pz ........ Zahl der Stützpunkte
rep ....... Zahl der Schichten
xfolge ... x-Koordinaten der Stützpunkte
yfolge ... y-Koordinaten der Stützpunkte
Im iterativen Abschnitt (do-Schleife) werden von den Stützpunkten aus senkrechte Gerade zur nächsten Generation von Stützpunkten gezogen. Dazu wird der Dickenzuwachs pro Zeiteinheit dicke[ ] berechnet, wobei j die Nummer des aktuellen Stützpunkts angibt. In der Abfallfunktion dic * Exp[-(bogenlänge[ j ] / r)^2] ist r dem Radius der stationären Abschnitte der Bodenzapfen gleich. Der mit if eingeleitete Teil des Programms erlaubt die Anpassung an verschiedene Bildungsbedingungen, u.zw. mit konstanter, stetig veränderlicher oder abgestufter Wasserzufuhrgeschwindigkeit. Im abschließenden letzten Abschnitt werden die Stützpunkte für den nächsten Lauf der Schleife in passende Form gebracht. Da sich die achsennahen Trajektorien im Laufe der Iteration mehr und mehr nach außen neigen, vergrößern sich ihre Abstände so sehr, daß der Linienzug, mit dem die Schichtoberfläche beschrieben wird, zu stark vergröbert wird. In ähnlicher Weise wie bei Dreybrodt werden daher neue Trajektorien zwischengeschoben; um die Zahl der Stützpunkte nicht zu erhöhen, wird dann der äußerste der Reihe entfernt.
Als Ergebnis erhält man Querschnitte durch Bodenzapfen, in denen der Schichtaufbau sowie die Kristallisationsrichtung zu erkennen sind. Naturlich läßt sich jede Schichtfläche einzeln berechnen und ausgeben, speziell jener der äußersten Schicht, die die Oberfläche des Stalagmiten wiedergibt.
Die beschriebene Vorgehensweise, deren Details im Programm ersichtlich sind, läßt sich sinngemäß auch auf andere mathematische Programmsysteme übertragen, von denen die meisten auch entsprechende Möglichkeiten grafischer Visualisierung bieten.
Needs["Geometry`Rotations`"]
Needs["Utilities`DXF`"]
Needs["Graphics`SurfaceOfRevolution`"]
dic=1.5;
pz = 24;
rep =40;
xfolge = {0.,.8,1.,1.25,1.5,1.75,2.,2.5,3.,3.5,4.,4.5, 5.,5.5,6.,7.,8.,9.,
10.,11.,12.,13.,14.,15.};
yfolge =
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
linienzug0= Line[ Table[{xfolge[[j]], yfolge[[j]]},{j,1,pz}]];
k =0;
Do[
ska[j_] := Sqrt[( (xfolge[[j+1]] - xfolge[[j]])^2 +
(yfolge[[j+1]] - yfolge[[j]])^2 )];
bogenlänge[j_] := Sum[ska[n],{n,1,j}];
(*If[k<8,Goto[weiter1]];*)
dicke[j_] :=N[dic * Exp[-(bogenlänge[j]/4.5)^2],3];
(*Goto[weiter2];*)
(*Label[weiter1];*)
(*dicke[j_] := N[dic * Exp[-(bogenlänge[j]/9)^2],3];*)
(*dicke[j_] := N[dic * Exp[-(bogenlänge[j]/(9- k/2))^2],3];*)
(* dicke[j_] := N[dic * Exp[-(bogenlänge[j]/(3+ k/3))^2],3];*)
(*Label[weiter2];*)
p[j_] :={xfolge[[j]], yfolge[[j]]};
d[j_] :=N[ Rotate2D[
p[j+1]-dicke[j]*(p[j+1]-p[j])/ska[j] ,
Pi/2,
p[j+1] ], 3]; <
zwei = Table[d[n],{n,1,pz -1}];
k += 1;
vers = Prepend[zwei,{0,k*dic}];
kris[k] =Table [Line[{p[j+1],d[j]}],{j,1,pz -1}];
linienzug[k] = Line[vers];
If [ska[1] < 1.,Goto [sprung1]];
erweitert1 = Insert[vers,.5*({0.,k*dic}+d[1]),2];
reduziert1 = Delete[erweitert1,pz+1 ];
vers = reduziert1;
Label[sprung1];
xfolge=Table[vers[[m]][[1]],{m,1,pz}];
yfolge=Table[vers[[m]][[2]],{m,1,pz}],
{rep}];
Show[Graphics[{linienzug0,
Table[linienzug[k],{k,1,rep}],
Table[ kris[k],{k,1,rep}]}],
Axes -> True,
AspectRatio -> Automatic,
AxesOrigin -> {0,0}];
ListSurfaceOfRevolution[vers,
PlotRange -> All,
BoxRatios -> Automatic,
ViewPoint->{1.208, 3.050, 0.829}];
D. Buhmann und W. Dreybrodt (1985): The Kinetics of Calcite Dissolution and Prepicipation in Geologically Relevant Situations of Karst Areas, Chem. Geol. 48.
W. Dreybrodt (1980): Deposition of Calcite from Thin Films of Natural Calcareous Solutions and the Growth of Speleothems, Chem. Geol. 29, 89-105.
A. Dreybrodt und G. Lamprecht(ung. 1980): Computer-Simulationen des Wachstums von Stalagmiten, Vorausdruck.
W. Dreybrodt und H. W. Franke (1987): Wachstumsgeschwindigkeiten und Durchmesser von Kerzenstalagmiten, Die Höhle, 38.
H. W. Franke: (1956): Beiträge zur Morphologie des Höhlensinters I, Die Höhle 7, 35f.
H. W. Franke (1961): Der schichtenweise Aufbau der Bodenzapfen. Die Höhle 12, 8-12
H. W. Franke (1961): Der schichtweise Aufbau des Bodenzapfens, Akt.d. 3. Internat. Kongr. F. Speläologie 1961 in Wien, Obertraun, Salzburg, II, 63.
H. W. Franke(1975): Correspondence between Sintering and Corrosion. Ann. Spélé. 30, 4, 665-675
C. A. Pickover (1998): Cavern Genesis as a Self-Organizing System, Leonardo 31.