Die das Problem charakterisierenden Daten und Parameter werden aus einem stark kommentierten Datenfile gelesen. Dieser File soll komplett in die Ausgabe kopiert werden, um so eine vollständige Beschreibung des Problems zu haben. Alle Daten und Parameter werden als REAL-Größen eingelesen und bei Bedarf in INTEGER umgewandelt. Da hierbei die Position des Dezimalpunktes entscheidend ist, und nicht die exakte Positionierung im Datenfeld, entfällt eine wichtige Quelle schwer auffindbarer Fehler.
Beispieldatei BEREIN.DAT
Dieser File besteht aus zwei Teilen. Die erste Hälfte sieht formal genauso aus wie der Eingabefile, um die Eingabe von Daten so einfach und übersichtlich wie möglich zu machen. In der zweiten Hälfte werden die errechneten Werte abgelegt. Damit wird es möglich, wenn eine neue Rechnung mit unveränderter Materialzusammensetzung gefordert ist, die Berechnung zu überspringen und diese Werte sofort einzulesen. Da die Berechnung der Materialdaten recht umfänglich ist, und überdies in DOUBLE PRECISION durchgeführt wird, spart dies Verfahren ca. 10 sec Rechenzeit auf der Cyber und fast eine Viertelstunde auf dem Atari.
Beispieldatei BERMAT.DAT
Beim hier gezeigten Musterfile fällt auf, daß für das Quellmaterial anstelle von Krypton Kupfer angegeben ist. Der Grund ist, daß der Anteil dieses Teilvolumens an der gesamten Streuung und Absorption so gering ist, daß es nicht notwendig schien, die Liste der zu betrachtenden Elemente zu erweitern. Die Eigenschaften von Elementen mit nahe beieinanderliegenden Ordnungszahlen sind für Strahlenwechselwirkungen so ähnlich, daß der Fehler vernachlässigbar bleibt. Ein ähnliches Vorgehen empfiehlt sich auch für Betonsorten und Metallegierungen, deren Komponenten nicht vollständig in der Liste enthalten sind.
Das Programm wurde auf einem Atari 1040 ST entwickelt und auf der Cyber 175 getestet. An einigen wenigen Stellen muß es für beide Maschinen unterschiedlich sein. Dies betrifft einmal die Definition der Datenfiles und zweitens die maximale Zeilenlänge des verwendeten Druckers. Beim PC ist es nicht möglich alle Energiegruppen in eine Zeile zu bringen. Es werden deshalb nur die drei obersten angezeigt. Die jeweils nicht benötigten Programmzeilen werden als Kommentarkarten gekennzeichnet. Es bedeutet also CAT nur für Atari und CCY nur für Cyber.
Programmquelltext BERGAM.FOR
Das Programm stellt im Wesentlichen den äußeren Rahmen dar. Es liest die Eingabedaten und gibt die Ergebnisse aus. Ferner unterscheidet es, ob ein Einzellauf oder eine Schleife gefordert ist. Im ersten Falle wird die vollständige räumliche Flußverteilung ausgegeben, im zweiten nur der Fluß am Außenrand der äußersten Abschirmung sowie die Dicke der Abschirmung, die Dosisleistung am Außenrand sowohl als Summe als auch für die einzelnen Energiegruppen und die Entfernung vom Zentrum der Anordnung.
Die Ermittlung der Dosisleistung erfolgt so, daß direkt an der Außenwand der letzten Abschirmung eine 20 cm dicke Schicht aus Weichteilgewebe gem. Strahlenschutzverordnung angenommen wird. Damit ermöglicht sie ohne jede Änderung auch die Ermittlung der thermischen Belastung einer Abschirmung. Es empfielt sich dafür lediglich, durch Streichen des Faktors 3600 aus der Angabe in [Sv/h] eine solche in [W/kg] zu machen
Dieses Unterprogramm bringt die Materialdaten in die benötigte Form. Für 19 Elemente sind die Ordnungszahl und das Atomgewicht gegeben. Es können bis zu neun verschiedene Materialien durch die Partialdichten dieser 19 Elemente definiert werden.
Materialunabhängig werden zunächst für die gewählten Energiegruppen die Streuübergangsquerschnitte pro Elektron berechnet. Danach für alle Materialien die Gruppenabsorptionsquerschnitte und die Gruppendiffusionskoeffizienten sowie die Dichte und die Elektronendichte. Diese errechneten Werte werden an den File angehängt und bei einem weiteren Lauf mit unveränderten Daten kann die Berechnung übersprungen und die Daten direkt eingelesen werden. Dies führt zu einer erheblichen Rechenzeitersparnis. Es ist jedoch zu beachten, daß eine Neuberechnung nicht nur bei veränderter Materialzusammensetzung nötig wird, sondern auch, wenn die Energiegruppen neu festgelegt werden. Bleibt deren Zahl unverändert, wird der Fehler nicht einmal erkennbar sein.
Hier findet die eigentliche Flußberechnung statt. Als erstes wird die Quellmatrix erstellt. Da Herabstreuung erst später auftritt, enthält sie zunächst nur die eigentliche Quelle und wird in allen äußeren Zonen zu Null gesetzt. Aus Gründen, die später deutlich werden, teilen wir die Quellstärke durch die Elektronendichte des Quellmediums. Auch die Randbedingung Volumen- oder Flächenquelle wird hier festgelegt.
Es folgt die Schleife, in der die Energiegruppen von oben nach unten abgearbeitet werden. Zonenweise wird nach Gln 1.55 bis 1.58 die Matrix und der Quellvektor erstellt. Durch das zonenweise Vorgehen ist es ohne Mehraufwand möglich, beim Quellvektor jeweils die Elektronendichte des jeweiligen Materials anzumultiplizieren. Es ist hier vorgesehen, mit einem Unterprogrammaufruf die fertige Matrix ausdrucken zu lassen. Diese Option war in erster Linie für die Fehlersuche bei der Programmentwicklung interessant. Das Gleichungssystem wird durch Aufruf des Gauß-Algorithmus gelöst und in einem weiteren Aufruf nachiteriert. Schließlich wird der resultierende Flußvektor in die Flußmatrix eingefügt und die Herabstreuung in die niederen Energiegruppen zur Quellmatrix addiert. Dadurch, daß hier nicht die materialabhängigen Streuübergangsquerschnitte sondern die materialunabhängig pro Elektron berechneten Σi-j verwendet werden, erübrigt sich die zonenweise Berechnung. Der fehlende Faktor wird, wie oben beschrieben, später anmultipliziert.
Dieses Unterprogramm enthält die Lösung des linearen Gleichungssystems nach dem bekannten Gauß-Algorithmus. Zwei Besonderheiten unterscheiden es von der üblichen Darstellung. Erstens behandelt es nur eine sparse Matrix mit Haupt- und zwei Nebendiagonalen und zweitens wird diese Matrix platzsparend nicht als 500x500 sondern lediglich als 500x3 Matrix gespeichert. Dadurch weicht natürlich im Programm die Behandlung der Indizes erheblich vom Üblichen ab.
Beim Gauß-Algorithmus können durch die Aufmultiplikation von bis zu 500 Faktoren spürbare numerische Fehler entstehen. Deshalb wird zur Verbesserung der Genauigkeit typisch zehnmal nachiteriert. Als Hinweis auf die Größe des Restfehlers wird der quadratische Mittelwert der letzten relativen Korrektur ausgegeben. Diese Ausgabe erfolgte eigentlich nur zur Fehlersuche bei der Programmentwicklung, wurde in der endgültigen Version aber beibehalten. Die Ausgabe erfolgt über eine INTEGER Variable nach der Formel:
Ein Vergleich der Ergebnisse auf der Cyber und dem Atari zeigt, daß anscheinend der tatsächliche Restfehler recht gut bestimmt wird. Während die Cyber auf Werte von 10-10 kommt, erreicht der Atari lediglich etwa 10-3. Der letzte Wert stimmt fast exakt mit der Abweichung der beiden Ergebnisse voneinander überein.
Dies ist das Unterprogramm zur Matrixkontrolle. Zur besseren Übersicht wird außer den eigentlichen Matrixelementen die Energiegruppe, der Zonenindex, der Materialindex und der Streifenindex ausgegeben.
Der Eingabefile BEREIN.DAT wird an den Anfang des Ausgabefile BERAUS.DAT kopiert. Mit Rücksicht auf die Druckerbreite am Atari werden nur 65 der 80 möglichen Spalten berücksichtigt. Bei der Erstellung des Eingabefiles sollte darauf Rücksicht genommen werden.
Weiter Inhaltsverzeichnis Übersicht Wissenschaft Home & Impressum