1 - Editieren der Struktur, d.h. der Folge von optischen Elementen
==============================================================
INPU - Neue optische Elemente eingeben
COPY - Kopieren von Teilen der Elementliste an eine andere Stelle
OVER - Kopieren von optischen Elementen ueber andere
MOVE - Umsetzen von optischen Elementen an andere Stellen
DELE - Loeschen einer Reihe von optischen Elementen
LINK - Anfuegen von Teilen anderer Datensaetze der Versorgungsdatei
LAZY - Ausschalten einer Reihe von opt. Elementen, nicht loeschen
BUSY - Einschalten einer Reihe von ausgeschalteten opt. Elementen
KILL - Loeschen der ausgeschalt. Elemente und der jenseits von TEIL
ZYKL - Elemente zyklisch vertauschen, Systemanfang liegt woanders
TAUS - Reihenfolge einer Anzahl von Elementen vertauschen (spiegeln)
QURF - Einfuegen von Linsen zur 3. Ordnung von Quadrupol-Randfeldern
DRAHT - Reduzieren des aktuellen Systems auf ein Drahtmodell ohne Optik
LOCUS - Absolutes Positionieren des aktuellen Systems
POSI - Geometrische Verschiebung von Elementen bei konst. Gesamtlaenge
2 - Optimierung, Fitten von Sollwerten, variable optische Elemente
==============================================================
Sollwerte:
FSTD - Erzeugung von Standard-Fitbedingungen
SOLI - Die Sollwerte werden gleich den Istwerten gesetzt
FAKZ - Erzeugung von Fitbedingungen zur Anpassung eine Akzeptanz
KSOL - Schrittweise Korrektur der Parameter einer Fitbedingung
ISOL - Inkremetieren eines Sollwertes
FDWN - Verschieben aller Fitbedingungen um eine Position nach unten
ASOL - Ausgabe der Fitbedingungen, Sollwert und Istwert
Variable Parameter:
VSTD - Definition von variablen opt. Parametern fuer Fitrechnungen
IVAR - Inkrementieren eines variablen Parameters
AVAR - Ausgabe der variablen Parameter des optischen Systems
Fitrechnung:
RECH - Fitrechnung zum Erreichen der Sollwerte am Ausgang
QFIT - Fit des Strahlquerschnitts irgendwo zwischendurch
Nachlese:
ITER - Ausgabe der Fehlerentwicklung bei der letzten Fitrechnung
MATF - Ausgabe der Funktionalmatrix
RSET - Aenderungen durch die letzte Fitrechnung werden aufgehoben
3 - Dokumentation und Datenhaltung
==============================
Dokumentation:
FINI - Anfertigung eines ausfuehrlichen Druckerprotokolls mit Plot
PLAK - Akzeptanz des folgenden Systems wird in jedem Fall geplottet
/TRA - Umkodierung der Daten fuer eine TRANSPORT-Rechnung 2.Ordn.
TEXT - Eintrag eines beliebigen Textes in das Sitzungsprotokoll
Datenhaltung:
EXPORT Ausgabe des aktuellen optischen Systems auf ein ASCII-File
IMPORT Einlesen eines optischen Systems von einem ASCII-File ...
SAVOPT Ausgabe der aktuellen Einstellungen in Form eines Makro-Files
ORKUS - Umschalten auf eine andere, ggf. neue, Versorgungsdatei
OPEN - Oeffnen eines Files (Protokoll, Eingaben, Ausgaben)
CLOSE Schliessen eines Files (Protokoll, Eingaben, Ausgaben)
SAVE - Abspeichern des aktuellen Datensatzes in der Versorgungsdatei
NJOB - Umbenennen (Duplizieren) des aktuellen Datensatzes
DIR - Ausgabe einer Liste aller gespeicherten Datensaetze
SCRA - (=scratch) Loeschen eines oder mehrerer Datensaetze
SKIP - Verlassen des aktuellen Datensatzes, weder SAVE noch STOP
STOP - Ende der Fahnenstange, impliziert aber kein SAVE
Prozesssteuerung:
INQU - Sendet Einstellwerte von Magneten etc. an anderen Prozess
SPOS - Strahlpositionen ins Programm eingeben
KPOS - Korrigierte Werte fuer Steerer bzw. Dipole berechnen (==>SPOS)
XEIN - Magnetwerte online einlesen
XAUS - Magnetwerte online setzen
4 - Zwischenspeicherung und Hilfsdateien
====================================
Zwischenspeichern:
SAVS - Zwischenspeichern von Ellipsoid und Teilchenkoord. am Ausgang
LESS - Eingangsellipsoid + Teilchenkoord. aus dem Zwischensp. holen
SAVM - Abspeichern der aktuellen Quadrupoleinstellungen
LESM - Lesen von individuell gespeicherten Quadrupoleinstellungen
Hilfsdateien:
PUTM - Eintragen der Abbildungsmatrix in Zwischenspeicher oder Datei
GETM - Lesen eines Blockes von zehn Matrizen aus der Matrizendatei
PUTS - Eintragen des Strahls am Ausgang in Zwischenspeicher od.Datei
GETS - Lesen von Strahlparametern aus Zwischenspeicher oder Datei
PUTA - Eintragen der Akzeptanz des folgenden Systems i.Zwsp.od.Datei
GETA - Lesen von folgenden Akzeptanzen aus Zwischenspeicher od.Datei
5 - Graphische Ausgaben und interaktive Graphik
===========================================
CURS - Aufruf des Graphik-Cursors fuer interaktive Graphik
PENV - Plotten der Enveloppe auf den Bildschirm, falls der das kann
PELL - Plotten der (x,x')- und (y,y')-Ellipsen auf dem Bildschirm
BIN - Anzahl und Hoehe der Bins bei Strahlprofilplots
PSUR - Plotten einer Uebersichtszeichnung des aktuellen Systems
LABEL - Nachtraegliche Ausgabe von Labels an ausgewaehlte Elemente
LABMOD - Festlegen der speziellen Modalitaeten fuer LABEL
PAKZ - Plotten der echten Akzeptanz des Systems auf dem Bildschirm
PLAYER - Animierte Darstellung zeitabhaengiger Phasenraumplots
AXEN - Definition der logischen Achsenlaengen f. PELL,FIXI,PENV,PAKZ
LOES - Loeschen der Graphik auf dem Bildschirm
DELP - Loeschen des zuletzt erzeugten Bildes oder Teilbildes
PAGE - Loeschen des Bildschirms und Restaurieren der Graphik
HCOP - Ausgabe des Graphik-Schirmes auf ein anderes Geraet als Hardcopy
6 - Schalter zur Ablaufsteuerung
============================
PROT - Ein- und Ausschalten des Eingabeprotokolls auf den Bildschirm
DIM4 - Umschaltung auf Rechnung mit vierdimensionalen Matrizen
DIM6 - Umschaltung auf Rechnung mit sechsdimensionalen Matrizen
ELLI - Umschaltung auf Rechnung mit Ellipsen statt Einzelteilchen
EINZ - Umschaltung auf Rechnung mit Einzelteilchen statt Ellipsen
PUMA - Umschaltung auf Rechnung mit Punktwolken statt ...
TEIL - Das optische System wird nicht bis zum Ende gerechnet
GANZ - Das optische System wird bis zum Ende gerechnet
PREL - Bei Wechsel der Teilchenart usw. bleiben Magnetfelder konst.
PNUL - Bei Wechsel der Teilchenart usw. bleiben opt.Eigensch. konst.
FIT1 - Umschaltung in den ersten Satz Fitbedingungen und Variable
FIT2 - Umschaltung in den zweiten Satz Fitbedingungen und Variable
GROB - Schranke fuer Konvergenz bei Fitrechnungen ist gross
FEIN - Schranke fuer Konvergenz bei Fitrechnungen ist klein
PMOD - Auswahl der Ebenen, in denen Enveloppen dargestellt werden
7 - Ausgaben zur Information ueber den Systemzustand
================================================
AKOP - Ausgabe von Emittanz, Geschwindigkeit, Teilchenart und -strom
AELE - Ausgabe der Liste der optischen Elemente
AENV - Ausgabe der Enveloppe bzw.Teilchenbahn laengs der Strahlachse
AELL - Ausgabe des Ellipsoids am Ausgang des optischen Systems
AUSG - Kurze Ausgabe der wichtigsten Werte des Ausgangsellipsoids
MATR - Ausgabe der Abbildungsmatrix
MODE - Ausgabe der Stellungen aller Schalter im Programm
ATYP - Ausgabe des Neigungstyps bei Fit von Strahlbreiten
BTYP - Ausgabe des Strahlbreitentyps bei Fit von Ellipsenneigungen
AUFL - Ausgabe der Impulsaufloesung im Phasenraum
ZEIT - Ausgabe der bisher verbrauchten Rechenzeit
TEST - (keine feste Bedeutung; dient zum Testen von neuen Sachen.)
8 - Korrigieren von Parametern (des Strahls oder der Struktur)
==========================================================
Strahlparameter:
KEMI - Korrektur der Eingangsemittanzen
BLOW - Emittanzen vergroessern, bis Aperturen maximal ausgeleuchtet
KBET - Korrektur der Teilchengeschwindigkeit am Eingang des Systems
KART - Korrektur der von Masse und Ladung des Sollteilchens
KRAU - Eingabe des Strahlstroms in elektrischen Milliampere
KELL - Neudefinition des Ellipsoids am Eingang des optischen Systems
ZRUK - Eingangsellipsoid wird von hinten zuruecktransformiert
KTEI - Neudefinition der Koordinaten des Einzelteilchens am Eingang
TSTD - Eingangskoord. fuer bestimmte Ausgangsbedingungen berechnen
SOLB - Eingabe der Koordinaten der Sollbahn am Eingang des Systems
WOLKE - Definition einer Punktwolke fuer Einzelteilchen-Tracking
TSTART - Startzeitpunkt fuer Teilchen, Ellipsen oder Punktwolken
Strukturparameter:
KELE - Schrittweise Korrektur der Parameter eines optischen Elements
IELE - Inkrementieren eines Parameters eines optischen Elementes
KORE - Definition von optischen Elementen als gekoppelt fuer IELE
KRND - Korrektur der Koeffizienten fuer endliches Dipol-Streufeld
KAKZ - Korrektur der Akzeptanz des nachfolgenden optischen Systems
KZUF - Eingabe des Startwertes fuer den Zufallszahlen-Generator
9 - Spezialitaeten fuer Kreisbeschleuniger (Synchrotrons)
=====================================================
TUNE - Abstimmen einer periodischen Struktur auf bestimmte Q-Werte
SYNC - Berechnung der wichtigsten Parameter periodischer Strukturen
NPER - Definition von Normal- und Superperioden im Synchrotron
KOMP - Komprimieren des optischen Systems zu Matrizen und Multipolen
EXPA - Wiederherstellen des Orginalsystem aus einem komprimierten
AFIX - Berechnung von Fixpunkten und Ausgabe auf den Bildschirm
FIXI - Untersuchung von Isohamiltonians und Fixpunkten+Separatrix
MORD - Definition der maximalen Ordnung von Multipolen
RKOF - Anregungskoeffizienten und Breite von Stopbaendern berechnen
MISAL - Berechnung der Sollbahnstoerung durch Feld- und Justierfehler
BUNCH - Definition eines Bunches im longitudinalen Phasenraum
RESOK - Malt ein Diagramm mit Resonanzlinien fuer ein Synchrotron
QDIA - Malt die Arbeitsline im Q-Diagramm Fuer einen Bereich von dp/p
10 - Anweisungsprozeduren
====================
#PRO - Beginn des Aufbaus einer Anweisungs-Prozedur
#END - Ende des Aufbaus einer Anweisungs-Prozedur
LISP - Ausgabe einer Liste einer oder aller definierten Prozeduren
KPRO - Korrektur der Voreinstellungen von der definierten Prozeduren
SAVP - Speichern der zum aktuellen Datensatz definierten Prozeduren
LESP - Lesen der zum aktuellen Datensatz abgespeicherten Prozeduren
CONT - Schalter zur Erzeugung unendlicher Schleifen mit IELE,ISOL
KELE
Die Liste der optischen Elemente, wie man sie mit ==>AELE zu sehen
bekommt, hat die Form einer Matrix. Gefaellt einem einer dieser Werte
nicht, so kann man ihn aendern durch Angabe der Zeilennummer; das ist
die Zahl ganz links vor dem Doppelpunkt, und Spaltennummer gefolgt von
dem neuen Wert an dieser Stelle. Mit einem Aufruf von KELE kann man
beliebig viele solcher Aenderungen vornehmen (Ende mit "*").
Beispiel: KELE,3,4,100 setzt die Laenge(Sp.4) von Element #3 auf 100 mm
Gibt man die Spaltennummer negativ an, so ist die folgende Zahl nicht
der neue Wert, sondern der Faktor, mit dem der vorhandene Wert
multipliziert wird.
BEISPIEL: KELE,3,-4,2 verdoppelt die Laenge von Element #3.
Ausgeschaltete Elemente (==>LAZY) kann man nicht heimlich veraendern.
Erweiterter Korrekturmode:
-------------------------
Dieser Mode ist fuer einige ausgewaehlte Faelle moeglich und wird durch
Eingabe eines um 10 groesseren Wertes an der zweiten Position aktiviert;
z.B. KELE,n,14,w statt KELE,n,4,w. Im einzelnen:
Quadrupol (Typ 3): KELE,n,14,l setzt die Laenge :=l, korrigiert die
benachbarten Driftstrecke so, dass die Gesamtlaenge unveraaendert bleibt
und korrigiert die Quadrupolkonstante so, dass B'*l unveraaendert bleibt
Falls allerdings rechts oder links keine Driftstrecke ist, wird sicher-
heitshalber gar nichts gemacht.
Dipol (Typ 5 und 6): KELE,n,14,w aendert auch gleich den Kruemmungs-
radius mit dem Ablenkwinkel konstantes Eisen annehmend. Auch benachbarte
Kantenwinkel und Driftstrecken werden korrigiert.
Magnete (Typen 3 und 5,6): bei KELE,n,19,w bedeutet w B*l/Brho statt B*l
Ein neuer Radius bei einer Eitrittskante wird als Winkelkorrektur für
den Dipol interpretiert, wenn der Wert <1 ist.
Positionsmesser (Typ 29 und 30): Bei KELE,n,16,b und KELE;n,17,p wird
nach einem passenden Element m vom Typ 30,29 in der Naehe gesucht und
dort wie bei KELE,m,6,b bzw KELE,m,7,p also Eintragen der gemessenen
Istbreiten und -positionen, verfahren. Oder auch: wenn ich nur den Namen
des horizonlalen Gitters kenne, komme ich so ganz leicht an das
zugehoerige vertkale ran.
Will man einen Wert nur inkrementieren, so empfiehlt sich statt
dessen die Anweisung ==>IELE.
Viele Aenderungen, die den ersten Parameter, Variation des Elementes
bei ==>RECH betreffen, kann man elegant mit ==>VSTD durchfuehren.
Bei Aenderungen, die Elemente als Ganzes betreffen, also
Umgruppieren, Loeschen oder Einfuegen von Elementen, sollte man die
Anweisungen ==>LINK, ==>INPU, ==>COPY, ==>OVER, ==>DELE, ==>MOVE
verwenden.
Reversibles Aus- und Einschalten von Elementen geschieht mit ==>LAZY
bzw. ==>BUSY.
Eingaben dazu: Element-Nr, Parameter-Nr, Wert:
Gefordert ist die Eingabe von drei Zahlen mit folgender Bedeutung:
(1) Zeilennummer zwischen 1 und der Anzahl optischer Elemente
(2) Spaltennummer zwischen 0 und 8; bezogen auf die AELE-Darstellung.
0 bezeichnet das Label (ab Version 5.10). Diese Zahl kann positiv
oder negativ sein (s.u.).
(3) Neuer Wert an dieser Stelle, wenn (2) positiv ist, bzw.
Faktor, wenn (2) negativ ist.
Beenden des Eingabezyklus erfolgt durch Eingabe eines "*".
Sondervereinbarungen:
--------------------
(2)=9 bei Magnetzeug: (3) bedeutet nicht B,B' usw., sondern B*l,B'*l.
KSOL
Die Liste der Fitbedingungen, wie man sie mit ==>ASOL zu sehen
bekommt, hat die Form einer Matrix. Gefaellt einem einer dieser Werte
nicht, so kann man ihn aendern durch Angabe der Zeilennummer; cum grano
salis, weil in der 3.Spalte zwei Zahlen untereinander stehen, und
Spaltennummer gefolgt von dem neuen Wert an dieser Stelle. Eine 0 (Null)
als Spaltennummer bewirkt, dass dieser Sollwert gleich dem
augenblicklichen Istwert gesetzt wird (SOLI in Kleinformat). Mit einem
Aufruf von KSOL kann man beliebig viele solcher Aenderungen vornehmen
(Ende mit "*").
Will man nur einen Sollwert inkrementieren, so empfiehlt sich statt
dessen die Anweisung ==>ISOL. Mit ==>SOLI werden alle Sollwerte gleich
den augenblicklichen Istwerten gesetzt.
Die komplette Definition oder Neudefinition von Fitbedingungen macht
man geschickterweise mit einer der Anweisungen ==>FSTD oder ==>FAKZ.
Es ist zu beachten, dass nur so viele Fitbedingungen ausgegeben
werden, wie variable Elemente vorhanden sind. Alle anderen kann man auch
korrigieren, man sieht aber das Ergebnis nicht direkt.
Ausserdem wird nur in dem jeweils aktiven Satz von Fitbedingungen
korrigiert (vgl. ==>FIT1, ==>FIT2).
Eingaben dazu: Sollwert-Nr, Parameter-Nr, Wert:
Gefordert ist die Eingabe von drei Zahlen mit folgender Bedeutung:
(1) Zeilennummer zwischen 1 und 6
(2) Spaltennummer zwischen 1 und 4; bezogen auf die ASOL-Darstellung
oder 0 (s.u.)
(3) Neuer Wert an dieser Stelle
Beenden des Eingabezyklus erfolgt durch Eingabe eines "*".
Sonderfall: Wenn (2) =0 ist, wird der Sollwert gleich dem Istwert
gesetzt, und (3) ist dann ohne Bedeutung.
KELL
KELL: Korrektur der Eingangsellipse. Sie wird hier definiert durch
sieben Zahlen und zwar:
(1) Das Quadrat des horizontalen Strahlradius in mm**2 (E(1,1))
(2) Die Neigung der horizontalen Emittanzellipse (E(1,2))
(3) Das Quadrat des vertikalen Strahlradius in mm**2 (E(3,3))
(4) Die Neigung der vertikalen Emittanzellipse (E(3,4))
Die Ausdehnungen der Ellipsen in x' und y' werden dann aus den ent-
sprechenden Emittanzen berechnet (==>KEMI).
(5) Das Quadrat der Laenge des Strahls in mm**2 (E(5,5))
(6) Das Quadrat der Impulsunschaerfe des Strahls (E(6,6))
(7) Die Neigung der longitudinalen Emittanzellipse E(5,6)
Die drei letzten Angaben sind nur sinnvoll, wenn mit ==>DIM6 statt
==>DIM4 gerechnet wird oder werden soll.
Will man z.B. die ersten 4 Komponenten nicht veraendern, gibt man
,,,,0,0.01 ein. Naeheres zur Bedeutung der Matrix E findet sich in der
ausfuehrlichen Programmbeschreibung (Schutzpatron: St. Nimmerlein).
Weitere Moeglichkeiten, das Eingangsellipsoid zu veraendern:
Ruecktransformation des Ellipsoids durch das optische System mit ==>ZRUK
Ein frueher mit ==>SAVS in Sicherheit gebrachter Strahl am Ende eines
Systems kann mit ==>LESS wieder als neues Eingangsellipsoid geholt
werden; dabei koennen auch alle moeglichen Kopplungen in E vorhanden
sein. In diesem Falle hat man mit KELL verloren, weil da keine
Emittanzen in x und y mehr definiert sind.
Mit ==>SYNC wird das Eingangsellipsoid durch die Eigenellipsen in x
und y ersetzt, falls Stabilitaet vorhanden ist (ABS(SPUR) .lt. 2).
In jedem Falle kann sich ueber den Zustand des Eingangsellipsoids
durch ==>TEIL,0 und entweder ==>AUSG oder ==>AELL Klarheit verschaffen.
Eingaben dazu: Eingangsellipsoid:
Einzugeben sind folgende sechs Werte:
(1) Das Quadrat des horizontalen Strahlradius in mm**2 (E(1,1))
(2) Die Neigung der horizontalen Emittanzellipse (E(1,2))
(3) Das Quadrat des vertikalen Strahlradius in mm**2 (E(3,3))
(4) Die Neigung der vertikalen Emittanzellipse (E(3,4))
Die Ausdehnungen der Ellipsen in x' und y' werden dann aus den ent-
sprechenden Emittanzen berechnet (==>KEMI).
(5) Das Quadrat der Laenge des Strahls in mm**2 (E(5,5))
(6) Das Quadrat der Impulsunschaerfe des Strahls (E(6,6))
(7) Die Neigung der longitudinalen Emittanzellipse E(5,6)
Die drei letzten Angaben sind nur sinnvoll, wenn mit ==>DIM6 statt
==>DIM4 gerechnet wird oder werden soll.
Alle anderen Komponenten der Strahlmatrix E werden Null gesetzt. Wenn
nichts am Eingangsellipsoid geaendert werden soll, einfach "*" eingeben.
KTEI
Die sechs Komponenten des Koordinatenvektors des Einzelteilchens am
Ein- gang des Systems werden eingegeben. Die Koordinaten sind : x, x',
y, y', z, dp/p. Gerechnet wird damit, wenn man vorher irgendwann ==>EINZ
gesagt hat. Eingabe von 0,0,0,0,0,0.01 z.B. liefert die
Transformation eines Achsenteilchens mit Impulsfehler. Will man z.B. die
ersten 4 Komponenten nicht veraendern, gibt man ,,,,0,0.01 ein.
Weitere Moeglichkeiten, die Eingangskoordinaten zu veraendern:
Ruecktransformation des Vektors durch das optische System mit ==>ZRUK
Ein frueher mit ==>SAVS in Sicherheit gebrachter Strahl am Ende eines
Systems kann mit ==>LESS wieder als neuer Koordinatenvektor geholt
werden.
In jedem Falle kann sich ueber den Zustand des Eingangsvektors durch
==>TEIL,0 und ==>AUSG Klarheit verschaffen.
Eingaben dazu: Eingangskoordinaten:
Einzugeben sind die sechs Komponenten des Koordinatenvektors des
Einzelteilchens am Eingang des Systems. Die Koordinaten sind :
x, x', y, y', z, dp/p. Falls nur mit vierdimensionalen Matrizen
gerechnet wird (==>DIM4), genuegen die ersten vier Werte. Wenn nichts am
Eingangsvektor geaendert werden soll, einfach "*" eingeben.
AKOP
AKOP - Ausgabe einiger Daten, die interessant sein koennten:
-> Die beiden Emittanzen in x und y
-> Die Teilchengeschwindigkeit Beta in Prozent der Lichtgeschwindigkeit
-> Der Impuls p* fuer alles, was mit Magneten zu tun hat
-> Masse und Ladung des Sollteilchen in relativen Einheiten
-> Die spezifische Energie des Sollteilchens in MeV/Nukleon.
-> Falls mit Raumladung gerechnet wird, der Strom (elektrisch).
-> Die Randfeld-Koeffizienten von Dipolmagneten.
-> Die maximale Ordnung, bis zu der Multipole beruecksichtigt werden
-> Die Laengen der Koordinatenachsen bei ==>PENV, ==>PELL, ==>FIXI
Diese Groessen koennen mit ==>KEMI, ==>KBET, ==>KART, ==>KRAU,
==>KRND, ==>MORD, ==>AXEN veraendert werden.
-> Falls definiert, Angaben zur Struktur einer Synchrotron-Normalperiode
-> Falls definiert, Information, ob die Struktur komprimiert ist.
Diese Definitionen erfolgen mit ==>NPER bzw. ==>KOMP und ==>EXPA.
ASOL
ASOL - Ausgabe der gerade definierten Fitbedingungen und der
momentanen Istwerte an diesen Stellen. Es werden so viele Werte
ausgegeben, wie variable optische Elemente vorhanden sind, und zwar von
dem gerade aktuellen Satz Fitbedingungen (==>FIT1, ==>FIT2). Die anderen
schlafen nur und koennen durch Definition weiterer variabler Elemente
(==>KELE, ==>VSTD) geweckt werden. Die Bedeutung der Zahlen ist
folgende:
(1) und (2): Bezeichnung, welche Groesse zu fitten ist. Da gibt es
einige Moeglichkeiten:
-> Ein Element des Ausgangsellipsoids E; dann sind beide Zahlen
zwischen 1 und 6 und bedeuten Zeilen- bzw. Spaltenindex von E.
-> Ein Element der Abbildungsmatrix R; dann hat die erste Zahl
ein negatives Vorzeichen, und beide sind dem Betrage nach
zwischen 1 und 6 und bedeuten Zeilen- bzw. Spaltenindex von R.
-> Die Summe zweier Elemente des Ausgangsellipsoids; dann sind beide
Zahlen zweistellig, und beide Zehner- und Einerstellen definieren
jeweils die Indexpaare von E.
-> Die Differenz zweier Elemente des Ausgangsellipsoids; dann hat die
zweite Zahl ein negatives Vorzeichen.
-> Die Summe bzw. die Differenz zweier Elemente der Abbildungsmatrix;
dann hat zusaetzlich die erste Zahl ein negatives Vorzeichen.
-> Etliche andere Sachen, wenn die erste Zahl 100 oder groesser ist;
da kommt im Laufe der Zeit sicher noch was dazu, siehe unten.
Beispiele dazu:
1, 1 : E(1,1) ist Sollwert
-1, 2 : R(1,2) ist Sollwert
-12, 12 : R(1,1)+R(2,2) ist Sollwert (Spur der Untermatrix in x)
13,-13 : E(1,1)-E(3,3) ist Sollwert (Strahl soll rund sein.)
100, n : n=-12 bis 8 - diverse Synchrotron-Parameter
1=beta-x, 2=alpha-x, 3=beta-y, 4=alpha-y, 5=D, 6=D'
101, n : n-te Sollbahn-Koordinate, 1=x, 2=x' usw.
102, n : normierte C.O.-Amplitude, 1=horizontal, 2=vertikal
103, n : Phasenvorschub in der Normalperiode, 1=horizontal, 2=vert.
104, n : absolute Position des Systemendes (1=x,2=y,3=z,4=Winkel)
(3) Sollwert, der mit ==>RECH unter Variation passender optischer
Elemente erreicht werden soll. Direkt darunter findet sich der Wert,
der bei der augenblicklichen Einstellung des Systems vorliegt.
(4) Ein im Prinzip beliebiger Gewichtsfaktor, um die Benachteiligung von
Natur aus kleiner Zahlen bei der Beurteilung der Konvergenz
gegenueber grossen ausgleichen zu koennen.
Die Definition von Fitbedingungen geschieht mit ==>FSTD, die
Korrektur einzelner Werte mit ==>KSOL. Welche optischen Elemente zur
Erreichung der Sollwerte variabel sein sollen, wird mit ==>VSTD
festgelegt. Die eigentliche Fitrechnung wird mit ==>RECH angeleiert.
AELE
AELE - Ausgabe einer Liste der optischen Elemente in einem
anzugebenden Bereich des Systems. Die allererste Zahl ist die laufende
Nummer des Elements, fehlende Nummern bezeichnen mit ==>LAZY
ausgeschaltete. Dahinter kann ab Version 5.10 ein maximal 8-stelliges
Label stehen. Die Bedeutung der uebrigen 7 oder 8 Zahlen ist folgende:
(1) 0 = Element ist fest, anderenfalls ist es variabel bei ==>RECH
oder mit einem anderen korreliert (>103, ==>KORE)
(2) Typen: 1=duenne Linse 2=Driftstrecke 3=Quadrupol
5=Dipol(horiz.) 7=Kantenwinkel dazu
6=Dipol(vert.) 8=Kantenwinkel dazu
9=explizite Matrix horiz. (R11, R21, R12, R22)
10=explizite Matrix vert. (R33, R43, R34, R44)
11=Koordinatendrehung 12=Matrix (black box)
13=Blockanfang, -ende 14=Aufruf von Element oder Block
15=HF-Beschleunigungsspalt, vorerst nur Buncher (phi=0 grad)
16=...diverse Bedeutungen...
17=horizontaler ... 18=vertikaler Schlitz
19=horizontaler ... 20=vertikaler Justierfehler
21=normaler ... 22=skew Multipol
23=Solenoid
25=el.Ablenkfeld(hor.) 27=Kantenwinkel dazu
26=el.Ablenkfeld(ver.) 28=Kantenwinkel dazu
29=horizontale ... 30=vertikale Positionsmessung
31=Anfang/Ende eines Definitionsblocks
* 32=Matrix erster und zweiter Ordnung aus TRANSPORT
33=Aenderung von Energie, Masse, Ladung (Stripper)
37=Graphikelement
* 38=Definition von Grenzwerten fuer Magnete
39=Funktionsgenerator fuer zeitabhaengige Elemente
Ein *: gibt es noch nicht!
(3) Unterteilungsfaktor fuer Ausgaben, ausser:
Matrix-Nr. (Typ 12)
Zahl der Wiederholungen (Typ 13)
Ordnung (Typ 21,22)
(4) Laenge in mm; Ausnahme: bei Dipolen Ablenkwinkel in Grad
(5) Quadrupolkonstante in mm**-1, bei Dipolen und Kanten Kruemmungsrad.
(6) Horizontale Apertur in mm. / in mm.
(7) Vertikale Apertur in mm.
(8) Wo es sinnvoll ist: Feldgradient bzw. Dipolfeld in T/m bzw. T usw.
Will man einzelne Werte aus dieser Tabelle veraendern, kann man dazu
die Anweisung ==>KELE verwenden. Umgruppieren, Loeschen, Einfuegen und
Duplizieren von ganzen Elementen geschieht mit ==>MOVE, ==>DELE,
==>INPU, ==>COPY, ==>OVER.
Die Ausgabe legt eine Atempause nach ca. 20 Zeilen ein, damit man in
Ruhe alles lesen kann. Dieses Verhalten ist mit ==>PROT umzuschalten.
Naehere Informationen liefert die ausfuehrliche Programmbeschreibung,
welche zwar immer noch die von 1981 ist, aber bald ...
Eingaben dazu: Elementliste von Nr, bis Nr, Typ,Subtyp:
Einzugeben sind die laufende Nummer des ersten und letzten Elementes
der Liste, die ausgegeben werden soll; da kann man kaum was verkehrt
machen. Die dritte Zahl gibt an, welcher Elementtyp ausgegeben werden
soll (eine 0 bedeutet alle). Die vierte Zahl gibt fuer einige Arten von
Elementen noch den Untertyp (Spalte 3) an, dies gilt fuer
Multipole, Graphikteile und Spezialemente (Typen 21,22, 37 und 16).
Ist die dritte Zahl negativ, dann will man auch die ausgeschalteten
Elemente (==>LAZY) sehen. - Jaja, kompliziert; Beispiele:
AELE,1,100,21,3 - ich will alle Sextupole zwischen 1 und 100 sehen.
AELE,1,100,-21,0 - ich will alle Multipole zwischen 1 und 100 sehen,
auch die, die gerade ausgeschaltet sind.
AENV
AENV - Ausgabe der Enveloppe laengs der Strahlachse in einem
beliebigen Abschnitt des Systems. Je nach der Stellung des Schalters
==>EINZ bzw. ==>ELLI wird die Enveloppe oder die Einzelteilchenbahn zu
sehen sein. Die dargestellte Ebene wird durch ==>PMOD vorher festgelegt.
Falls einige Elemente unterteilt sind; 3. Parameter in der Darstellung
optischer Elemente wie bei ==>AELE zu sehen, ist groesser als 1, werden
entsprechend viele Zwischenwerte ausgegeben.
Die (x,y)-Enveloppe enthaelt nicht die Wirkung der mit ==>SOLB
definierbaren Sollbahn, da hier immer nur der positive Ast ausgegeben
wird, in allen anderen Faellen ist die Sollbahn in der Ausgabe
enthalten.
Die Ausgabe legt eine Atempause nach ca. 20 Zeilen ein, damit man in
Ruhe alles lesen kann. Dieses Verhalten ist mit ==>PROT umzuschalten.
In ==>PUMA mode AENV is not available.
Eingaben dazu: Enveloppe von Nr, bis Nr, Mode:
Einzugeben sind die laufende Nummer des ersten und letzten Elementes,
zwischen denen die Enveloppe ausgegeben werden soll; da kann man kaum
etwas verkehrt machen!
ITER
Mit ITER kann man sehen, wie gut oder wie schlecht die Iteration bei
der letzten Fitrechnung (==>RECH) konvergiert hat. Jede Zahl entspricht
der Wurzel aus der Summe der Fehlerquadrate mal Gewichtsfaktor nach
jeder Iteration.
FIT1
Der Bequemlichkeit halber hat man im Programm zwei komplette Saetze
von Fitbedingungen und Variationscodes fuer optische Elemente, erste
Spalte bei ==>AELE, zur Verfuegung, zwischen denen man beliebig hin- und
herschalten kann. Das ist ganz nuetzlich zur Loesung etwas komplexerer
Probleme. Mit FIT1 wird auf den ersten dieser beiden Saetze umgeschaltet
(Umkehrung: ==>FIT2).
Voreinstellung beim Programmstart ist der Zustand beim letzten SAVE.
Information ueber die aktuelle Schalterstellung durch ==>MODE
CURS
Mit CURS wird der Graphik-Cursor aufgerufen, um eine Reihe von
graphischen Funktionen ausfuehren zu koennen. Diese Anweisung ist nur
wirksam, wenn das Programm auf einem Terminal mit graphischer Ein- und
Ausgabe laeuft.
Z.Zt. sind folgende Funktionen verfuegbar; es werden noch mehr:
"Mit_der_linken_Maustaste_irgendwohin_hacken": Wenn das innerhalb eines
Quadrupols passiert, dann wird dieser entsprechend dem Abstand
zwischen Cursor und Strahlachse inkrementiert und nix variiert.
Sonst: pmod=1, also x,y-Darstellung:
- Die Enveloppe soll durch den gehackten Punkt gehen, in der anderen
Ebene soll sie bleiben, wie sie gerade ist. Dazu werden die beiden
letzten Quadrupole vor dieser Stelle variiert.
pmod=2,3, also +x,-x- bzw. +y,-y-Darstellung:
Die Sollbahn soll durch den gehackten Punkt gehen. Dazu wird der
letzte Dipol (Typ 5,6) oder Steerer (Typ 21,22) vor dieser Stelle
variiert, das letzte Element wird genommen.
"Mit_der_rechten_Maustaste_irgendwohin_hacken":
Innerhalb eines Elementes werden dessen Eigenschaften ausgegeben,
ausserhalb bekommt man die Strahleigenschaften an der entsprechen-
den z-Position zu sehen.
Wenn es keine rechte Maustaste gibt, muss man sich mit dem Icon 8
(#) behelfen: also erst dies anklicken und dann ein Element oder
eine leere Stelle anklicken.
"Mit_dem_Cursor_ein_Icon_anklicken": (Reihenfolge wie auf dem Display)
1. - (*) Das Programm kehrt in den Normalmodus zurueck.
2. - Bei der naechsten Cursoreingabe in das Enveloppenfenster wird
dessen Position als Sollwert gemerkt, noch nichts gefittet.
3. - ... irgenwie dumm gelaufen; Undo der letzten Aenderung(en) von
Elementparametern
4. - Redo, das Gegenteil von Undo (frueher war alles besser ...)
Undo und Redo sind beliebig oft wiederholbar
5. - Ausfuehren von RECH so, wie die Bedingungen bei Aufruf von CURS
gerade waren, z.B. Dispersionsfreiheit erreichen.
6. - Grobe Emittanzberechnung; zwei Profile nacheinander anklicken, und
die Lage der Eingangsemittanz bei gleicher Fläche wird so bestimmt
dass die berechneten Breiten dort gleich den gemessenen sind.
Unter der Annahme, dass die Emittanzflaeche bekannt ist (==>KEMI)
gibt es dann fuer die Orientierung i.a. zwei Loesungen.
Regeln: vorderes Gitter x, dann hinteres Gitter x: es wird die
Loesung gefunden, die der augenblicklichen Einstellung am
naechsten kommt; in y entsprechend. hinteres Gitter x, dann
vorderes Gitter x: es wird die andere Loesung gefunden. Werden
beide Eingaben in verschiedenen Ebenen gemacht, dann wird in x
und y in einem Aufwasch gerechnet; Loesungstyp wie oben.
7. - Ausgabe dieser Erklaerungen.
8. - # Die naechste Cursoreingabe liefert Infos ueber das angeklickte
Element. Diese Funktion gibt es nur, wenn keine rechte Maustaste
verfuegbar ist.
9. - Auschnitt veraendern; nach diesem Befehl muss man in der schmalen
Leiste unter den Icons den linken und rechten Rand des
gewuenschten Ausschnitts antippen.
10. - Umschalten zwichen "Ausschnitt" und "ganzes Bild"
11.-13. - Umschalten der Darstellung zwischen x,y, +x,-x und +y,-y. Das
entspricht der Anweisung ==>PMOD mit erstem Parameter 1,2 bzw. 3.
14. - Umschalten zwischen normalen und gelb gefuellten Enveloppen
15. - Jedesmal die Dispersionsbahn einblenden oder nicht.
Nicht vergessen: der Cursor-Mode wird durch Anklicken des Icons
=============== links oben verlassen; sonst ist man verlassen.
In ==>PUMA mode CURS is not available.
TEIL
Mit TEIL wird das optische System nur bis zu einer anzugebenden
Stelle gerechnet; das ist nuetzlich fuer Rechnungen mit laengeren
Strahlfuehrungen. Ausserdem ist das so definierte vorzeitige Systemende
Bezugspunkt fuer die Anweisungen ==>LINK, ==>KILL, ==>LESM, ==>INPU,
==>VSTD. Bei der Plotterausgabe mit ==>FINI wird allerdings das System
immer ganz dargestellt, nur die Enveloppen hoeren frueher auf. Umkehrung
von TEIL ist ==>GANZ.
Information ueber die aktuelle Schalterstellung durch ==>MODE
Eingaben dazu: System geht nur bis Nr:
Einzugeben ist die Nummer des optischen Elementes, mit dem das System
enden soll; rueckgaengig zu machen mit ==>GANZ.
GANZ
Mit GANZ wird das optische System bis zum letzten vorhandenen Element
gerechnet. Will man das System schon frueher enden lassen, muss man die
Anweisung ==>TEIL verwenden.
Information ueber die aktuelle Schalterstellung durch ==>MODE
RECH
Mit RECH wird eine Fitrechnung begonnen, in der durch Variation der
vorgesehenen optischen Elemente gewisse Ausgangsgroessen auf definierte
Sollwerte gebracht werden.
Der Gang der Handlung ist normalerweise so:
1: Definition von Sollwerten mit ==>FSTD
2: Definition von variablen optischen Elementen mit ==>VSTD.
3: Nachsehen, ob man alles richtig gemacht hat, mit ==>ASOL und ==>AVAR.
4: ggf. Koorigieren einzelner Werte mit ==>KSOL und ==>KELE.
Weitere Anweisungen, die in diesem Zusammenhang intessieren
koennten,
sind: ==>IVAR, ==>ISOL, ==>IELE zum Inkrementieren statt
Korrigieren.
Falls diese Prozedur von Erfolg gekroent ist, sollte man sich freuen,
falls nicht, kann man mit ==>ASOL, ==>AVAR, ==>ITER nachsehen, wie der
bestmoegliche Zustand des Systems aussieht und ggf. durch Aendern von
Startwerten oder Randbedingungen versuchen, seinem Ziel naeher zu
kommen. In jedem Falle kann man die Aenderungen an optischen Elementen
durch RECH mit ==>RSET wieder rueckgaengig machen.
Gruende fuer Nichtkonvergenz koennen sein: zu langsame Konvergenz,
dann erfolgt Abbruch nach fruehestens 5 Iterationen, und man kann es
nochmal probieren, das bringt aber selten was; echte Divergenz, dann
wird sofort abgebrochen, und es hat auch keinen Sinn, nochmal RECH zu
sagen.
Die Abhaengigkeiten der Sollwerte von den Variablen sieht man
mit ==>MATF.
Eingaben dazu: reset ja oder nein? (1/0):
Eingabe einer 1 (Eins) wirkt wie die Anweisung ==>RSET, d.h. alle
Korrekturen, die eben gemacht, aber nicht zum Ziel gefuehrt haben,
werden wieder rueckgaengig gemacht (Dann ist Welt wieder in Ordnung!)
TEXT
Man kann mit TEXT eine Zeile Text in das Protokoll der Sitzung
einfuegen, quasi als Notizzettel. Dieses Protokoll muss man sich
allerdings extra ausdrucken, z.B. mit "PRI PROT.LIST U". Weil es meist
uninteressant ist, passiert das nicht von selbst. Es enthaelt die Folge
der gegebenen Anweisungen und einige wenige Ergebnisse und dient dazu,
eine Sitzung etwa reproduzieren zu koennen.
ELLI
ELLI schaltet auf Rechnung mit Ellipsen statt Einzelteilchen oder
Punktwolken um. Umkehrung: ==>EINZ oder ==>PUMA. Unabhaengig davon sind
==>KELL und ==>KTEI parallel moeglich, auch ==>SAVS, ==>LESS sowie
==>ZRUK behandeln immer Ellipsen und Koordinatenvektoren gleichzeitig.
Information ueber die aktuelle Schalterstellung durch ==>MODE
EINZ
EINZ schaltet auf Rechnung mit Einzelteilchen statt Ellipsen oder
Punktwolken um. Umkehrung: ==>ELLI oder ==>PUM. Unabhaengig davon sind
==>KELL und ==>KTEI parallel moeglich, auch ==>SAVS, ==>LESS sowie
==>ZRUK behandeln immer Ellipsen und Koordinatenvektoren gleichzeitig.
Information ueber die aktuelle Schalterstellung durch ==>MODE
KRAU
Durch KRAU wird der elektische Teilchenstrom definiert und, falls er
ungleich Null ist, bei allen Berechnungen optischer Eigenschaften die
Defokussierung des Strahls durch die Wirkung der Raumladung nach dem
Modell von Kapchinski und Vladimirski beruecksichtigt. Mit dieser Option
handelt man sich allerdings eine Vervielfachung der erforderlichen
Rechenzeiten ein, ausserdem werden die Abbildungsmatrizen optischer
Systeme natuerlich von der Lage und Groesse des Eingangsellipsoids
abhaengig.
Es muss vorher mit ==>KELE ggf. dafuer gesorgt werden, dass der
dritte Parameter aller Elemente (Unterteilungsfaktor) hinreichend gross
ist, weil das Programm mit stueckweise konstantem Strahlquerschnitt
rechnet und dieser nur vor jedem Elementteil zur Kenntnis genommen wird.
Im Zweifelsfalle sollte man verschiedene Faktoren probieren und
nachsehen, ob sich das Ergebnis wesentlich aendert. Netterweise werden
vom Programm alle Unterteilungsfaktoren erstmal mit 5 multipliziert.
Eine Automatik waere zwar wuenschenswert, gibt es aber noch nicht.
Der Strom ist ohne Bedeutung, falls man mit Einzelteilchen (==>EINZ)
rechnet, also ggf. ==>ELLI sagen.
Es spricht nichts dagegen, auch negative Stroeme einzugeben, die dann
eine zusaetzliche Fokussierung bewirken...
Man kann sich mit ==>AKOP oder ganz knapp mit ==>MODE ueber den
aktuellen Wert des Stroms informieren.
Eingaben dazu: Teilchenstrom (el.Milliampere),Teilchen pro Bunch:
Einzugeben ist der Teilchenstrom in elektrischen Milliampere;
Vorsicht vor langen Rechenzeiten und zu groben Unterteilungen der
Elemente!
DIM4
Man kann wahlweise mit vier- oder sechsdimensionalen
Abbildungsmatrizen rechnen. Mit DIM4 wird auf vierdimensionale
umgeschaltet. Das kostet weniger Rechenzeit und ist ausreichend fuer
alle Systeme ohne Dipole oder Teilchen ohne Impulsfehler.
Gegenteil: ==>DIM6
Information ueber die aktuelle Schalterstellung durch ==>MODE
Nebenbei: die Transitionsenergie eines Synchrotrons bei ==>SYNC oder
==>TUNE wird unabhaengig von dieser Schalterstellung richtig berechnet.
FIT2
Der Bequemlichkeit halber hat man im Programm zwei komplette Saetze
von Fitbedingungen und Variationscodes fuer optische Elemente, erste
Spalte bei ==>AELE, zur Verfuegung, zwischen denen man beliebig hin- und
herschalten kann. Das ist ganz nuetzlich zur Loesung etwas komplexerer
Probleme. Mit FIT2 wird auf den zweiten dieser beiden Saetze
umgeschaltet (Umkehrung: ==>FIT1).
Information ueber die aktuelle Schalterstellung durch ==>MODE
Hinweis: bei ==>SAVE wird automatisch FIT1 eingeschaltet.
FINI
FINI veranlasst die Erstellung eines ausfuehrlichen
Druckerprotokolls, das die Liste aller optischen Elemente, die
Abbildungsmatrix, Eingangs- und Ausgangsellipsoid sowie die Enveloppe
durch das System enthaelt. Zur Identifikation kann man eine Zeile
beliebigen Textes eingeben, und darueber hinaus wird automatisch eine
fortlaufende Numerierung und das Datum dem Protokoll voran gestellt.
Damit sollte man imstande sein, spaeter die ganze Rechnung zu
reproduzieren.
Weil es schoen und vor allem nuetzlich ist, kann man auch eine
zusaetzliche Plotterzeichnung anfordern, die Enveloppen und Ellipsen am
Eingang und Ausgang enthaelt.
Speziell fuer die Untersuchung von Synchrotrons koennen auch einige
Berechnungen veranlasst werden, die im Dialog nicht zur Verfuegung
stehen: Die Arbeitslinie im Q-Diagramm und die Maschineneigenschaften im
gesamten Einstellbereich der Quadrupole. Falls die Maschine zum
Zeitpunkt des FINI-Aufrufs gerade komprimiert ist (==>KOMP), und wenn
ausserdem Einzelteilchenrechnungen vorliegen (==>AFIX oder ==>FIXI),
dann werden diese Daten mit in das Druckerprotokoll eingetragen.
Eingaben dazu: Plot usw.:
Mit der hier geforderten Zahl kann man ausfuehrlich sagen, was man will:
Einerstelle: 0 - kein Plot soll gemacht werden, nur eine Liste
1 - eine neue Plotterzeichnung soll angefangen werden.
2 - in die Zeichnung vom letzten FINI wird reingemalt.
Zehnerstelle:0 - ganz normales Protokoll
incl. der 1 - Synchrotron-Parameter werden berechnet (Twiss, Q,...)
2 - Ausgabe eine vollständigen Tabelle der Twiss-Parameter
Hunderter 3...9 - Q-Diagramm mit 2N+1 Punkten, dp/p=0.001-Schritte
>9 - die Quadrupole werden in 10*N Schritten durchgestimmt
und die Synchrotron-Parameter berechnet.
Tausenderst.:0 - Enveloppe so, wie gerade mit ==>PMOD definiert
1 - (x,y)-Enveloppe (ohne Sollbahn)
2 - (x,-x)-Enveloppe einschliesslich Sollbahn
3 - (y,-y)-Enveloppe einschliesslich Sollbahn
4 - (|x|,|y|)-Enveloppe einschliesslich Sollbahn
5 - beta-x, beta-y normiert in m; Vorsicht mitm Massstab!
6 - my-x, my-y in Grad
7 - (z,-z)-Enveloppe (Bunchlaenge) einschließlich Sollbahn
AELL
Mit AELL wird das vier- oder sechsdimensionale (==>DIM4, ==>DIM6)
Ausgangsellipsoid ausgegeben. Die Bedeutung aller Groessen ist der
Programmbeschreibung zu entnehmen. Jedenfalls sind die Wurzeln der
Diagonalelemente die groessten Ausdehnungen in den entsprechenden
Koordinatenrichtungen.
Falls man einen kuerzeren Output will, verwende man ==>AUSG. Bei
Rechnung mit Einzelteilchen (==>EINZ) passiert das von selbst.
AVAR
Mit AVAR wird aufgelistet, welche optischen Parameter fuer
Fitrechnungen variabel sind und welchen Wert sie gerade haben.
Eine Variable kann aus einem oder mehreren Elementen bestehen, die in
letzterem Falle miteinander verkoppelt sind.
Die erste Zahl (EL-NR) bezeichnet die Nummer des Elementes (==>AELE).
Die zweite Zahl (V) gibt den Variations-Code an, also die erste Zahl,
die man bei ==>AELE zu sehen bekommt, und die dritte ist der variable
Parameter dieses Elementes. Erscheint eine vierte Zahl in Klammern, so
ist das der Feldgradient bei Quadrupolen bzw. das Feld bei Dipolen in
T/m bzw. T.
Meint man, die Werte seien nicht schoen, kann man sie mit ==>RSET
wieder in den Stand vor dem letzten ==>RECH bringen. Dass andere
Groessen variabel werden, erreicht man durch ==>VSTD oder etwas
laenglicher mit ==>KELE. Den Wert der Variablen kann man mit ==>IVAR
inkrementieren.
PREL
Falls man Masse und Ladung (==>KART) oder die Geschwindigkeit
(==>KBET) des Sollteilchens aendert, dann aendert man damit die
magnetische Steifigkeit. Es sind nun zwei unterschiedliche
Fragestellungen moeglich:
1: Welche Magnetfelder braucht man jetzt, um die gleichen optischen
Eigenschaften des Systems wie vorher zu erhalten?
2: Welche optischen Eigenschaften hat das System mit
unveraenderten Magnetfeldern nun fuer diese neuen Teilchen?
Im ersten Fall will man z.B. das System fuer eine andere Ionensorte
neu einstellen, im zweiten Fall will man z.B. das Verhalten eines
Systems im Mehrladungsbetrieb studieren.
Mit PREL wird der zweite Fall realisiert, d.h. bei ==>SOLB, ==>KART,
==>KBET werden entsprechend dem Verhaeltnis zwischen alter und neuer
magnetischer Steifigkeit die Quadrupolkonstanten und die Ablenkwinkel
und Kruemmungsradien von Dipolen umgerechnet. Das gilt so lange, bis es
mit ==>PNUL wieder rueckgangig gemacht wird. Bei ==>AELE sieht man diese
Umrechnungen aber nicht, das spielt sich ganz geheim im Unterprogramm
'MATRIX' ab.
Information ueber die aktuelle Schalterstellung durch ==>MODE
PNUL
Falls man Masse und Ladung (==>KART) oder die Geschwindigkeit
(==>KBET) des Sollteilchens oder die sechste Koordinate der Sollbahn
(==>SOLB) aendert, dann aendert man damit die magnetische Steifigkeit.
Es sind nun zwei unterschiedliche Fragestellungen moeglich:
1: Welche Magnetfelder braucht man jetzt, um die gleichen optischen
Eigenschaften des Systems wie vorher zu erhalten?
2: Welche optischen Eigenschaften hat das System mit
unveraenderten Magnetfeldern nun fuer diese neuen Teilchen?
Im ersten Fall will man z.B. das System fuer eine andere Ionensorte
neu einstellen, im zweiten Fall will man z.B. das Verhalten eines
Systems im Mehrladungsbetrieb studieren.
Mit PNUL wird der erste Fall realisiert, d.h. bei ==>SOLB ==>KART,
==>KBET werden weder die Quadrupolkonstanten noch die Ablenkwinkel und
Kruemmungsradien von Dipolen umgerechnet. Man sieht nur bei ==>AELE in
der 8. Spalte andere Feldwerte. Das gilt so lange, bis es mit ==>PREL
wieder rueckgaengig gemacht wird.
Information ueber die aktuelle Schalterstellung durch ==>MODE
PROT
Mit PROT kann man eine etwas ausfuehrlichere Protokollierung der
Eingaben und der Aktionen des Programms auf den Bildschirm zuschalten.
Ferner kann man ein naturgetreues Echo des Dialogs in die Terminal-
ausgaben einblenden oder auch eine Liste aller Eingaben auf die Punch-
datei schreiben. Damit kann man dann, wenn man will, den ganzen Dialog
nochmal wiederholen; Replay also.
Eingaben dazu: Eingabeprotokoll, echo, replay ein/aus (0/1):
Man soll 3 Zahlen (0 oder 1 fuer "ein" bzw "aus") eingeben:
(1) ausfuehrlichere Terminal-Ausgaben (is nich sehr doll...); eine -1
schaltet die Atempausen bei ==>AELE oder ==>AENV aus,
0 oder 1 schalten sie wieder ein.
(2) Echo des Dialogs in die Terminal-Ausgabe einbauen. - Anwendung z.B.
bei Abwicklung des Dialogs ueber Dateien; dann sieht man, welche
Eingaben zu welchen Ausgaben gefuehrt haben.
(3) Protokoll aller Eingaben in die Punch-Datei. Die koennte man spaeter
als Eingabe verwenden und damit den ganzen Dialog nochmal nach-
empfinden.
COPY
Mit COPY werden Teile der gerade bearbeiteten Struktur an anderer
Stelle derselben Struktur eingefuegt, wobei die Elemente an der alten
Stelle erhalten bleiben im Gegesatz zu ==>MOVE. Damit kann man schoen
einfach komplizierte Systeme zasammenbasteln. Eine andere Moeglichkeit
ist, sie mit ==>LINK aus einem anderen Datensatz zu klauen, falls sie
dort schon sind.
Voellig neue Elemente werden mit ==>INPU eingegeben, nur Elemente
loeschen kann man mit ==>DELE.
Eingaben dazu: Kopieren von Nr, bis Nr, hinter Nr:
Es wird die Eingabe von drei Zahlen erwartet:
(1) und (2): Erstes und letztes Element des zu kopierenden Bereichs.
(3) Die Nummer desjenigen Elements, hinter dem die zu kopierenden
eingefuegt werden sollen.
Achtung: 3: sollte nicht zwischen 1: und 2: liegen; ist ja klar.
Regeln: Wird die 2. Zahl nicht eingegeben, wird sie gleich der 1. ges.
Wird die 3. Zahl nicht eingegeben, wird das mit ==>TEIL
definierte letzte Element angenommen.
Nach Ausfuehrung von COPY ist das Ende des Systems beim letzten
kopierten Element.
AUSG
Man bekommt mit AUSG eine Zeile mit 5 oder 7 Zahlen, je nach ==>DIM4
bzw ==>DIM6. Die erste, in Klammern, ist die Nummer des Elements
(==>AELE), hinter dem die restlichen Zahlen gelten. Falls man mit
Ellipsen rechnet (==>ELLI), sind das
E(1,1), E(1,2), E(3,3), E(3,4) und ggf, E(5,5), E(6,6), also:
x**2, Neig.in x, y**2, Neig.in y, z**2, (dp/p)**2
Falls man mit Einzelteilchen rechnet (==>EINZ), ist es einfach der
Koordinatenvektor hinter dem angegebenen Element. In diesem Falle sind
die Sollbahnkoordinaten (==>SOLB) in der Ausgabe enthalten, bei Rechnung
mit Ellipsen dagegen nicht. Man kann mit AUSG uebrigens ganz einfach die
Daten am Eingang des Systems bekommen, wenn man vorher ==>TEIL,0 sagt;
so kommt man noch vor das erste Element.
RSET
Mit RSET werden die Korrekturen an den optischen Elementen,die man
mit ==>RECH, ==>KELE, ==>IELE oder implizit mit ==>TUNE gemacht hat,
wieder aufgehoben. Diese wird spaeter mal die neuen Anweisungen UNDO und
REDO ersetzt werden; vorerst muss man ==>CURS aufrufen, Undo oder Redo
so oft ausfuehren, wie man will, dann CURS wieder verlassen.
FSTD
Mit FSTD definiert man eine Reihe von Fitbedingungen, die oefter
vorkommen, z.B. Doppelwaist, achromatische Abbildung, bestimmter
Strahlquerschnitt, Spur der Abbildungsmatrix. Das geht schneller und
einfacher, als wenn man alle Parameter mit ==>KSOL einzeln aendern
wollte. Klar, dass man anschliessend mit ==>ASOL sehen kann, was man
gemacht hat. Es werden entweder eine oder zwei Fitbedingungen erzeugt
und die uebrigen um eine bzw. zwei Zeilen nach unten geschoben, so dass
man auf einfache Weise einen Satz von bis zu 6 Fitbedingungen
zusammenbauen kann. Die variablen optischen Elemente definiert man mit
==>VSTD oder notfalls mit ==>KELE, echt gefittet wird dann mit ==>RECH.
Eingaben dazu: Typ der Fitbed., Sollwert(e):
Man soll drei Zahlen (M,N,S) eingeben: M ist die Kenn-Nummer der
Fitbedingung, und die Bedeutung der beiden Werte N und S ist je nach M
verschieden: es koennen zwei Sollwerte oder Sollwert plus Gewichtsfaktor
sein.
Folgende Kenn-Nummern gibt es:
1 : Neigungen in x und y, also E(1,2), E(3,4) (1,0,0 fuer Doppelwaist)
2 : Strahlradius in x und y zum Quadrat, also E(1,1), E(3,3)
3 : Einzelteilchen-Koordinaten horizontal (x,x') am Ausgang
4 : Einzelteilchen-Koordinaten vertikal (y,y') am Ausgang
5 : Matrixelemente R(1,6), R(2,6), also horiz. Dispersion des Systems
6 : Matrixelemente R(3,6), R(4,6), also vertik. Dispersion des Systems
7 : Spur der Teilmatrizen in (x,x') und (y,y') fuer Stabilitaetsunters.
8 : Strahlbreite in +x und +y einschliesslich der Sollbahn
9 : Strahlbreite in -x und -y einschliesslich der Sollbahn
(10 hat keine Bedeutung; noch nicht)
+I7 : Die Wurzel(E(I,I)) plus Sollbahn; I=1...6
-I7 : Die negative Wurzel(E(I,I)) plus Sollbahn; I=1...6
+IJ : Ein beliebiges Element des Ellipsoids, E(I,J)
-IJ : Ein beliebiges Element der Abbildungsmatrix, R(-I,J)
Die beiden letzten sollen dem Betrage nach zwischen 11 und 66 liegen.
100 bis 104 : Es wird eine Fitbedingumg der Form "M N S 1.0" erzeugt,
M= 100, N : N=-11 bis 8 - diverse Synchrotron-Parameter ...
N=1: beta-x, N=2: alpha-x, N=3: beta-y, N=2: alpha-y
N=5: alpha-p, N=6: alpha-p', die Dispersionsfunktion also
N=7: alpha-p-y, N=8: alpha-p-y', vert. Dispersion; igitt!
N=0: gamma-trans, N=-6: 1/gamma-trans**2; allgemein:
Die zwoelf Zahlen der ersten beiden Zeilen von ==>SYNC
von -11 bis 0 in absteigender Reihenfolge.
101, N : N-te Sollbahn-Koordinate, 1=x, 2=x' usw.
102, N : normierte C.O.-Amplitude, 1=horizontal, 2=vertikal
103, N : Phasenvorschub in der Normalperiode, 1=horizontal, 2=vert.
104, N : absolute Position und Richtung des Systemendes
(N=1,2,3: x,y,z, N=4,5,6: Winkel)
104,'abcd',S: wenn das Element S im System 'abcd' vom Typ 16 4 oder
16 5 ist, werden drei passende Fitbedingungen erzeugt
using die Werte dieses Elementes.
105, N : wie 104, aber Tangentenschnittpunkt statt Austrittspunkt
106, N : N-te Koordinate des closed orbit
In diesem Zusammenhang ist vielleicht ==>LOCUS interessant.
Beispiele: "FSTD,104,2,28000" = "das System soll bei y=28 m enden"
oder auch: "FSTD,101,1,0" = "das x der Sollbahn (SOLB) soll =0 werden"
oder auch: "FSTD,104,'otto','FLEQ'" = "such man im Sytem 'otto' nach
dem Element mit dem Label 'FLEQ', und wenn es von Typ 16 4
oder 16 5 ist, erzeuge daraus drei Fitbedingungen"
VSTD
Mit VSTD definiert man schnell und einfach mehrere Quadrupole als
variabel bei Fitrechnungen, denn in den meisten Faellen werden deren
Feldgradienten zur Erreichung der Sollwerte veraendert; die Variation
von Laengen oder Abstaenden kommt dagegen seltener vor, da das in der
Praxis mit keinem einfachen Knopf gemacht werden kann. Diese Art der
Variation muss man mit ==>KELE schrittweise machen.
Mit ==>AVAR sieht man, welche Elemente ueberhaupt variabel sind und
in welcher Weise sie miteinander verknuepft sind.
Eingaben dazu: Zahl der Quadrupole, der Variablen:
Die Bedeutung der zwei verlangten Zahlen ist folgende:
(1) Zahl der Quadrupole, die bei dieser Eingabe bearbeitet werden
(2) Zahl der unabhaengigen Variablen, die dabei entstehen sollen. Die
muss natuerlich <= der 1. sein.
Die Bearbeitung beginnt hinten; da macht man keine Zwischenloesungen
vorn kaputt, und zwar ggf. bei dem mit ==>TEIL definierten Systemende.
Die weiteren Eingaben zum selben VSTD-Aufruf beziehen sich dann auf die
jeweils davor liegenden Quadrupole bis man am Anfang angekommen ist;
dann hoert auch die Fragerei des Programms auf. Dies erreicht man aber
auch jederzeit mit einem "*". Gibt man ganz zuerst schon einen solchen,
passiert gar nichts; das ist eine Sicherung gegen versehentliche
Benutzung.
Beispiele: n,n : n Quadrupole sind unabhaengig variabel
3,2 : ein symmetrisches Triplett ist variabel
2,1 : ein antisymmetrisches Duplett ist variabel
m,0 : m Quadrupole sollen fest bleiben
1000,2 : alle F- und alle D-Quadrupole werden parallel variiert
(FODO-Lattice, passiert bei ==>TUNE automatisch.)
KAKZ
Man kann die Akzeptanz eines nachfolgenden Strahlfuehrungssystems
durch Angabe der Emittanzen und der Ellipsenparameter in x und y
definieren. Sinn der Sache ist, Fitbedingungen zu erzeugen, die am
Ausgang des aktuellen Systems zwei diesen Ellipsen aehnlichen
entsprechen. Das macht man mit ==>FAKZ. Da in vielen Faellen solche
Akzeptanzen von aussen berechnet und vorgegeben sind, kann man auf eine
grosse Kiste von abgespeicherten Daten zurueckgreifen; dazu dient
==>GETA. Die hier mit KAKZ veraenderten Werte kann man mit ==>PUTA
wieder dorthin zurueckschreiben.
Uebrigens: Dies hat gar nichts mit der echten Akzeptanz des Systems
zu tun, die bekommt man mit ==>PAKZ geplottet oder bei ==>FINI gedruckt.
Ab 5.07: Anstelle der Akzeptanz kann man sich auch den Punkt und die
Richtung merken, bei denen das opt. System im Raum aufhoert (==>TEIL).
Dies geschieht durch Eingabe von "KAKZ,-1" .
Trick zur Eingabe beliebiger Zahlen: "INPU,,16,4,x,y,phi;*,FAKZ,-1",
dann das "16 4"-Element am Ende wieder loeschen.
Neu ab 5.11: "KAKZ,-2" und System-Ende ein Dipol: Die Koordinaten
des Tangenten-Schnittpunktes statt des Austrittspunktes werden benutzt.
Eingaben dazu: x**2,Neig.,x-emit, y**2,Neig.,y-emit:
Einzugeben sind 6 Zahlen zur Definition der Akzeptanzellipsen:
(1) x**2 (mm*2)
(2) Neigung der horizontalen Ellipse
(3) Emittanz (mm*mrad)
(4)...(6) entsprechend fuer y
Die Einheiten sind die gleichen wie bei ==>KELL und ==>KEMI
Die Eingabe eines "*" bewirkt, dass die
schon vorhandenen Ellipsen nicht veraendert werden.
Zur Anpassung an die hier zu definierenden Ellipsen in x und y kann
man passende Fitbedingungen erzeugen, so dass der Strahl optimal in ein
nachfolgendes System eingepasst werden kann.
"KAKZ,-3" heißt, die 6 Zahlen werden nicht eingegeben, sondern aus
dem mit ==>SAVS abgespeicherten Strahl übernommen.
Ab 5.07: Alternativ dazu nur "-1" eingeben, dann werden die absoluten
Koordinaten am Ende des optischen Systems eingetragen und koennen dann
ebenfalls mit ==>FAKZ in passende Fit-Bedingungen umgesetzt werden.
Ab 5.11: "KAKZ,-2" und System-Ende ein Dipol: Die Koordinaten des
Tangenten-Schnittpunktes statt des Austrittspunktes werden benutzt.
KEMI
Mit KEMI werden die Emittanzen in (x,x') und (y,y') am Eingang des
Systems veraendert; damit ist eine aehnliche Vergroesserung oder
Verkleinerung der Eingangsellispen verbunden. Welche Emittanz gerade
verwendet wird, sieht man mit ==>AKOP oder ganz knapp mit ==>MODE Eine
Vergroesserung der Emittanzen, so dass die Apertur gerade ausgeleuchtet
ist, kann man mit ==>BLOW erreichen; keine Angst: das System explodiert
nicht dabei.
Eingaben dazu: x-Emittanz, y-Emittanz (mm*mrad):
Die horizontale und vertikale Emittanz ist gefragt; Ellipsen am
Eingang werden aehnlich umgerechnet; Eingabe eines "*" laesst alles, wie
es ist. - 2 Zahlen in mm*mrad:
KBET
KBET dient zur Aenderung der Geschwindigkeit des Sollteilchens am
Anfang des Systems. Ob das eine Aenderung der optischen Eigenschaften
oder nur die Annahme anderer Magnetfelder bewirkt, haengt von der
Stellung des Schalters ==>PREL / ==>PNUL ab; da muss man vorher mit
==>MODE nachsehen. Auskunft ueber die aktuelle Geschwindigkeit erhaelt
man durch ==>AKOP oder ganz knapp mit ==>MODE.
Besondere Vereinbarungen:
-> Eingabe von 100.: sechsdimensionale Abbildungsmatrizen enthalten nur
den Weg-Unterschied an der Position R(5,6), d.h. es wird fuer
relativistische Teilchen gerechnet, obwohl in die Berechnung der
magnetischen Steifigkeit nach wie vor die Geschwindigkeit eingeht,
die zum Zeitpunkt der Eingabe gueltig war.
-> Eingabe von 0.: sechsdimensionale Abbildungsmatrizen enthalten auch
den Laufzeit-Unterschied an der Position R(5,6), d.h. es wird in
jeder Hinsicht mit der echten Geschwindigkeit zum Zeitpunkt der
Eingabe gerechnet.
-> Eingabe einer negativen Zahl: Die Eingabe wird als Energie
interpretiert; falls die aktuelle Masse>0 ist (Ionen), ist es die
spezifische Energie in MeV/Nukleon, bei Masse=0 (Elektronen) ist es
die Gesamtenergie; so wie man es gefuehlsmaessig erwartet.
Eingaben dazu: Teilchen-beta (v/c,%) oder MeV/u:
Einzugeben ist Geschwindigkeit des Sollteilchens am Eingang des
Systems in Prozent der Lichtgeschwindigkeit; ==>PREL / ==>PNUL beachten!
Eingabe eines "*" laesst alles beim alten.
Besondere Vereinbarungen:
-> Eingabe von 100.: sechsdimensionale Abbildungsmatrizen enthalten nur
den Weg-Unterschied an der Position R(5,6), d.h. es wird fuer
relativistische Teilchen gerechnet, obwohl in die Berechnung der
magnetischen Steifigkeit nach wie vor die Geschwindigkeit eingeht,
die zum Zeitpunkt der Eingabe gueltig war.
-> Eingabe von 0.: sechsdimensionale Abbildungsmatrizen enthalten auch
den Laufzeit-Unterschied an der Position R(5,6), d.h. es wird in
jeder Hinsicht mit der echten Geschwindigkeit zum Zeitpunkt der
Eingabe gerechnet.
-> Eingabe einer negativen Zahl: Die Eingabe wird als Energie
interpretiert; falls die aktuelle Masse>0 ist (Ionen), ist es die
spezifische Energie in MeV/Nukleon, bei Masse=0 (Elektronen) ist es
die Gesamtenergie; so wie man es gefuehlsmaessig erwartet.
QFIT
Mit QFIT kann man, ohne dass die gerade definierten variablen
optischen Elemente (==>VSTD) oder die Fitbedingungen (==>FSTD) davon
beruehrt werden, mal so eben zwischendurch den Strahlquerschnitt an
einer beliebigen Stelle des Systems zurechtbiegen. Dazu werden die
beiden dieser Stelle vorangehenden Quadrupole variiert. Huebscher ist
allerdings die Verwendung von ==>CURS, falls man das Glueck hat, an
einem Graphik-Terminal zu sitzen.
Eingaben dazu: Elem.-Nr, x, y dort:
Einzugeben sind:
(1) Die Nummer eines optischen Elementes und
(2) der Strahlradius in Millimetern horizontal (x) und
(3) der Strahlradius in Millimetern vertikal (y), beides hinter dem mit
(1) bezeichneten Element.
Gibt man eine der beiden unter (2) und (3) angegebenen Groessen nicht
ein, so wird der aktuelle Wert an dieser Stelle uebernommen.
ZEIT
Mit ZEIT koennen sparsame Benutzer jederzeit nachsehen, ob sie schon
viel CPU-Zeit verbraucht haben oder ob sie noch ein wenig spielen
koennen. Nullpunkt der Angaben ist der letzte ZEIT-Aufruf bzw. der Start
des Programms; die Gesamtzeit seit dem Start wird auch ausgegeben.
GROB
Mit GROB wird die Schranke fuer die Abfrage auf Konvergenz bei
==>RECH gleich 0.1 gesetzt. Das ist die Wurzel aus der Summe der
Fehlerquadrate mal dem Gewichtsfaktor. GROB ist voreingestellt und
reicht meistens aus. Gegenteil: ==>FEIN
FEIN
Mit FEIN wird die Schranke fuer die Abfrage auf Konvergenz bei
==>RECH gleich .001 gesetzt. Das ist die Wurzel aus der Summe der
Fehlerquadrate mal dem Gewichtsfaktor. Gegenteil: ==>GROB, das ist
voreingestellt und reicht meistens aus.
DIM6
Man kann wahlweise mit vier- oder sechsdimensionalen
Abbildungsmatrizen rechnen. Mit DIM6 wird auf sechsdimensionale
umgeschaltet. Das kostet mehr Rechenzeit, ist aber erforderlich fuer
alle Systeme mit Dipolen und Teilchen mit Impulsfehler.
In diesem Falle kann man sich aussuchen, ob man im Matrixelement R56
nur die Weglaengenunterschiede oder auch Laufzeitunterschiede gegenueber
dem Sollteilchen beruecksichtigen will; das macht man mit ==>KBET.
Gegenteil: ==>DIM4
Information ueber die aktuelle Schalterstellung durch ==>MODE
Nebenbei: die Transitionsenergie eines Synchrotrons bei ==>SYNC oder
==>TUNE wird unabhaengig von dieser Schalterstellung richtig berechnet.
#PRO
Wenn man eine Reihe von Anweisungen wiederholt in unveraenderter Form
eingeben muss, z.B. TEIL,28,DIM6,EINZ,AUSG,ELLI,DIM4,GANZ, um sich
ueber den Verlauf der Dispersionsbahn beim Basteln an einem System zu
informieren, ohne das Ziel aus den Augen zu verlieren, dann ist es
geschickt, diese Folge von Anweisungen zu einer Prozedur
zusammenzufassen und ihr einen Namen zu geben. Das kommt dem
natuerlichen Hang des Menschen zur Faulheit entgegen.
#PRO leitet den Beginn einer solchen Definition ein. Dabei ist der
Name der Prozedur in Apostrophen und 4 Zeichen einzugeben; kein schon
bekannter Anweisungsname. Alle darauf folgenden Anweisungen werden
nicht ausgefuehrt, sondern nur als Bestandteile der Prozedur gemerkt.
Dieser Mode endet mit der Anweisung ==>#END (nicht vergessen!).
Sind bei einigen dieser Anweisungen Daten einzugeben, so kann man
diese entweder gleich mit angeben, dann wird spaeter nicht lange
rumgefragt, oder man kann durch Angabe eines "*" bewirken, dass diese
Daten jedesmal beim Aufruf der Prozedur neu eingegeben werden koennen.
Zu beachten ist nur, dass man den Wert 0 nicht voreinstellen kann, aber
man kann sich in den meisten Faellen mit 0.001 oder 1.e-28 behelfen.
Das Beispiel oben wuerde dann so aussehen:
#PRO,'DISP',TEIL,28,DIM6,EINZ,AUSG,ELLI,DIM4,GANZ,#END
Die Ausgabe der Teilchenkoordinaten bei der neuen Anweisung DISP ist
dann stets hinter dem Element Nr.28.
oder:
#PRO,'DISP',TEIL,*,DIM6,EINZ,AUSG,ELLI,DIM4,GANZ,#END
Bei jedem Auruf von DISP kann man (besser: muss man) die Nummer des
Elementes eingeben, hinter dem man die Koordinaten sehen will.
Man kann maximal 10 Anweisungen in eine Prozedur packen und maximal
20 Prozeduren gleichzeitig definiert haben. Aufrufverschachtelungen sind
auch zulaessig bis zur Tiefe 10; das kann schon ganz nuetzlich sein. Ist
eine Prozedur schon vorhanden, wird sie durch die neue Vereinbarung
ueberschrieben. Will man eine Prozedur wieder loeschen, sagt man
einfach: #PRO,'name',#END.
Auflisten der Prozeduren erfolgt mit ==>LISP, korrigieren mit
==>KPRO. Ferner kann man alle gerade definierten Prozeduren mit ==>SAVP
in Sicherheit bringen und mit ==>LESP spaeter wieder einlesen. Sie
werden fuer jeden Datensatz getrennt verwahrt.
Ausserbezirkliche Empfehlung:
Seit einiger Zeit kann man auch Makro-Files schreiben und benutzen,
die flexibler sind als die bisherigen Prozeduren, allerdings noch nicht
schachtelbar. Aufruf: @file-name, und in dem File file-name stehen
beliebig viele Zeilen mit MIRKO-Anweisungen.
Eingaben dazu: Prozedurname (Apostr!):
Einzugeben ist der Name der Prozedur die erzeugt werden soll, genau
vier Alphazeichen in Apostrophen. Alle nun folgenden Anweisungen werden
nicht ausgefuehrt, sondern nur gemerkt. Wichtig: Rueckkehr in den
Normalzustand mit ==>#END!
#END
Der Aufbau einer mit ==>#PRO begonnenen Prozedur wird beendet, und
das Programm geht wieder in den Normalzustand ueber, in dem es
Anweisungen nicht nur entgegennimmt, sondern auch ausfuehrt. Es ist ganz
wichtig, dass man diese Anweisung nicht vergisst, weil sonst noch nicht
mal STOP funktionieren wuerde!
Ausserbezirkliche Empfehlung:
Seit einiger Zeit kann man auch Makro-Files schreiben und benutzen,
die flexibler sind als die bisherigen Prozeduren, allerdings noch nicht
schachtelbar. Aufruf: @file-name, und in dem File file-name stehen
beliebig viele Zeilen mit MIRKO-Anweisungen.
LISP
Mit LISP informiert man sich, welche Prozeduren augenblicklich
definiert sind. Man bekommt entweder eine Liste aller Prozeduren oder
eine Liste einer Prozedur, dann stehen dort auch die Eingabedaten, die
man voreingestellt hat.
Prozedur-Vereinbarungen beginnen mit ==>#PRO und enden mit ==>#END,
korrigieren kann man sie mit ==>KPRO und abspeichern mit ==>SAVP.
Eingaben dazu: Prozedurname (Apostr!):
Man soll den Namen der aufzulistenden Prozedur eingeben und zwar in
Apostrophen eingeschlossen. Gibt man als Namen 'ALLE' an, so werden alle
bekannten Prozeduren gelistet. Ein "*" beendet diese Anweisung.
SAVE
Die Liste der optischen Elemente, die Strahlparameter am Eingang und
die gerade definierten Fitbedingungen koennen mit SAVE in die
Versorgungsdatei gebracht werden, damit man spaeter darauf zurueckkommen
kann. Suchbegriff ist der vierstellige Jobname, den man ganz am Anfang
oder nach ==>SKIP oder ==>NJOB eingegeben hat. Zu diesem Namen gehoeren
ggf. auch die Prozeduren (==>#PRO) und bis zu 18 verschiedene Saetze von
Quadrupoleinstellungen (==>SAVM). Bis zu 100 verschiedene Namen kann man
in der Datei unterbringen, falls der Platz dort ausreicht. Wieviel
belegt ist, wird nach ==>SKIP oder ==>STOP ausgegeben.
Nebenbei: Wenn man Angst vor Programmabstuerzen hat, kann man SKIP
nach SAVE sagen, dann sind die Daten garantiert in der Datei angekommen
und wieder zu finden.
Hinweis: Ist ein optisches System seit dem letzten SAVE laenger
geworden, dann wird es in der Datei hinten angehaengt, anderenfalls
kommt es an die gleiche Stelle. Blaeht sich so die Datei unnoetig auf,
wird sie bei Bedarf automatisch komprimiert; muss man sich gaa nich um
kuemmern. Wenn man mal kraeftig aufraeumen will, kann man mit ==>SCRA
auch massenweise Datensaetze loeschen.
SAVP
Mit SAVP speichert man alle gerade definierten Prozeduren (==>#PRO)
in der Versorgungsdatei ab; das geschieht fuer jeden Datensatz extra.
Das Wiedereinlesen macht man mit ==>LESP. Auflisten und korrigieren kann
man sie mit ==>LISP bzw. ==>KPRO.
LESP
Mit LESP liest man alle zu dem gerade bearbeiteten Datensatz
gespeicherten Prozeduren (==>SAVP) wieder ein, wobei allerdings die
gerade definierten ueberschrieben werden. Hinzufuegen kann man aber
jederzeit wieder welche mit ==>#PRO,...,==>#END und dann alle zusammen
mit ==>SAVP wieder in Sicherheit bringen. Auflisten und korrigieren kann
man sie mit ==>LISP bzw. ==>KPRO.
PLAK
Hat man die Akzeptanz eines Folgesystems definiert (==>KAKZ), so
werden diese Ellipsen auf einer Plotterzeichnung mit ==>FINI zusaetzlich
zu den Ausgangsellipsen dargestellt, falls zum Zeitpunkt von FINI das
ganze System (==>GANZ) aktuell war, anderenfalls nicht. Wenn man die nun
trotzdem da sehen will, muss man vor FINI eben PLAK sagen. Diese
Anweisung gehoert ganz sicher nicht zu den wichtigen...
KPRO
Mit KPRO werden die Voreinstellungen fuer Eingabedaten innerhalb
einer Prozedur geaendert. Dazu muss man den Namen der Prozedur und die
Position der zu korrigierenden Anweisung innerhalb der Prozedur angeben;
beide Informationen bekommt man mit ==>LISP. Leider kann man sonst
nichts aendern, insbesondere andere Anweisungen einbauen geht nicht.
Eingaben dazu: Prozedurname (Apostr!), Anweisungs-Nr:
Einzugeben ist der Name der zu korrigierenden Prozedur und die
Position der Anweisung innerhalb dieser Prozedur, deren Voreinstellung
fuer die Eingabedaten geaendert werden soll; nach den Daten wird
anschliessend gefragt werden. Ein "*" beendet den Eingabezyklus.
SOLI
Mit SOLI setzt man die Sollwerte gleich den augenblicklichen
Istwerten. Das sieht bei ==>ASOL schoen aus und fuehrt bei ==>RECH zu
augenblicklicher Konvergenz. Anwendung: Man moechte den erreichten
Zustand nach irgendeiner Aenderung, z.B. an dem Eingangsellipsoid,
wieder herstellen; oder man will sehen, wie kraeftig man Quadrupole in
Abhaengigkeit vom Teilchenstom (==>KRAU) nachdrehen muss, wenn am Ende
der Strahl gleich bleiben soll.
Will man nur bei einer Fitbedingung den Sollwert gleich dem Istwert
setzen, die anderen aber unveraendert lassen, so muss man mit
==>KSOL,nn,0,, arbeiten.
SOLB
Mit SOLB werden die Koordinaten des Sollteilchens am Eingang des
Systems definiert. Das ist Referenzteilchen fuer Ellipsen (==>ELLI) und
auch fuer Einzelteilchen (==>EINZ). ist. Die Konsequenzen dieser
Definition sind folgende:
-> Bei der Darstellung von (x,-x)- bzw, (y,-y)-Enveloppen mit ==>PMOD
oder ==>FINI werden die Kurven asymmetrisch, da der Nullpunkt des
Eingangsellipsoids auf dieser Sollbahn angenommen wird.
-> Verlaeuft die Sollbahn in einem Multipol (Typ 21,22) nicht auf der
Achse, so wird entsprechend dem Achsabstand und der Ordnung des
Multipols eine duenne Linse bei der Berechnung der Abbildungsmatrix
eingefuegt.
-> Ist die 6. Koordinate der Sollbahn (dp/p) von Null verschieden, dann
werden Quadrupole und Dipole so umgerechnet, als habe man mit
eingeschaltetem ==>PREL die Geschwindigkeit des Sollteilchens
veraendert.
Erweist sich bei Anwendung von ==>SYNC oder ==>TUNE, dass das System
transversale Stabilitaet hat, so werden die ersten vier Komponenten der
Sollbahn gleich den Koordianten der geschlossenen Sollbahn gesetzt, ggf.
unter Beruecksichtigung der 6.Koordinate.
Eingaben dazu: Sollbahn am Anfang:
Die 6 Komponenten des Sollbahn-Vektors am Eingang des Systems sind
einzugeben; also x, x', y, y', z, dp/p wie ueblich in mm bzw. rad.
KART
Mit KART aendert man Masse und Ladung des Sollteilchens; sie sind in
atomaren Masse-Einheiten bzw. in Vielfachen der Elementarladung
einzugeben. Mit Masse ist seit Version 6.xx die Masse des neutralen
Atoms gemeint, und fuer die Berechnung der magnetischen Steifigkeit
werden die Massen der weggestrippten Elektronen abgezogen. Konsequenz:
Elektronen werden mit Masse=0 und Ladung =-1 definiert; geil, was?
Falls ==>PREL eingeschaltet ist, aendern sich damit die optischen
Eigenschaften von Quadrupolen und Dipolen. Falls ==>PNUL eingeschaltet
ist, bleiben sie konstant, und die Magnetfelder werden entsprechend
ungerechnet. Auskunft ueber die gerade aktuellen Werte bekommt man mit
==>AKOP oder ganz knapp mit ==>MODE.
Die Emittanzen und die Eingangs-Geschwindigkeit werden mit ==>KEMI
bzw. ==>KBET geaendert.
Eingaben dazu: Teilchenmasse, -ladung:
Einzugeben sind Masse und Ladung des Sollteilchens in relativen
Einheiten (bzgl. atomarer Masse-Einheit und Elementarladung).
MATR
Die Abbildungsmatrix des optischen Systems wird mit MATR ausgegeben.
Der Endpunkt ist das mit ==>TEIL definierte oder bei ==>GANZ das
allerletzte Element. Je nach verwendeter Matrizen-Dimension
(==>DIM4/==>DIM6) sieht man 4 oder 6 Zeilen und Spalten. Ferner ist die
Sollbahn (==>SOLB) am Anfang und am Ende des Systems angegeben.
MATF
Mit MATF wird die Funktionalmatrix am Ende der letzten Fitrechnung
mit ==>RECH ausgegeben. Sie enthaelt so viele Zeilen und Spalten, wie
variable optische Elemente vorhanden sind. In der i-ten Zeile und der
j-ten Spalte stehen die Ableitungen des j-ten Sollwertes nach der i-ten
Variablen. Diese Zahlen sind meist exotisch gross, da die
Quadrupolkonstanten im mm**-1 im Programm stecken. Zweck der Sache ist
es, festzustellen, welche Sollwerte empfindlich oder nur schwach von
welchen Variablen abhaengen.
SKIP
Mit SKIP wird die Bearbeitung des aktuellen optischen Systems
beendet, aber ohne dass dabei etwas abgespeichert oder gedruckt wird.
Will man das, muss man vorher ==>SAVE sagen zum Abspeichern bzw. zum
Drucken ==>FINI. Anschliessend kann man den Namen eines anderen
optischen Systems eingeben.
Zur Information wird ausgegeben, wie viele Saetze in dieser Datei
schon belegt sind. Wenn einem das zu viel wird, kann er mit ==>SCRA
nicht mehr benoetigte Datensaetze loeschen.
Eingaben dazu: Name des optischen Systems (Apostr!):
Man soll den Name des einzulesenden optischen Systems angeben, genau
vier Alphazeichen in Apostrophe eingeschlossen. Default ist der Name des
zuletzt verwendeten Systems; dies gilt auch ueber STOP hinaus. Ist es in
der Datei noch nicht vorhanden, kann man mit einer Leereingabe
erreichen, dass mit der Erfragung der neuen Daten dazu begonnen wird.
Natuerlich kann man auch ein anderes, bereits vorhandenes suchen.
'LIST' liefert eine Aufstellung saemtlicher bekannter Systeme in
alphabetischer Reihenfolge. 'STOP' beendet das Programm.
Die Eingabe eines "*" bewirkt die Rueckkehr in das alte System.
SAVS
Mit SAVS werden das Ellipsoid am Ausgang des Systems und gleichzeitig
die Koordinaten des Einzelteilchens und Masse, Ladung und Geschindigkeit
des Sollteilchens in einen Zwischenspeicher geschrieben. Diese Daten
kann man jederzeit, auch nach ==>SKIP, mit ==>LESS wieder vorn in ein
optisches System hineinstecken. Zweck der Uebung ist, den Strahl an ein
Folgesystem weiterreichen zu koennen. Weiterhin kann man, falls der
Strahl ganz schoen ist, mit ==>PUTS diesen sogar in eine Datei (ORKUSE)
schreiben, von wo aus er auch noch Jahre spaeter geholt werden kann.
LESS
Mit LESS kann man einen Strahl: Ellipsoid, Einzelteilchen, Masse,
Ladung, Geschwindigkeit, als Eingangsdaten einlesen. Voraussetzung ist,
dass er zuvor entweder mit ==>SAVS zwischengespeichert wurden oder mit
==>GETS aus einer Datei geholt wurde. Zweck der Uebung ist, den Strahl
von einem davorliegenden System unverfaelscht zu uebernehmen.
UNSV
+++ veraltet: soll man ==>SCRA nehmen statt dessen +++
INPU
Mit INPU werden optische Elemente einfach der Reihe nach eingetippt.
Der Eintrag beginnt immer hinter dem mit ==>TEIL oder ==>GANZ
definierten Ende des optischen Systems. Das ist nuetzlich, wenn man ein
ganz neues Problem bearbeiten will oder ein bestehendes System erweitern
muss.
Sind die neuen Elemente schon vorhanden, kann es zweckmaessiger sein,
sie mit ==>COPY oder ==>MOVE woanders hinzuschaffen, ggf. mit kleinen
Aenderungen durch ==>KELE. Eine andere Moeglichkeit ist, sie mit ==>LINK
aus einem anderen Datensatz zu klauen, falls sie dort schon sind.
Eine Liste aller optischer Elemente bekommt man mit ==>AELE.
Eingaben dazu: Element-Parameter:
Jede Eingabezeile beschreibt ein optisches Element, die Reihenfolge
der neun Parameter ist die gleiche wie bei ==>AELE, also kurz:
0: Label, maximal acht Alphazeichen in Apostrophen. Diese Angabe ist
optional; kann man weglassen.
1: 0 = Element ist fest, anderenfalls ist es variabel bei ==>RECH
oder mit einem anderen korreliert (==>KORE)
2: Typen: 1=duenne Linse 2=Driftstrecke 3=Quadrupol
5=Dipol(horiz.) 7=Kantenwinkel(horiz.)
6=Dipol(vert.) 8=Kantenwinkel(vert.)
9=explizite Matrix horiz. (R11, R21, R12, R22)
10=explizite Matrix vert. (R33, R43, R34, R44)
11=Koordinatendrehung 12=Matrix (black box)
13=Blockanfang, -ende 14=Aufruf von Element oder Block
15=HF-Beschleunigungsspalt, vorerst nur Buncher (phis=0 grad)
16=...diverse Bedeutungen...
17=horizontaler ... 18=vertikaler Schlitz
19=horizontaler ... 20=vertikaler Justierfehler
21=normaler ... 22=skew Multipol
23=Solenoid
25=el.Ablenkfeld(hor.) 27=Kantenwinkel dazu
26=el.Ablenkfeld(ver.) 28=Kantenwinkel dazu
29=horizontale ... 30=vertikale Positionsmessung
31=Anfang/Ende eines Definitionsblocks
* 32=Matrix erster und zweiter Ordnung aus TRANSPORT
33=Aenderung von Energie, Masse, Ladung (Stripper)
37=Graphikelement
* 38=Definition von Grenzwerten fuer Magnete
39=Funktionsgenerator fuer zeitabhaengige Elemente
Ein *: gibt es noch nicht!
3: Unterteilungsfaktor fuer Ausgaben, bzw. Matrix-Nr. bei Typ 12
Zahl der Wiederholungen (Typ 14), Ordnung (Typ 21,22)
4: Laenge in mm; Ausnahme: bei Dipolen Ablenkwinkel in Grad
5: Quadrupolkonstante in mm**-1, bei Dipolen und Kanten Kruemmungsrad.
6: Horizontale Apertur in mm. / in mm.
7: Vertikale Apertur in mm.
8: Wo es sinnvoll ist: Feldgradient bzw. Dipolfeld in T/m bzw. T usw.
Ein "*" beendet die Eingabeschleife. Nach Ausfuehrung von INPU ist
das Ende des Systems beim letzten eingetragenen Element. Spaetere
Aenderungen sind mit ==>KELE immer noch moeglich.
/TRA
Mit /TRA wird der aktuelle Datensatz in einem fuer das Programm
TRANSPORT verstaendlichen Format auf eine Hilfsdatei geschrieben, wobei
gleich eine "17.4."-Karte dazu gelegt wird, weil man diese Anweisung
ueblicherweise fuer eine abschliessende Rechnung in 2.Ordnung verwendet.
Allerdings werden die Variationscodes nicht mit umgerechnet, weil mir
das zu kompliziert war.
Es sei an dieser Stelle darauf hingewiesen, dass man neuerdings mit
Hilfe der Sollbahn (==>SOLB) die Fehler von Dipolen und Driftstrecken
exakt und von Quadrupolen die chromatischen Fehler beruecksichtigt.
Ausserdem kann man mit ==>FIXI in einer Struktur mit Multipolen auch die
induzierten Aberrationen sehen, die mit Matrizen von rein 2.Ordnung
verloren gehen. Siehe dazu neuere Erkenntnisse von Los Alamos; Chicago
1983. Man ist also eigentlich nicht mehr dringend auf diese Matrizen
angewiesen.
Eingaben dazu: Matrix-Nr.:
Man kann schon hier im Prinzip sagen, unter welcher Nummer eine von
Transport erzeugte Matrix 2.Ordnung spaeter in einer speziellen Datei
abgelegt werden soll. Es kann aber gut sein, dass diese Information
irgendwo zwischendurch verloren geht; ist auch nicht so wichtig.
TUNE
Mit TUNE kann man die Quadrupole eines optischen Systems so fahren,
dass man insgesamt bestimmte Zahlen von Betatronschwingungen erhaelt;
Spezialding fuer Synchrotrons. Wegen der Vieldeutigkeit von Q-Werten ist
es erforderlich, vorher einen Teil des Systems als Normalperiode zu
definieren und zu sagen, aus wie vielen Superperioden die ganze Maschine
besteht (==>NPER), wobei angenommen wird, dass die ganze Struktur im
Programm stets genau eine Superperiode darstellt; damit wird der Q-Wert
eindeutig. Zur Erreichung dieses ehrgeizigen Zieles werden alle
horizontal fokussierenden (F) und alle vertikal fokussierenden (D)
Quadrupole zu je einer Variablen zusammengefasst, also quasi ==>VSTD mit
Parametern 1000,2 ausgefuehrt.
Es ist auch moeglich, auf die automatische Erzeugung von Variablen
oder von Variablen und Fitbedingungen zu verzichten, wenn man das lieber
selbst machen moechte. Anwendung: Nachstimmen oder Verstimmmen der
Maschine mit Korrektur-Sextupolen oder -Quadrupolen.
Wenn alles ok ist, wird zur Belohnung gleich noch ==>SYNC ausgefuehrt
zur Berechnung der Amplitudenfunktionen etc. - wenn nicht, dann eben zum
Trost...
In jedem Falle kann man mit ==>RSET den alten Zustand der Variablen
wiederherstellen.
Eingaben dazu: Q-horizontal, Q-vertikal:
Man soll nur die gewuenschten Q-Werte horizontal und vertikal
eingeben; hat man vorher ==>NPER richtig verwendet, kommt auch das
richtige Ergebnis raus, vorausgesetzt, es gibt ueberhaupt eine Loesung.
Sonderfaelle:
QH <=0 : Es werden keine Variablen, sondern nur Fitbedingungen erzeugt
und gefittet; Anwendung: Verstimmen der Maschine mit
Korrekturquadrupolen.
QH = 0 : Es werden keine Variablen erzeugt, und die Werte von QH, QV
vom letzten TUNE, notfalls die aktuellen Q-Werte werden nach-
gefittet; Anwendung: Chromatizitaetskorrektur mit Sextupolen.
Eingabe eines "*" bewirkt, dass nichts gemacht wird.
LINK
Mit LINK kann man Teile anderer Datensaetze derselben
Versorgungsdatei an der mit ==>TEIL definierten Stelle des aktuellen
Systems anhaengen, wobei die vorhandenen Elemente ueberschrieben werden.
Statt der Versorgungsdatei kann man auch eine formatierte "Karten"-Datei
verwenden.
Nach der Ausfuehrung von LINK sitzt das dynamische Ende des Systems
hinter dem letzten angehaengten Element, sodass man da gleich
weitermachen kann, ohne lange zu rechen und TEIL zu sagen.
Eine andere Moeglichkeit zum Systemzusammenbau ist mit ==>COPY,
==>MOVE oder ==>INPU gegeben, waehrend das Auflisten der Struktur mit
==>AELE erfolgt.
Eingaben dazu: Systemname (Apostr!), Kop. von, bis Nr:
Einzugeben sind:
(1) Der Name (4 Zeichen in Apostrophen) eines Systems aus derselben
Datei, oder eine Zahl zwischen 1 und 1000, dann ist die laufende
Nummer der Struktur innerhalb der "Karten"-Datei gemeint.
(2) und (3): Erstes und letztes Element der Folge der anzuhaengenden
Elemente in der dort gueltigen Numerierung; man muss also wissen,
was da drin steht.
LAZY
Mit LAZY kann man eine Reihe von optischen Elementen voruebergehend
ausschalten. Diese machen sich dann nur noch durch fehlende Werte in der
1.Spalte bei ==>AELE bemerkbar. Man kann sie jederzeit mit ==>BUSY
wieder einschalten. Braucht man sie aber gar nicht mehr, kann man sie
mit ==>KILL auch endgueltig loeschen, wobei allerdings auch alle
Elemente jenseits von ==>TEIL mit erwischt werden. Besser, weil
selektiver, waere ==>DELE.
Eingaben dazu: Ausschalten von Nr, bis Nr, Typ,Subtyp:
Einzugeben sind das erste und letzte der Folge derjenigen Elemente,
die abgeschaltet werden sollen, ein "*" laesst alles beim alten.
Die dritte Zahl gibt an, welcher Elementtyp ausgeschaltet werden
soll (eine 0 bedeutet alle). Die vierte Zahl gibt fuer einige Arten von
Elementen noch den Untertyp (Spalte 3) an, dies gilt fuer
Multipole, Graphikteile und Spezialemente (Typen 21,22, 37 und 16).
Ist die dritte oder vierte Zahl negativ, dann will man gerade das
Gegenteil. - Jaja, kompliziert; Beispiele:
LAZY,1,100,21,3 - ich will alle Sextupole zwischen 1 und 100 ausschalten
LAZY,1,100,-37 - ich will nur noch Graphik zwischen 1 und 100 sehen.
BUSY
Man kann mit BUSY solche Elemente, die zuvor mit ==>LAZY abgeschaltet
wurden, wieder einschalten, sofern man sie nicht mit ==>KILL ganz
geloescht hat; das waere dann endgueltig zu spaet.
Eingaben dazu: Einschalten von NR, bis NR, Typ,Subtyp:
Einzugeben sind das erste und letzte der Folge derjenigen Elemente,
die eingeschaltet werden sollen, ein "*" laesst alles beim alten.
Die dritte Zahl gibt an, welcher Elementtyp eingeschaltet werden
soll (eine 0 bedeutet alle). Die vierte Zahl gibt fuer einige Arten von
Elementen noch den Untertyp (Spalte 3) an, dies gilt fuer
Multipole, Graphikteile und Spezialemente (Typen 21,22, 37 und 16).
Ist die dritte oder vierte Zahl negativ, dann will man gerade das
Gegenteil. - Jaja, kompliziert; Beispiele:
BUSY,1,100,21,3 - ich will alle Sextupole zwischen 1 und 100 einschalten
BUSY,1,100,-37 - ich will alles ausser Graphik zwischen ... einschalten.
PENV
Mit PENV kann man, ein Graphik-Terminal vorausgestzt, die Enveloppe in
einem beliebigen Abschnitt des Systems darstellen. Ob das Ellipsen oder
Einzelteilchen sind, haengt von ==>ELLI bzw. ==>EINZ ab. Welche Ebenen
zu sehen sind, kann vorher mit ==>PMOD festgelegt werden. ==>TEIL hat
keine Begrenzung der Darstellung zur Folge, aber die Linien werden ab da
gestrichelt. Die Massstaebe der positiven und negativen y-Achse werden
mit ==>AXEN definiert (seit 2.82)
In ==>PUMA mode PENV is not available.
Ruft man PENV zum ersten Mal auf oder hat man zuvor ==>LOES oder
==>PELL gesagt, so werden die Aperturen der Quadrupole und Dipole
gezeichnet und Anfang und Ende des Ausschnitts festgelegt. Alle weiteren
Aufrufe malen einfach in das vorhandene Bild hinein. Will man an den
Enveloppen basteln, so bietet ==>CURS eine komfortable Moeglichkeit,
interaktive Graphik zu betreiben.
Mit der rechten Maustaste kann man sich ueber die Eigenschaften und
Abstaende aller Elemente informieren, die man auf dem Bild sieht, wenn
man ein Element direkt anklickt. Ausserhalb bekommt man die Strahl-
eigenschaften an der entsprechenden z-Position zu sehen.
Das Bild wird mit ==>LOES geloescht oder mit ==>PELL oder ==>PAKZ
durch Ellipsen bzw. Akzeptanzen ersetzt. Mit ==>DELP kann man bei einer
Folge von Aufrufen die zuletzt erzeugte Kurve selektiv loeschen.
Eingaben dazu: Enveloppe plotten von Nr, bis Nr, Mode:
Einzugeben sind die Nummer des ersten und letzten Elementes, die auf
dem Bildschirm mit der Enveloppe dargestellt werden sollen. Ebenen:
==>PMOD. y-Achse: ==>AXEN
Mode=1: Aperturkaesten auf der Strahlachse, Enveloppen einfache Linen
=2: Aperturkaesten ausserhalb, Enveloppen gelb gefuellt.
=3: Aperturkaesten wie bei 1, aber gelb gefuellte Enveloppen
LOES
Mit LOES wird das Bild, das man gerade auf dem Graphik-Schirm sieht,
geloescht. Das koennte man zwar auch mit der entsprechenden Taste
machen, dann weiss das Programm aber nichts davon und zeichnet das
naechste Mal keine neuen Aperturkaesten oder Achsenkreuze. Auf den so
gewonnenen freien Bildschirm kann man dann mit ==>PENV Enveloppen oder
mit ==>PELL die Ausgangsellipsen oder mit ==>PAKZ die Akzeptanz des
Systems oder mit ==>PSUR die Draufsicht auf das System zeichnen.
PELL
Mit PELL stellt man auf dem Bildschirm, vorausgesetzt er kann Graphik,
die Ellipsen am Ausgang des Systems dar, das Ende ist dabei durch
==>TEIL gegeben. Ruft man PELL zum ersten Mal auf oder hat man zuvor
==>LOES oder ==>PENV gesagt oder hat man die Achsenlaengen veraendert
(==>AXEN), so werden die Koordinaten-Achsen gezeichnet und die
Skalierung festgelegt. Alle weiteren Aufrufe malen einfach in das
vorhandene Bild hinein.
Das Bild wird mit ==>LOES geloescht oder mit ==>PENV durch Enveloppen
ersetzt. Mit ==>DELP kann man bei einer Folge von Aufrufen die zuletzt
erzeugte Kurve selektiv loeschen. Das Loeschen ist nicht sofort
sichtbar, sondern erst bei einem Refresh des Bildschirm mit ==>PAGE.
Die Definition der logischen Achsenlaengen erfolgt mit ==>AXEN.
Welche Ebenen geplottet werden, kann mit ==>PMOD festgelegt werden, aber
auch Cursor-Eingaben in ==>FIXI bleiben fuer PELL wirksam.
FAKZ
Mit FAKZ kann man Fitbedingungen derart erzeugen, dass die
Ausgangsellipsen aehnlich in eine beliebige vorgegebene Akzeptanz
abgebildet werden. Zweck der Anweisung ist es, an ein Folgesystem
optimal anpassen zu koennen. Voraussetzung ist natuerlich, dass man
zuvor mit ==>KAKZ oder ==>GETA ueberhaupt eine Akzeptanz definiert hat.
Ab 5.07: Alternativ dazu werden sechs Fit-Bedingungen vom Typ "104 n"
erzeugt, falls man mit ==>KAKZ oder ==>GETA die Definition eines Punktes
in absoluten Koordinaten verlangt bzw. erwischt hat.
FDWN
Alle Fitbedingungen werden um eine Zeile nach unten zyklisch
vertauscht; die sechste kommt also in die erste Zeile. Damit kann man
bei weniger als sechs Variablen die Auswahl der aktiven aus den sechs
moeglichen Fitbedingungen veraendern; vgl ==>ASOL, ==>FSTD, ==>KSOL.
MODE
Mit MODE wird eine Statuszeile ausgegeben, die bei einem HP-Terminal
ohnehin oben vorhanden ist. Die Bedeutung der Angaben ist folgende:
GANZ/TEIL - System wird ganz/teilweise gerechnet, Nr des letzten Ele-
mentes in (); siehe ==>GANZ, ==>TEIL.
ELLI/EINZ - Es wird gerade mit Ellipsen/Einzelteilchen gerechnet;
==>ELLI, ==>EINZ.
DIM4/DIM6 - Dimension der Abbildungsmatrizen; ==>DIM4, ==>DIM6.
PNUL/PREL - Art der Umrechnung bei Aenderung der Teilchenart bzw.
-geschwindigkeit; ==>PNUL, ==>PREL.
FIT1/FIT2 - Angabe, welcher Satz Fitbedingungen aktiv ist, dahinter in
Klammern die Zahl der Fitbedingungen; ==>FIT1, ==>FIT2.
EXPA/KOMP - Angabe, ob das System normal/komprimiert ist; nur fuer
Kreisbeschleuniger interessant; ==>EXPA, ==>KOMP.
I=0 / I>0 - Rechnung ohne/mit Beruecksichtigung der Raumladung; ==>KRAU
EX, EY - Emittanzen am Eingang des Systems in mm*mrad; ==>KEMI.
A, Z, B - Masse, Ladung und Teilchengeschwindigkeit (%) am Eingang
des Systems; ==>KART, ==>KBET.
PUTM
Mit PUTM kann man die Abbildungsmatrix des aktuellen Systems, ggf.
durch ==>TEIL begrenzt, in einen Zwischenspeicher schreiben, der 10
solcher Matrizen fasst. Die Dimension richtet sich nach ==>DIM4 bzw.
==>DIM6.
In einem zweiten Schritt kann man diesen Zwischenspeicher auch in
eine Datei bringen, wo er fuer spaetere Verwendung aufgehoben wird; da
passen 50 solcher Zehnerbuendel rein, insgesamt also 50 Matrizen.
Gelesen wird aus dieser Datei mit ==>GETM. Die Matrizen koennen dann
wieder Bestandteile von optischen Systemen sein (Elementtyp 12).
Anwendungsbeispiel: Heute: ...,PUTM,5,PUTM,128,STOP.
Morgen: ...,GETM,128,KELE,7,3,5,*,...
Das Gegenstueck zu PUTM ist ==>GETM.
Eingaben dazu: Wo sollen die Matrizen hin:
Die einzugebende Zahl kann drei verschiedene Bedeutungen haben:
-> =0: Die Abbildungsmatrix wird auf "Karten" ausgegeben (PUNCH.DATA).
-> Zwischen 1 und 10: Die Abbildungsmatrix kommt an die entsprechende
Stelle im Zwischenspeicher.
-> Zwischen 101 und 150: Der Zwischenspeicher wird in den
entsprechenden Satz der Matrizendatei geschrieben.
PUTS
Mit PUTS kann man die Strahlparameter, die man zuvor irgendwann mit
==>SAVS zwischengespeichert hat, wieder woanders hin zwischenspeichern,
wo dann allerdings 10 solcher Parametersaetze reinpassen; etwas
kompliziert, naja.
In einem zweiten Schritt kann man diesen Zwischenspeicher auch in
eine Datei bringen, wo er fuer spaetere Verwendung aufgehoben wird; da
passen 50 davon rein. Gelesen wird aus dieser Datei mit ==>GETS, und der
Inhalt kann mit ==>LESS wieder als Eingangsstrahl benutzt werden.
Anwendungsbeispiel: Heute: ...,SAVS,PUTS,3,PUTS,111,...
Morgen: ...,GETS,111,GETS,3,LESS,...
Das Gegenstueck zu PUTS ist ==>GETS.
Eingaben dazu: Wo soll das Ellipsoid hin:
Die einzugebende Zahl kann drei verschiedene Bedeutungen haben:
-> =0: Der Ausgangs-Strahl wird auf "Karten" ausgegeben (PUNCH).
-> Zwischen 1 und 10: Der mit ==>SAVS zwischengespeicherte Strahl am
Ausgang kommt an die entsprechende Stelle im Zwischenspeicher.
-> Zwischen 101 und 150: Der Zwischenspeicher wird in den
entsprechenden Satz der Strahldatei geschrieben.
PUTA
Mit PUTA wird die Akzeptanz eines nachfolgenden System, die man z.B.
mit ==>KAKZ veraendert hat, in einen Zwischenspeicher geschrieben, der
10 davon aufnehmen kann. Diese Akzeptanzen stammen meist von anderen
Programmen und haben nichts mit der echten Akzeptanz des aktuellen
Systems zu tun. Vielleicht aendert sich das noch mal; schoen waere es
ja.
Ab 5.07: In gleicher Weise werden auch Punkt-Definitionen, die im
selben Feld stehen, bearbeitet.
In einem zweiten Schritt kann man diesen Zwischenspeicher auch in
eine Datei bringen, wo er fuer spaetere Verwendung aufgehoben wird; da
passen 50 davon rein. Gelesen wird aus dieser Datei mit ==>GETA.
Verwenden kann man diese Gebilde dann zur Erzeugung von Fitbedingungen
(==>FAKZ).
Anwendungsbeispiel: Heute: ...,KAKZ,PUTA,7,PUTA,150,...
Morgen: ...,GETA,150,GETA,7,FAKZ,RECH,...
Das Gegenstueck zu PUTA ist ==>GETA.
In der spanischen Version sollte diese Anweisung nur hinter
vorgehaltener Hand benutzt werden.
Eingaben dazu: Wo soll die Akzeptanz hin:
Die einzugebende Zahl kann drei verschiedene Bedeutungen haben:
-> =0: Der Akzeptanz wird auf "Karten" ausgegeben (PUNCH).
-> Zwischen 1 und 10: Die mit ==>KAKZ u.U. modifizierte Akzeptanz eines
Folgesystems kommt an die entsprechende Stelle im Zwischenspeicher.
Statt einer Akzeptanz koennen das ab 5.07 auch absolute Koordinaten
eines Punktes im Raum sein.
-> Zwischen 101 und 150: Der Zwischenspeicher wird in den
entsprechenden Satz der Akzeptanzendatei geschrieben.
GETM
Mit GETM kann man aus der Matrizendatei einen von 50 Saetzen
einlesen, der wiederum 10 Matrizen enthaelt (==>PUTM). Diese werden in
das aktuelle optische System eingefuegt, wann immer ein Element vom Typ
12 mit einer Zahl zwischen 1 und 10 an der 3. Stelle (==>AELE)
auftaucht.
Anwendungsbeispiel: Heute: ...,PUTM,5,PUTM,128,STOP.
Morgen: ...,GETM,128,KELE,nn,3,5,*,...
Das Gegenstueck zu GETM ist ==>PUTM.
Eingaben dazu: Woher kommen die Matrizen:
Die einzugebende Zahl bezeichnet die Nummer eines Satzes in der
Matrizendatei und muss zwischen 101 und 150 liegen.
GETS
Mit GETS kann man aus der Strahldatei (ORKUSE) einen von 50 Saetzen
einlesen, der seinerseits 10 Saetze von Strahlparametern enthaelt.
Einer von diesen kann wiederum mit GETS in einen kleinen
Zwischenspeicher geschafft werden, von wo er mit ==>LESS in das aktuelle
System vorne eingespeist werden kann; kompliziert, aber man gewoehnt
sich dran.
Anwendungsbeispiel: Heute: ...,SAVS,PUTS,3,PUTS,111,...
Morgen: ...,GETS,111,GETS,3,LESS,...
Das Gegenstueck zu GETS ist ==>PUTS.
Eingaben dazu: Woher kommt das Ellipsoid:
Die einzugebende Zahl kann zwei verschiedene Bedeutungen haben:
-> Zwischen 101 und 150: Ein entsprechender Satz der Strahldatei wird
gelesen und kommt in den Zwischenspeicher.
-> Zwischen 1 und 10: Der entsprechende Teil des Zwischenspeichers kommt
in den kleinen Zwischenspeicher und kann mit ==>LESS geholt werden.
GETA
Mit GETA kann man aus der Akzeptanzendatei (ORKUSA) einen von 50
Saetzen einlesen, der seinerseits 10 Akzeptanz-Definitionen enthaelt.
Eine von diesen kann wiederum mit GETA als Akzeptanz eines nachfolgenden
Systems definiert werden. Damit kann man dann Fitbedingungen mit ==>FAKZ
erzeugen oder die Werte ggf. mit ==>KAKZ veraendern. Die Daten stammen
im allgemeinen von anderen Programmen und haben nichts mit den echten
Akzeptanzen von hier behandelten Systemen zu tun.
Ab 5.07: In gleicher Weise werden auch Punkt-Definitionen, die im
selben Feld stehen, bearbeitet.
Anwendungsbeispiel: Heute: ...,KAKZ,PUTA,7,PUTA,150,...
Morgen: ...,GETA,150,GETA,7,FAKZ,RECH,...
Das Gegenstueck zu GETA ist ==>PUTA.
Eingaben dazu: Woher kommt die Akzeptanz:
Die einzugebende Zahl kann zwei verschiedene Bedeutungen haben:
-> Zwischen 101 und 150: Ein entsprechender Satz der Akzeptanzendatei
(ORKUSA) wird gelesen und kommt in den Zwischenspeicher.
-> Zwischen 1 und 10: Der entsprechende Teil des Zwischenspeichers wird
als Akzeptanz eines Folgesystems angesehen und kann mit ==>KAKZ oder
==>FAKZ bearbeitet werden. Statt einer Akzeptanz koennen das ab 5.07
auch absolute Koordinaten eines Punktes im Raum sein.
LESM
Mit LESM kann man einen von 18 verschiedenen Saetzen von
Quadrupoleinstellungen aus der Versorgungsdatei einlesen, falls man ihn
irgendwann vorher mit ==>SAVM dorthin gebracht hat. Dabei bekommen nur
die Quadrupole neue Werte, die vor dem mit ==>TEIL definierten Ende
liegen, ausserdem werden mit ==>LAZY ausgeschaltete nicht
beruecksichtigt. Die Speicherung dieser Daten erfolgt fuer jeden
Datensatz getrennt, man kann also kaum etwas durcheinander bringen.
Eingaben dazu: Nr der zu lesenden Modifikation:
Man soll eine Zahl zwischen 1 und 18 eingeben, die die Nummer der
gewuenschten Einstellungs-Modifikation bezeichnet; Voraussetzung ist,
dass irgendwann vorher ==>SAVM bei diesem Datensatz gesagt wurde.
SAVM
Mit SAVM kann man bis zu 18 verschiedene Saetze von
Quadrupoleinstellungen (Modifikationen) zu dem aktuellen Datensatz in
die Versorgungsdatei schreiben. Das ist die Voraussetzung fuer spaetere
erfolgreiche Verwendung von ==>LESM. Es werden auch alle Daten von
Quadrupolen jenseits des mit ==>TEIL definierten Endes abgespeichert;
sicher ist sicher.
Eingaben dazu: Quadrupoleinstellungen speichern unter Nr:
Man soll eine Zahl zwischen 1 und 18 eingeben, die die Nummer der
gewuenschten Einstellungs-Modifikation bezeichnet; Voraussetzung fuer
spateres erfolgreiches ==>LESM bei diesem Datensatz.
DELE
Mit DELE wird ein Bereich von optischen Elementen geloescht und der
Rest zusammengeschoben. Will man sich die Moeglichkeit offen lassen, sie
spaeter nochmal zum Leben zu erwecken, sollte man besser ==>LAZY
verwenden, die bekommt man dann mit ==>BUSY wieder. Informationen, wie
das System anschliessend aussieht, liefert ==>AELE. Ein selektives
Loeschen aller ausgeschalteter Elemente und derer jenseits von ==>TEIL
ist mit ==>KILL moeglich.
Eingaben dazu: Löschen von Element-Nr, bis Nr:
Einzugeben sind die Nummer (==>AELE) des ersten und letzten Elementes
der Folge der zu loeschenden (nicht vertippen!). Eingabe eines "*"
laesst alles beim alten.
Regel: Wird die 2. Zahl nicht eingegeben, wird sie gleich der 1. ges.
IELE
Mit IELE kann man im Gegensatz zu ==>KELE einzelne Werte von
optischen Elementen nur inkrementieren, statt sie neu zu setzten. Das
ist ganz gut, wenn man eine Strecke etwas laenger oder einen Quadrupol
etwas kraeftiger machen will. Natuerlich geht das nicht bei der
Typenangabe oder dem Variationscode, das waere ja Bloedsinn.
Eingaben dazu: Element-Nr, Parameter-Nr, Inkrement:
Gefordert ist die Eingabe von 3 Werten:
(1) Die Nummer des Elementes wie bei ==>AELE zu sehen
(2) Die Position des zu inkrementierenden Parameters (4 bis 7)
(3) Der Zuschlag zu dem Wert, der gerade dort steht.
Die Eingabe eines "*" bewirkt keine Aktion.
ISOL
Mit ISOL kann man im Gegensatz zu ==>KSOL einen Sollwert
inkrementieren. Da sich das natuerlich auf genau eine Position in der
Darstellung bei ==>ASOL bezieht, naemlich die dritte, braucht man nur
die Zeilennummer anzugeben.
Anwendung: Man hat z.B. einen zu scharf fokussierten Strahl
am Ende verlangt und bei ==>RECH Schiffbruch erlitten, dann kann man so
die Anforderungen etwas reduzieren.
Eingaben dazu: Sollwert-Nr, Sollwert-Inkrement:
Einzugeben sind 2 Zahlen:
(1) Die Nummer der zu inkrementierenden Fitbedingung (==>ASOL)
(2) Der Zuschlag zum aktuellen Sollwert.
KORE
Mit KORE werden zwei optische Elemente miteinander derart verknuepft,
dass alle mit ==>IELE zu einem der beiden addierten Werte auch zu dem
anderen addiert oder von diesem subtrahiert werden.
Bei ==>AELE auessert sich eine solche Verknuepfung durch das
Auftauchen einer dreistelligen Zahl in der ersten Spalte. Der ganze
Mechanismus ist im Augenblick noch nicht ganz befriedigend, da jedes
Einfuegen oder Loeschen von Elementen alles durcheinander bringt; daher
muss man in diesem Falle einfach die Anweisung KORE nochmal wiederholen.
Erweiterungen:
Ist das zweite Element vom Typ 38 (Grenzwerte), dann wird die
Grenzwertueberwachung fuer das erste Element aktiviert; man kann
mehrere Elemente an einen Grenzwrt anbinden.
Ist das zweite Element vom Typ 39 (Funktionsgenerator), dann wird die
Staerke des ersten Elementes (Quadrupol oder Multipol) zeitlich variiert
Man kann mehrere Elemente an einen Funktionsgenerator anbinden.
Eingaben dazu: Element-Nr, gekoppelt mit Nr:
Einzugeben sind die Nummern der beiden zu verknuepfenden Elemente;
hat dabei das zweite ein negatives Vorzeichen, werden alle Additionen
zum ersten vom zweiten abgezogen. Ein "*" bewirkt, dass nichts passiert.
CONT
CONT dient zur Herstellung (fast) unendlicher Schleifen unter
Benutzung einer Anweisungsprozedur (==>#PRO). Dazu sind zwei Dinge
noetig: erstens muss irgendwo am Anfang entweder ==>IELE oder ==>ISOL
stehen, zweitens muss am Ende der Prozedur CONT stehen. Dieses bewirkt,
dass die Abarbeitung der Prozedur bei diesem IELE bzw ISOL
wiederaufgenommen wird; wenn man will, mit geaendertem Betrag des
Inkrementes.
Anwendung koennte z.B. das langsame Herantasten an Grenzen der
Loesbarkeit von Problemen sein, wenn in der Prozedur auch noch ein
==>RECH vorkommt, oder das systematische Durchspielen eines Parameters,
um sich einen Ueberblick ueber die System-Eigenschaften zu verschaffen.
MOVE
Mit MOVE werden Teile der gerade bearbeiteten Struktur an anderer
Stelle derselben Struktur eingefuegt, wobei die Elemente an der alten
Stelle geloescht werden im Gegesatz zu ==>COPY. Damit kann man schoen
einfach komplizierte Systeme umbauen.
Eine andere Moeglichkeit ist, sie mit ==>LINK aus einem anderen
Datensatz zu klauen, falls sie dort schon sind. Voellig neue Elemente
werden mit ==>INPU eingegeben, nur Elemente loeschen kann man mit
==>DELE.
Eingaben dazu: Von Element-Nr, bis Nr, hinter Nr bringen:
Es wird die Eingabe von drei Zahlen erwartet:
(1) und (2): Erstes und letztes Element des zu versetzenden Bereichs.
(3) Die Nummer desjenigen Elements, hinter dem die zu versetzenden
eingefuegt werden sollen.
Achtung: (3) sollte nicht zwischen (1) und (2) liegen; ist ja ganz klar.
Regeln: Wird die 2. Zahl nicht eingegeben, wird sie gleich der 1. ges.
Wird die 3. Zahl nicht eingegeben, wird das mit ==>TEIL
definierte letzte Element angenommen.
Nach Ausfuehrung von MOVE ist das Ende des Systems beim letzten
versetzten Element.
ATYP
Der Stahlquerschnitt am Ausgang des Systems kann im Prinzip auch mit
einer anderen Einstellung der letzten beiden Quadrupole und einem
anderen Strahlverlauf danach realisiert werden. Es gibt fuer eine
gegebene Polung der Quadrupole genau vier verschiedene Moeglichkeiten.
Welche gera- de realisiert ist, wird durch ATYP ausgegeben. Die Ausgabe
"F01" z.B. bedeutet: Der letzte Quadrupol ist horizontal fokussierend
(F), in der (x,x')-Ebene ist der Strahl ziemlich parallel, er koennte
mehr eingeschnuert sein (0), in der (y,y')-Ebene ist er ziemlich
eingeschnuert, er koennte paralleler sein (1). Die Zahlen dahinter geben
jeweils das Element E(1,2) bzw. E(3,4) des Ausgangsellipsoids an und die
Werte, die bei gleichem Strahlquerschnitt auch da sein koennten.
BTYP
Der Stahlquerschnitt am Ausgang des Systems kann im Prinzip auch mit
einer anderen Einstellung der letzten beiden Quadrupole und einem
anderen Strahlverlauf danach realisiert werden. Es gibt fuer eine
gegebene Polung der Quadrupole genau vier verschiedene Moeglichkeiten.
Welche gerade realisiert ist, wird durch BTYP ausgegeben. Die Ausgabe
"F01" z.B. bedeutet: Der letzte Quadrupol ist horizontal fokussierend
(F), in der (x,x')-Ebene ist der Strahl ziemlich breit, er koennte
schmaler sein (0), in der (y,y')-Ebene ist er ziemlich schmal, er
koennte breiter sein (1). Die Zahlen dahinter geben jeweils das Element
E(1,1) bzw. E(3,3) des Ausgangsellipsoids an und die Werte, die bei
gleicher Neigung der Ellipsen auch da sein koennten.
KILL
Mit KILL werden alle optischen Elemente, die mit ==>LAZY
ausgeschaltet wurden, und alle, die hinter dem mit ==>TEIL definierten
Ende liegen, endgueltig geloescht und der Rest zusammengeschoben
(umnumeriert).
Eine andere Moeglichkeit, Elemente zu loeschen, ist die Verwendung
von ==>DELE, Informationen ueber den aktuellen Stand des Systemaufbaus
bekommt man mit ==>AELE.
NJOB
Mit NJOB wird das aktuelle optische System umbenannt, und man kann
ihn unter dem neuen Namen auch in die Versorgungsdatei abspeichern mit
==>SAVE. Man erhaelt also insgesamt ein Duplikat der vorhandenen
Struktur. Zu beachten ist, dass ab jetzt alle Prozeduren (==>LESP) und
Modifikationen (==>LESM) auch unter diesem Namen gesucht werden.
Eingaben dazu: Neuer Name des optischen Systems (Apostr!):
Da soll einfach nur ein vierstelliger Name in Apostrophen eingegeben
werden; kann man gar nicht falsch machen!
AUFL
Mit AUFL werden die phasenrauemliche und die geometrische
Impulsaufloesung eines Systems mit Dipolmagneten ausgegeben.
Der Reziprokwert der ersten Zahl ist also dasjenige dp/p, bei dem die
Phasenellipsen zum Sollimpuls und zum falschen Impuls im Phasenraum
gerade aneinander stossen.
Die zweite Zahl ist die geometrische Aufloesung an dieser Stelle, die
man z.B. mit einem Schlitz realisieren koennte. Sie ist stets kleiner
oder gleich der phasenraeumlichen Aufloesung.
KRND
Man kann mit KRND die beiden Randfeldkoeffizienten bei Dipolmagneten
definieren, die in die Kantenfokussierung in der Vertikalen bei
endlicher Apertur eingehen. Naeheres dazu sollte man in der Beschreibung
von TRANSPORT nachlesen. Defaults sind hier jedenfalls fuer ein
Rogowski-Profil angenommen. Realistischere Bessere Werte bekommt man
durch genaue Vermessung des Dipolrandfeldes.
Mit ==>AKOP kann man nachsehen, mit welchen Werten man gerade rechnet.
Eingaben dazu: Randfeld-Koeffizienten für Dipole:
Einzugeben sind die Randfeldkoeffizienten analog zu TRANSPORT, man
kann sie durch Auswertung von Feldmessungen gewinnen.
TSTD
Mit TSTD kann man Einzelteilchen-Koordinaten am Eingang des Systems
berechnen, die am Ende zu ganz bestimmten Werten fuehren, also eine Art
Ruecktransformation durchfuehren. Waehlt man ein Teilchen, das am Ende
die Strahlachse schneidet, so findet man in der Darstellung der
Enveloppe alle Positionen, die auf das Ende scharf abgebildet werden,
als Schnittpunkte der Teilchenbahn mit der Achse. Ebenso kann man alle
Stellen herausfinden, von denen aus eine Punkt-zu-parallel-Abbildung zum
Ende besteht, indem man Startkoordinaten so waehlt, dass die Bahn am
Ende parallel verlaeuft. Anwendung: Bestimmung von geeigneten Positionen
fuer Schlitze in einem Stahlfuehrungs-System.
Eingaben dazu: Standardteilchen-Typ in x, y:
Einzugeben sind zwei Zahlen, eine fuer x, eine fuer y; Bedeutung:
0 - Nullteilchen, 1 - schneidet am Ausgang die Achse, 2 - parallel da
3 - Marke am Umfang der Startellipse zur Verfolgung der Drehung.
PAKZ
Mit PAKZ wird, falls man einem Graphik-Terminal sitzt, die echte
Akzeptanz des aktuellen System geplottet, und zwar hinter dem mit
==>TEIL bezeichneten Element. Ggf. wird eine schon vorhandene Enveloppe
geloescht (==>PENV), waehrend PAKZ mit evtl. vorhandenen Ellipsen
(==>PELL) kompatibel ist. Loeschen kann man den Schirm mit ==>LOES. Zu
beachten ist, dass man nur dann etwas sehen kann, wenn als Plot-Mode
(x,x') oder (y,y') definiert ist (==>PMOD), anderenfalls wird die
Ausgabe unterdrueckt, weil sie Unfug waere.
PAGE
Mit PAGE wird der Graphikschirm geloescht und die Graphik neu erzeugt.
Frueher gab es an Speicherdisplays (Tektronix 4014) eine Taste dieses
Namens, mit der man den ganzen Bildschirm loeschen konnte. Das ist aber
alles Schnee von gestern ...
ggf. unter Beruecksichtigung zwischendurch gegebener ==>DELPs. Das ist
z.B. bei Speicherdisplays (Tektronix 4014) noetig, weil man sich da
mit Alpha-Dialog die Graphik verschmiert und nicht selektiv loeschen
kann. Auch vor Benutzung von ==>HCOP kann man sich ueber den echten
Bildinhalt informieren.
DELP
Mit DELP kann man von einer Folge von ==>PENV oder ==>PELL-Aufrufen
das letzte Teilbild selektiv loeschen. - Fuer Benutzer in einem Museeum:
Falls man an einem Speicherdisplay (Tektronix 4014) sitzt, muss man
allerding ==>PAGE sagen, um davon was zu sehen, weil der ja nur immer
alles loeschen kann.
SYNC
Durch SYNC wird die Berechnung von diversen Groessen veranlasst, die
bei der Untersuchung von Synchrotrons interessant sind: Spur der Matrix,
Q-Werte, Amplitudenfunktion, geschlossene Sollbahn, Transitionsenergie,
Chromatiziateten. Diese nur ohne Raumladung, das wuerde sonst ewig lange
CPU-Zeiten kosten.
Falls sich die Struktur als stabil erweist, werden die
Amplitudenfunktionen in das Eingangsellipsoid eingesetzt, und die
geschlossene Sollbahn ersetzt die sonst mit ==>SOLB definierten Werte.
Will man ganz bestimmte Q-Werte haben, so empfiehlt sich ==>TUNE; da
ist auch gleich ein Fit mit enthalten.
BLOW
Mit BLOW wird nicht der Computer gesprengt, sondern die
Eingangs-Emittanzen so vergroessert (oder verkleinert), dass bei
entsprechender aehnlicher Vergroesserung der Ellipsen der Strahl gerade
noch in die Aperturen passt. Da kann man sehen, wie viele Reserven man
noch hat.
ZRUK
Bei ZRUK wird angenommen, dass das Eingangsellipsoid samt Sollbahn
den Stahl statt am Eingang ploetzlich am Ausgang (==>TEIL oder ==>GANZ)
beschreibt, und es wird durch das System rueckwaerts transformiert, wo
es ein neues Eingangsellipsoid samt Sollbahn erzeugt.
Das kann man z.B. zur Auswertung von Emittanzmessungen gebrauchen;
also etwa: TEIL,28,KELL,(Werte),SOLB,(Werte),ZRUK,PENV,...
IVAR
Mit IVAR wird eine Variable fuer Fitrechnungen (==>VSTD)
inkrementiert. Das kann man benutzen, wenn das Programm zwar eine
Loesung findet, aber nicht die, die man haben will, und von der man
sicher ist, dass sie auch existiert. Auch um bessere Startwerte fuer
==>RECH zu bekommen, ist IVAR zu gebrauchen. Der Vorteil gegenueber
==>IELE liegt darin, dass alle Verkopplungen von variablen Elementen
hier genauso wie bei RECH beruecksichtigt werden.
Eingaben dazu: Variablen-Nr, Inkrement:
Einzugeben sind zwei Zahlen:
(1) Die Nummer der Variablen wie bei ==>AVAR zu sehen
(2) Was zu dieser Variablen zu addieren ist.
KZUF
Mit KZUF wird der eingebaute Zufallszahlengenerator auf einen neuen
Startwert gesetzt. Verwendet wird dieser Generator zur Erzeugung
statistischer Justierfehler; da steht mehr in der Programmbeschreibung.
Eingaben dazu: Startwert des Zufallszahlen-Generators:
Da kann man ruhig eine ziemlich große positive Zahl eingeben,
welche, das ist ziemlich egal. Zum Reproduzieren von Rechnungen sollte
man sie sich aber merken.
PMOD
Mit PMOD wird erstens bestimmt, welche Ebenen beim Plotten von
Enveloppen mit ==>PENV oder auch spaeter auf dem Plotter mit ==>FINI
dargestellt werden sollen, wobei im letzten Falle ein temporaeres
Ueberschreiben dieser Vereinbarung moeglich ist.
Ferner wird hier fuer ==>PELL und ==>FIXI definiert, welche
Unterebenen des Phasenraumes geplottet werden sollen. Das kann man
uebrigens in ==>FIXI noch mit dem Cursor aendern.
Schießlich kann man festlegen, welche Art von Wolkenteilchen
(==>WOLKE) bei ==>PELL gemalt werden soll, also stabile, verlorene oder
alle Teilchen.
Eingaben dazu: Enveloppen-Mode,Ebenen,Wolkenmode:
Die erste geforderte Zahl bewirkt folgende Ebenenwahl fuer Enveloppen:
1 - (x,y) ohne Sollbahn,
2 - (x,-x) mit Sollbahn
3 - (y,-y) mit Sollbahn
4 - (x+|x-Soll|,y+|y-Soll|)
5 - beta-x,beta-y,my-x,my-y in m und Grad
6 - my-x,my-y in Grad
7 - (z,-z)-Enveloppe (Bunchlaenge) einschliesslich Sollbahn
Die zweite und dritte Zahl geben an, welche Ebenen bei ==>PELL oder
==>FIXI geplottet werden sollen, das Vorzeichen legt zusaetzlich fest,
ob der Eingang (negativ) oder der Ausgang (positiv) des Systems gemeint
ist. Mit der Hunderterstelle =1 wird der bunte Phasenplotmode bei
==>WOLKE im ==>PUMA-Mode eingeschaltet:
Erste Stelle (1...6): x-Achse - Zweite Stelle (1...6): y-Achse, 0=Profil
Beispiele: ..,12,34 : (x,x')- und (y,y')-Ebene
..,13,24 : (x,y)- und (x',y')-Ebene
..,13,0 : (x,y)-Ebene und sonst nichts
..,12,10 : (x,x')-Ebene und x-Strahlprofil (==>PUMA)
..,-12,12: (x,x')-Ebene am Eingang und Ausgang
..,13,56 : Strahlquerschnitt und (z,dp/p) am Ausgang
..,-113,113,1: bunter Plot des Stahlquerschnitts am Eingang
und Ausgang des Systems; nur stabile Teilchen
Die vierte Zahl bestimmt, welche Wolkenpunkte gemalt wrden sollen:
1 - nur die stabilen Punkte
2 - nur die Punkte, die irgendwo verloren gegangen waren.
3 - alle Teilchen der Wolke durcheinander
NPER
Mit NPER legt man fuer die Berechnung von Synchrotrons fest, welche
Elemente der Struktur eine Normalperiode beschreiben und aus wie vielen
Superperioden die ganze Maschine besteht. Damit ist eine eindeutige
Berechnung der Q-Werte mit ==>SYNC und eine eindeutige Abstimmung der
Maschine mit ==>TUNE moeglich.
Diese Definition wird bei ==>SAVE mit abgespeichert. Laesst man sie
weg, wird als Default angenommen, die ganze Struktur sei Normalperiode
und Maschine zugleich.
Mit ==>AKOP kann man sich informieren, wie die aktuelle Definition ist.
Eingaben dazu: Normalperiode von Nr, bis Nr:
Einzugeben sind die Nummer (==>AELE) des ersten und letzten Elements,
aus denen eine Normalperiode des Synchrotrons besteht, ferner die Anzahl
der Superperioden, aus denen die ganze Maschine besteht.
KOMP
KOMP - Komprimieren der Maschine zu einer Folge von Matrizen und
Multipolen. Aus einer Superperiode werden etliche Umlaeufe produziert.
Umkehrung: ==>EXPA. Die Matrizen bekommen eine Laenge, die der Summe
aller komprimierten Elemente entspricht. Zweck der Anweisung ist das
Einsparen von gewaltigen Mengen von CPU-Zeit bei Untersuchungen von
Synchrotrons mit Transformationen ueber sehr viele Umlaeufe. Daher gehen
==>AFIX und ==>FIXI nur, wenn man zuvor KOMP gesagt hat. Die
urspruengliche Struktur aus Dipolen, Quadrupolen etc. liegt
nach KOMP abgeschaltet hinter der komprimierten. Damit man keinen
Unfug damit machen kann, sind ==>BUSY und ==>LAZY so wie auch ==>COPY,
==>MOVE, ==>DELE bis zum naechsten ==>EXPA abgeklemmt.
Mit ==>AKOP kann man sich informieren, wie die aktuelle Definition
ist. Es ist vorgesehen, spaeter an dieser Stelle noch anzugeben, fuer
welche Ebenen des Phasenraumes man sich interessiert; damit geht es dann
wieder ein wenig schneller und besser, und auch die Energie-Phasen-Ebene
wird man dann bearbeiten koennen.
Da duenne Dipole und Quadrupole zu den linearen Elementen zaehlen,
werden sie, wenn sie als Var-Code eine 0 haben, wie normale lineare
Elemente der laufenden Matrix einverleibt. Will man also in ==>FIXI
solche Elemente zum Spielen benutzen, dann muss man ihnen irgendeine
Zahl ungleich 0, z.B. 10 als Var-Code verpassen; damit passiert nix.
Eingaben dazu: Umläufe, Mode:
Das System aus Multipolen und Matrizen stellt immer einen Umlauf dar,
aber alle Transformationen gehen ueber die einzugebende Zahl von
Umlaeufen.
EXPA
Aus einer Folge von Matrizen und Multipolen (==>KOMP) oder einer
Folge von Drifstrecken und Kicken (==>DRAHT) wird wieder die
ausfuehrliche Originalstruktur.
Wenn man vorher mit ==>KOMP eine solche komprimierte Struktur erzeugt
hat, werden inzwischen veraenderte Multipole dabei uebernommen. Mit
==>DRAHT reduzierte Strukturen werden einfach wiederhergestellt.
Die urspruengliche Struktur aus Dipolen, Quadrupolen etc. liegt
abgeschaltet hinter der komprimierten; damit man keinen Unfug damit
machen kann, sind ==>BUSY und ==>LAZY so wie auch ==>COPY,
==>MOVE, ==>DELE bis zum naechsten ==>EXPA abgeklemmt.
Mit ==>AKOP kann man sich informieren, wie die aktuelle Definition ist.
AXEN
Man kann die Maximalwerte der Koordinatenachsen beim Plotten entweder
vom Programm jedesmal berechnen lassen (===> Das geht noch nicht!), oder
die gewuenschten Werte hier definieren. Diese Angaben sind auch
massgebend fuer den Abbruch der Transformation bei ==>AFIX oder ==>FIXI.
Bei ==>SAVE werden sie mit abgespeichert. Mit ==>AKOP kann man sehen,
womit man gerade zugange ist.
Eingaben dazu: Max.der 6 Koord.,Beta-Fkt:
Einzugeben sind die Maximalwerte der 6 Koordinaten (x,x',etc.) in
den ueblichen Einheiten, also mm, rad, ...
FIXI
Ziemlich starke Anweisung. Man muss vorher ==>KOMP gesagt haben,
sonst geht gar nichts. Mit dem Cursor werden die Startkoordinaten der
Sollbahn eingegeben. Dann kann man entweder unter staendiger Plotterung
auf einer Linie konstanter Hamilton-Funktion, im linearen Fall also
einer Ellipse, entlanglaufen, oder es wird versucht, von den
Startkoordinaten ausgehend einen Fixpunkt zu finden. Gelingt das, wird
er geplottet, ist er auch noch ein instabiler, werden noch beide
auslaufenden Separatrizes gezeichnet. Die Anzahl der erzeugten Punkte
kann vorher angegeben werden.
Es koennen auch Multipole so veraendert werden, dass der zuletzt
gefundene Fixpunkt den gleichen Abstand vom Nullpunkt hat wie der
Cursor. Auch die Zahl der Umlaeufe (wichtig fuer Fixpunktsuche) pro
Transformation kann veraendert werden.
Die Transformation wird, um Overflow zu vermeiden, abgebrochen, wenn
eine der Koordinaten der Sollbahn das fuenffache der Achsenlaenge beim
Plotten (==>AXEN) uebersteigt.
Eingaben dazu: Punkte,Umläufe,Separatrix-P.:
Hier sind zunaecht vorab folgende Daten einzugeben:
(1) Wie viele Punkte sollen auf einer Linie konstanter Hamilton-Funktion
berechnet werden oder sollen definierte Punktmengen erhalten?
(2) Ueber wieviele Umlaeufe soll die vorhandene Punktmenge weiter
transformiert werden?
(3) Falls ein instabiler Fixpunkt gefunden wurde, wie viele Punkte auf
den auslaufenden Separatrizes sollen berechnet werden?
Dann kommt der Cursor ins Spiel mit folgenden Moeglichkeiten:
"Mit_dem_Cursor_irgendwohin_hacken":
- Der gehackte Punkt ist Startpunkt einer wiederholten Trans-
formation ueber jeweils so viele Umlaeufe wie in ==>KOMP angegeben.
"Mit_dem_Cursor_ein_Icon_antippen": (Reihenfolge wie auf dem Display)
1. - * Das Programm kehrt in den Normalmodus zurueck (nicht vergessen!)
2. - Vergroessern bzw. ...
3. - ... verkleinern; dazu sind zwei Ecken des Quell- bzw. Zielbereichs
zu markieren.
4. - Definition eines Punktrasters oder eines ...
5. - ... Punktgitters (es muessen zwei Ecken markiert werden) oder ...
6. - ... eines Punkthaufens oder ...
7. - ... einer angepassten Ellipse; es muessen Mittelpunkt und ein
Punkt auf dem Umfang markiert werden oder ...
8. - ... einer Strecke (Anfang und Ende sind zu markieren).
Diese alle koennen mit Icon Nr.18 durch das System transformiert
und dargestellt werden oder mit Icon Nr.19 ein Vergleich zwischen
linearer und nichtlinearer Abbildung durchgefuehrt werden.
9. - Definition der anderen beiden Koordinaten des Startpunktes
10. - Fortsetzung der Transformation
11. - Fixpunkte suchen
12. - Den letzten Teil des Bildes loeschen.
13. - Den letzten Teil des Bildes wieedr malen.
Diese beiden Funktionen kann man belibig wiederholen; Spiel man!
14. - Das ganze Bild loeschen; ursprüngliche Skalierung herstellen.
15. - Das Bild nochmal malen
16. - Liste aller Punkte ausgeben (nur des letzten Teilbildes)
17. - Hardcopy machen
18. - Die mit Icon Nr.4 bis Nr.8 definierten Punktmengen transformieren
19. - Vergleich zwischen linearer und nichtlinearer Abbildung
20. - Den bereits gefundenen Fixpunkt etwa an die markierte Position
bringen; mit einem düennen Quadrupol oder einem ...
21. - ... Sextupol.
22. - Erzeugung eines "bar of charge" zur Simulation eines langsam
extrahierten Strahls; kann man dann mit ==>SAVS, ==>LESS in die
nachfolgende Strahlfuehrung stecken..
23. - Ausgabe dieser Erklaerungen.
Nicht vergessen: der Cursor-Mode wird durch Anklicken des Icons Nr.1
=============== links oben verlassen; sonst ist man verlassen.
OVER
Mit OVER werden Teile der gerade bearbeiteten Struktur an eine andere
Stelle derselben Struktur kopiert, wobei die dort vorhandenen Elemente
ueberschrieben werden im Gegensatz zu ==>COPY. Damit kann man schoen
einfach Quadrupole durch andere oder Dipole im Synchrotron durch
Driftstrecken ersetzen.
Eine andere Moeglichkeit ist, sie mit ==>LINK aus einem anderen
Datensatz zu klauen, falls sie dort schon sind.
Voellig neue Elemente werden mit ==>INPU eingegeben, nur Elemente
loeschen kann man mit ==>DELE.
Eingaben dazu: Kopieren von Nr, bis Nr, über Nr:
Es wird die Eingabe von drei Zahlen erwartet:
(1) und (2): Erstes und letztes Element des zu kopierenden Bereichs.
(3) Die Nummer des ersten Elements, das ueberschrieben werden soll.
Achtung: (3) sollte nicht zwischen (1) und (2) liegen; ist ja ganz klar.
Regeln: Wird die 2. Zahl nicht eingegeben, wird sie gleich der 1. ges.
Wird die 3. Zahl nicht eingegeben, wird das Element hinter dem
gerade letzten (==>TEIL) angenommen.
Nach Ausfuehrung von OVER ist das Ende des Systems beim letzten
kopierten Element.
MORD
Mit MORD wird festgelegt, bis welcher Ordnung Multipole, Element-Typ
21 oder 22, bei der Rechnung beruecksichtigt werden. Damit kann man z.B.
bei einem Synchrotron mit Sextupolen durch Eingabe einer 1 oder 2 der
Q-Wert der ungestörten Maschine feststellen, ohne daß man dazu die
Sextupole selbst abschalten muüßte.
Alle Multipole der entsprechenden Ordnung werden in jedem Falle
eingeschaltet. Die Eingabe einer negativen Zahl bewirkt zusatzlich die
Abschaltung aller Multipole anderer Ordnung.
Außerdem kann man festlegen, ob die Transformation durch Dipole
normal linear oder unter Benutzung trigonometrischer Funktionen
weitgehend exakt erfolgen soll. Diese Angabe kann lokal durch ein
Element vom Typ 16 8 geändert werden.
Eingaben dazu: Max. Ordnung v. Multipolen, Mode:
Einzugeben ist (1) die maximale Ordnung, bis zu der Multipole, Typ 21
22, bei der Rechnung beruecksichtigt werden, also z.B. 3 fuer:
Sextupole, aber keine Oktupole mehr. Ein * lae@t alles beim alten. Eine
negative Zahl schaltet zusaetzlich alle Multipole anderer Ordnung aus.
Außerdem (2) der Mode für die Transformation durch Dipole;
=0: linear, =1: mit trigonometrischen Funktionen.
AFIX
Mit AFIX wird ein Fixpunkt in der (x,x')- und (y,y')-Ebene gesucht
und falls er gefunden wurde, auf den Bildschirm ausgegeben. Dazu muss
natuerlich mindestens eine nichtlineare Linse vorhanden sein, Multipol,
Element-Typ 21,22, und die Berechnung bis zur entsprechenden Ordnung
zugelassen sein (==>MORD). Voraussetzung ist, dass die Maschine
komprimiert ist (==>KOMP); sonst wuerde man zu viel CPU-Zeit
verbrauchen.
Die Ordnung des Fixpunktes ist durch die bei KOMP angegebene Zahl
von Umlaeufen festgelegt, waehrend die Startkoordinaten fuer die Suche
mit ==>SOLB definiert werden koennen. Dass zusaetzlich noch 100 Punkte
auf den Separatrizes berechnet werden, merkt man nicht sofort, jedoch
bei der Druckerausgabe mit ==>FINI erscheint dann eine Liste aller
dieser Punkte.
Die Transformation wird, um Overflow zu vermeiden, abgebrochen, wenn
eine der Koordinaten der Sollbahn das fuenffache der Achsenlaenge beim
Plotten (==>AXEN) uebersteigt.
Falls man das Glueck hat, an einem Graphik-Terminal zu sitzen, ist es
empfehlenswert, ==>FIXI zu verwenden, da hier interaktive Graphik
moeglich ist.
ZYKL
Man kann mit ZYKL die Elemente des optischen Systems zyklisch
vertauschen, so dass es mit einem anderen Element beginnt. Anwendung:
bei Synchrotrons moechte man manchmal die charakteristischen Funktionen
(==>SYNC) an einer anderen Stelle des Rings sehen, oder man will die
Wirkungen von Multipolen z.B. bei Resonanz-Extraktion untersuchen
(==>FIXI).
Eingeben kann man:
-> Die Nummer des Elementes, mit dem das System anfangen soll; die
Elemente davor werden dann hinten angehaengt.
-> Den Abstand des neuen Systemanfangs vom Anfang dieses Elementes.
Hinweis: Die Nummern der Elemente (==>AELE) sind nachher natuerlich
andere.
Damit ist man ziemlich flexibel, da diese Angabe positiv oder negativ
und laenger als das Element sein kann. Beispiel: Der neue Anfang soll um
10 Meter verschoben werden. Eingabe: ZYKL,0,10000. Wenn man damit nicht
genau eine Grenze trifft, macht das nichts, weil das Element dann
entsprechend zerlegt wird. Damit als Folge solcher Zerlegungen dann
nicht lauter kleine Bruchstuecke entstehen, werden Elemente gleichen
Typs am Anfang und am Ende der Struktur zu einen zusammengefasst, bevor
sie neu arrangiert werden. Die oben als Beispiel angegebene Operation
kann man leicht mit ZYKL,10000,-10000 wieder rueckgaengig machen, wobei
die 10000 fuer eine Zahl groesser als die Zahl der Elemente steht.
Eingaben dazu: System beginnt mit Elem-Nr, deltaz ab da:
Einzugeben sind zwei Zahlen:
(1) Die augenblickliche Nummer des optischen Elmentes, mit das System
beginnen soll.
(2) Der Abstand des neuen System-Anfangs vom Anfang dieses Elementes.
Kann auch groesser als die Laenge des Elementes oder negativ sein;
MIRKO weiss schon, was damit gemeint ist.
Hinweis: Die Nummern der Elemente (==>AELE) sind nachher natuerlich
andere.
TAUS
Manche optische Systeme zeichnen sich durch eine Symmetrie-Ebene in
der Mitte (wo sonst) aus. Damit man sich Zeit und Arbeit beim Eingeben
der Daten spart, kann man mit ==>COPY die eine Haelfte eines solchen
Systems duplizieren und dann mit TAUS eine der beiden spiegeln. So
entsteht auf simple Weise eine symmetrische Struktur.
Sie hat den Vorteil, dass alle in Wirklichkeit vorhandenen Elemente
auch in den Daten vorhanden sind. Dadurch kann man kleine Fehler in der
Symmetrie leicht einfuegen oder unterschiedliche Wirkung der Raumladung
bei unsymmetrischem Strahlverlauf beruecksichtigen. Auf der anderen
Seite werden natuerlich lauter Sachen gerechnet, die man sich wegen der
Symmetrie eigentlich sparen koennte. Wenn man darauf nun sehr grossen
Wert legt, kann man statt dessen einen Block mit Elementen von Typ 13
definieren; das geht dann schneller.
Eingaben dazu: Reihenfolge umkehren von Elem-Nr, bis Elem-Nr:
Einzugeben sind 2 Zahlen, die 2 optische Elemente bezeichnen. Alle
dazwischen liegenden (incl.) werden in ihrer Reihenfolge vertauscht.
RKOF
Im zyklischen Beschleunigern (==>SYNC, ==>TUNE) treten bei gewissen
Kombinationen von Q-Werten Stopbaender auf, die durch Multipole
verursacht werden. Die Breiten dieser Stopbaender werden hier
entsprechend der Theorie von Guignard (CERN 78-11) berechnet und
ausgegeben.
Vorlaeufig kann man nur Strukturresonanzen vom Typ n*QH + m*QV = S
rechnen (S=Zahl der Superperioden), was aber im Prinzip keine
wesentliche Einschraenkung ist, weil man ja immer leicht eine
vollstaendige Maschine erzeugen kann.
Bisher habe ich Test-Rechnungen fuer n=0,m=2 und n=1,m=1 gemacht. In
beiden Faellen kam mit RKOF auf besser als 1% diejenige Breite des
Stopbandes heraus, die man durch systematisches tunen auch findet. Bei
n=1,m=1 muss man allerdings die Emittanzen gleich machen, sonst stimmts
nicht.
Eingaben dazu: m und n der Gleichung m*qh+n*qv=s:
Einzugeben sind die beiden Koeffizienten der Gleichung n*QH + m*QV = S.
Die Summe der Betraege ist die Ordnung und entspricht jener der
anregenden Multipole. Auch negative Zahlen (fuer Differenzresonanzen)
sind zulaessig. Ausgegeben werden die ungestoerten Q-Werte und die halbe
Breite des Stopbandes, die ggf. emittanzabhaengig sind.
DIR
Es wird eine alphabetische Liste aller gespeicherter optischer Systeme
incl. der Textzeile ausgegeben, damit man sieht, was man so alles an
Muell gesammelt hat (Entschuldigung!). Zum rigrosen Aufraeumen kann man
ganz gut ==>SCRA benutzen, welches auch erst seit ca. 1984 existiert.
SCRA
Man kann eines oder mehrere der gespeicherten optischen Systeme einfach
loeschen; die sind dann echt weg, oder! Das Sytem, an dem man gerade
dran ist, wird davon nicht beruehrt. Anwendung: Die "ORKUS"-Datei ist zu
voll, und man kann kein ===>SAVE mehr machen.
Eingaben dazu: Name des zu löschenden Systems (Apostr!):
Einzugeben sind ein oder mehrere Namen (in Apostrophen!) von optischen
Systemen, die man nicht mehr leiden mag und die daher geloescht werden
sollen. Diese Anweisung wird wie ueblich mit einem "*" beendet.
PSUR
Es wird eine Uebersichtszeichnung des aktuellen Systems auf den Bild-
schirm ausgegeben, die alles aus der Vogelperspektive zeigt. Damit kann
man sehen, wo man hinkommt, wenn man das so baut, wie man sich das denkt
PSUR loescht Bilder, die mit ==>PENV oder ==>PELL gemacht wurden und
umgekehrt. Enthaelt das System ein "16 4"-Element, d.h absoluter System-
anfang, dann wird es immer in Bezug auf andere Systeme mit solchen
Elementen in der richtigen relativen Lage und Orientierung dargestellt.
Auch nach SKIP kann man angefangene Bilder fortsetzen.
Zentrieren der Graphik: psur,x,0,0,0,.... Die Laenge der x-Achse
wird dann x+Systemlaenge+x, man steuert also mit x den Massstab.
Mit der rechten Maustaste kann man sich ueber die Positionen und
Abstaende aller Elemente informieren, die man auf dem Bild sieht.
Eingaben dazu: x,y,phi,x-max,y-max,r-Qua,r-Ror:
Einzugeben ist folgende lange Latte von Zahlen:
x0 - Abszisse und ....
y0 - ... Ordinate des Systemanfangs bezueglich der Stelle auf
dem Bildschirm, wo immer die Enveloppen anfangen.
phi - Winkel, um den die Strahlrichtung gegen +x verdreht ist
x-max - Laenge der Abszisse in mm; wenn=0, dann wird das System
auf dem Bild zentriert; Skalierung durch den x0-Wert.
y-max - Laenge der Ordinate in mm; wenn=0, dann wird Isometrie
annehmend der Wert aus x-max berechnet; auch bei ==>HCOP.
r-Q - halber Durchmesser eines Quadrupols, Dipole werden immer
etwas breiter dargestellt.
r-R - Radius des Strahlrohres; (fehlen bloss noch Flansche...)
HCOP
Der Graphik-Bildschirm, wie er jetzt gerade zu sehen ist, wird auf ein
PostScript-File kopiert. Darauf sind dann natuerlich solche Teile,
die mit ==>DELP ausradiert wurden, nicht zu sehen. Ebenso kommt man zu
spaet, wenn man schon ==>LOES gesagt hat.
Eingaben dazu: File-Name(in Apostr!),Mode(1,2 oder 3):
Einzugeben sind zwei Werte:
(1) der Name des PostScript-File, auf das der Graphik-Schirm kopiert
werden soll. Ein ' ' heisst, dass als Filename "Fnnn.EPS" genommen
wird; nnn=000, 001 usw.; wird mit jeder neuen HCOP-Anweisung um 1
inkrementiert. Die Files stehen sofort fuer die Weiterverarbeitung
zur Verfuegung. - Bitte die Apostrophe (Hochkomma) nicht vergessen!
(2) -Ausgabeformat-
=1: Portrait, auch wenn nur Ellipsen statt Koepfen drauf sind.
=2: Landschaft; welche Zahl man nehmen soll, haengt vom verwendeten
Drucker ab; ausprobieren! (1 ist Default)
=3: Minibilder im Scheckkartenformat fuer Platzgeizhaelse.
So kleine Bilder braucht nur Bernhard Franczak fuer seine
winzigen roten Buechlein.
=4: Portrait wie 1, aber etwas kleiner passend fuer US-Letter.
=5: Landscape wie 2, aber etwas kleiner passend fuer US-Letter.
=11 bis 15: wie 1 bis 5, aber bunt in Farbe fuer bunte Farbbilder
Spezialtrick: Die Eingabe einer negativen Zahl unterdrückt die Ausgabe
von Rahmen und Texten; Anwendung: Einbinden in irgendwelche Texte.
QURF
Beim Eintritt in einen Quadrupol durch ein endlich ausgedehntes Rand-
feld hindurch erfaehrt ein Teilchen selbst bei fehlerfreien Feldern eine
sphaerische Aberration so etwa von dritter Ordnung. Nach einem von
Patrick Krejcik angegebenen Verfahren (CERN/PS/86/-19(AA) ) kann man
diese durch Einfuehren von je zwei duennen Multipolen am Anfang und Ende
des Quadrupols in dritter Ordnung beruecksichtigen.
Damit man keine wunden Finger bekommt vor lauter INPU, COPY und KELE,
kann man hier die erforderlichen Umbauten in einem Rutsch machen.
Ausserdem kann man auch solche Einbauten wieder beseitigen, wenn man an
der ersten Ordnung genug hat.
Eingaben dazu: Randfeldlinsen von Nr, bis Nr, ein(1)/ aus(0):
Ganz einfach: Nr. des ersten und des letzten Elementes eingeben, die
bearbeitet werden sollen, als dritte Zahl entweder eine 0, dann werden
alle Randfeld-Multipole weggeworfen und die vorher zerhackten Elemente
wieder zusammengebaut. Oder man gibt als Drittes eine 1 an, dann werden
alle Quadrupole im zu bearbeitenden Bereich mit entsprechenden Linsen
versehen; das sind allerdings 8 (acht) zusaetzliche Elemente fuer jeden
Quadrupol; is leider so.
INQU
Man kann die Einstellwerte von ausgewaehlten Magneten in beliebiger
Anzahl und Reihenfolge an die Aussenwelt schicken zusammen mit dem Label
Unter Aussenwelt ist vorerst die PUNCH-Datei zu verstehen, spaeter wird
das eine Mailbox oder ein anderer Prozess sein, welcher die Einstell-
werte direkt verarbeiten kann.
Ist das gewaehlte Geraet kein Magnet oder sonst ein Teil, welchem man
irgendwie einen Einstellwert zuordnen kann, oder wenn die Nr. bzw. das
Label (Nomenklatur at GSI) unbekannt sind, dann wird in allen diesen
Faellen der Aussenwelt nichts geschickt, um nicht durch 0 o.ae.
falsche Aktionen zu bewirken. Es ist dann Sache des aufrufenden
Prozesses, die Vollstaendigkeit der returnierten Daten zu controletti.
Eingaben dazu: Element-Nr. bzw. Label:
Es ist entweder die Nr. oder (in '') das Label des optischen Elements
einzugeben, dessen Magnetfeld oder Feldgradient - je nach Typ - der
Aussenwelt zur Weiterverarbeitung mitgeteilt werden soll.
Die Eingabe ist zyklisch und wird mit einem * beendet.
+CURSOR
Eingaben dazu: Dia-#,x,y,Taste,Mode:
EXPORT
Ausgabe des aktuellen optischen Systems auf ein ASCII-File. Dies ist
im normalen MIRKO-Format moeglich, man kann aber auch Eingabeformate
fuer andere Programme erzeugen (Filter auf Neudeutsch). Zur Zeit sind
das TRANSPORT, PARMELA und IGES-Format fuer CAD-Systeme; kann aber noch
erweitert werden, wenn jemand das will.
Als Endungen empfiehlt der Kuechenchef .MIX, .TRA, .PRM und .IGS;
das steht fuer Mirko-Import-eXport, TRANSPORT, PARMELA bzw. IGES.
In diesen Files kann man rumeditieren und sie ggf. mit ==>IMPORT auch
wieder einlesen.
Eingaben dazu: File-Name,-Typ(Apostr!),Mode,von,bis:
Man soll drei Daten eingeben, ,,:
Den Namen des Exportfiles; dabei wird ein & im Namen durch den
Namen des aktuellen optischen Systems ersetzt. Das kann man zum
Schreiben von systemunabhaengig verwendbaren Makros benutzen.
Kennbuchstabe fuer das gewuenschte Ausgabeformat, 'M','T','P','I';
Apostrophe nicht vergessen, dafuer ist gross- und Kleinschreibung ok
'M': Mirko-Format
mode=1: normale 1:1-Ausgabe
mode=2: expandiert (Typ 13,14 aufgelöst)
mode=3: wie 2, aber zusätzlich Driftstecken zusammengefaßt
mode=4: nur die Elemente 'von' bis 'bis' ausgeben, sonst nichts
mode=5: nur Strahldaten (Ellipsen, Sollbahn, Einzelteilchen)
mode=6: Elemente 'von' bis 'bis' als Matrix, Liste als
Kommentar
mode=7: Ausgabe der Punktwolke am Ende des Systems; vorerst im
Primitiv-Format!
mode=8: Kombination aus 2 und 4, also zwischen 'von' und 'bis',
aber breit
mode=9: wie mode=2,aber ohne Typen 37,38,39; für simple
Konversionsprogramme; Typen 15,21,22 werden ggf. ohne
Zeiger auf einen Funktionsgenerator ausgegeben
mode=10: Die Daten des letzten Imports werden aktualisiert und
mit allen Kommentaren und möglichst im Original-Format
ausgegeben, falls sich an den Daten was geändert hat.
In diesem Falle wird unter dem Namen .bak eine
Kopie des Originalfiles abgelegt; einfach so zur
Sicherheit.
'T': TRANSPORT-Format
'P': Parmela-Format
'I': IGES-Format
mode=1: Ausgabe original (bezüglich EMP); im Protokoll auch SMP
mode=2: Ausgabe bezüglich SMP; im Protokoll auch GSI-NN
mode=3: Ausgabe bezüglich GSI-NN; im Protokoll auch EMP
mode=4: Ausgabe bezüglich GSI-NN und alle 6 Koordinaten (Orte
und Winkel)
---> gibt es Leben außerhalb der GSI ??? <---
mode=5: Ausgabe bezüglich 0,0 und alle 6 Koordinaten (Orte und
Winkel)
Folgende Files werden erzeugt:
.IGS IGES-Daten; ASCII, aber nur für CAD-Systeme
verständlich
.IGS.PS nette Tabelle in PostScript mit diesen Daten
zum Lesen und Abheften
.IGS.csv diese Daten nochmal zum Einlesen in Excel
.IGS.tab auch dafür, aber ein etwas anderes Format
.IGS.txt leserliche ASCII-Tabelle, die man aber nicht
gut in Word einbinden kann, ...
.IGS.txt.PS diese aber schon, weil sie in PostScript ist
Falls sie länger als eine Seite würde, dann
wird sie auf mehrere Einzelfiles aufgeteilt,
deren Namen 02.IGS.txt.PS,
03.IGS.txt.PS usw. sind.
'Q': Tabelle aler Magneteinstellungen ausgeben
mode=1: ASCII-Tabelle
mode=2: csv-Tabelle; Zahlen mit "," (mundgerecht für Excel)
mode=3: beide Tabellen
mode=4: wie mode=2, aber Zahlen mit "." statt mit ","
mode=5: wie mode=3, aber Zahlen mit "." statt mit ","
Neben der ASCII-Tabelle kommt immer noch das
entsprechende PostScript-File.
IMPORT
Einlesen eines optischen Systems im MIRKO-Format von einem ASCII-File
Man kann alle Daten aus dem File lesen oder nur die Modifikationen
(==>SAVM, ==>LESM). Die Elemente koennen angehaengt werden oder auch die
vorhandenen ueberschreiben. Fremde Formate werden nicht erkannt.
Eingaben dazu: File-Name,-Typ(in Apostr!),Mode,Mode2:
Man soll vier Daten eingeben: ,,,:
Den Namen des Importfiles; dabei wird ein & im Namen durch den
Namen des aktuellen optischen Systems ersetzt. Das kann man zum
Schreiben von systemunabhaengig verwendbaren Makros benutzen.
Apostrophe nicht vergessen!
Kennbuchstabe für das gewünschte Eingabeformat.
typ='M', Eingabe im mix-Format für Mirko
mode1=1: Die Daten werden eingelesen, nichts wird gespeichert,
die Modifikationen bleiben also unbeachtet.
mode1=2: Alle Daten incl. Modifikationen werden gleich
gespeichert.
mode1=3: Nur die Elemente werden gelesen und angehängt.
mode2=1: Elemente nehmen wie sie sind
mode2=2: -1 bei Istpositionen wird durch 0 ersetzt.
mode1=4: Nur die Elemente werden gelesen, Masse, Ladung,
Energie bleiben.
mode1=7: Einlesen der Punktwolke aus einem File; vorerst im
Primitiv-Format, aber das Mischen mehrerer
Verteilungen mit einem Editor vorher ist möglich.
mode2=1: nur stabile Teilchen lesen
=2: nur verlorene Teilchen lesen
=3: alle Teilchen lesen
mode2=11: wie mode=1,2,3 ...
=12: ... aber ...
=13: ... eingelesene Teilchenwolke an die
vorhandene anhängen
typ='T', Einlesen eines Transport-Outputs mit einer Abbildungsmatrix 2.
oder 3. Ordnung zum Eintragen in ein Element vom Typ 32 für
Mirko ...
typ='R', Einlesen einer Punktverteilung von Parmteq
Typ='S', Einlesen der Daten zum Geradelegen; ehemals Mr_x.inf, aber
jetzt individuell; mode1 und mode2 sind noch undefiniert.
typ='V', Einlesen von Vermessungsdaten im ASCII-Format.
typ='A', Lesen von absoluten Positionen von Geräten samt neuer
Sollpositionen und Ausgabe der Verschiebung von der
Ist-auf die Sollpositionen in Form von lauter posi-Anweisungen
in ein Makro-File. Datenformat: Name (eines Gerätes),
Koordinaten x,y,z seiner Mitte in einer Zeile jeweils durch
Leerzeichen oder ; getrennt, die Zahlen können mit . oder ,
geschrieben sein; ist ganz flexibel. Wenn der Name leer ist,
wird die Zeile ignoriert. Falls ein Gerät zum zweiten Mal oder
öfter vorkommt, wird seine Position als neue Sollposition
interpretiert und eine entsprechende posi-Anweisung erzeugt.
TEST
Diese Anweisung hat keine feste Bedeutung. Sie dient zum Testen neuer
Sachen, indem man ein Unterprogramm namens TEST schreibt und ueber diese
Anweisung mit Daten versorgt.
Beispiele:
---------
TEST,2 --> Aus HELP_D.INP werden erzeugt:
HELP_D.DAT (online-Hilfe mittels ?),
MIRKODOK.PS (Handbuch in PostScript) und
MIRKO.HTM + *.HTM (Handbuch fuer html-Browser)
wird erzeugt.
TEST,4,i,j,k,l --> Emittanzberechnung aus Strahlbreitenmessungen
i=0: Initialisierung fuer die x- und y-Ebene
i=1: Messung uebernehmen; braucht man mindestens drei.
j: Nr. oder Label eines Elementes vom Typ 29 oder 30;
k,l: Positionen der Strahlkanten x bzw. y (kPAKZ)
i=3: Ausgabe der berechneten Emittanz samt Schwerpunkt
j: 1 oder 2 fuer x- bzw. y-Ebene
i=4: Uebernahme der berechneten Emittanzen
j: 1 oder 2 fuer x- bzw. y-Ebene
i=5: Messung uebernehmen; hier werden die Werte benutzt, die
beim Element j stehen, wenn es von Typ 29 oder 30 ist.
Die Daten eines Elementes vom Typ 30 oder 29 werden,
falls es in der Naehe ist, gleich mit uebernommen.
Alternative zu i=1, wenn die Daten vorher schon
ausgelesen wurden, also im Element zu finden sind.
TEST,7,i,j: Test von MIR_FCODE
i=0: Init fuer VrtAcc j
i= 1...20: Test von MIR_KNOPF i
i=21...30: Test-Eingabe von x in MIR_DIA i
Eingaben dazu: Funktions-Code,Daten:
Was diese Zahlen bedeuten, weiss natuerlich nur der, der das Unterpro-
gramm TEST als letzter veraendert hat. Man darf 7 Stueck eingeben.
SPOS
Gemessene Strahlposition(en) ins Programm eingeben. Man kann:
(1) eine SPOS-Anweisung geben, um mit ==>KPOS einen Steerer fuer die
Korrektur der Strahlpostion an der gemessenen Stelle zu setzen.
(2) zwei SPOS-Anweisungen fuer zwei verschiedenen Positionssonden
geben, um eine vollstaendige Korrektur der Strahlpostion nach Ort
und Winkel machen zu koennen. Es muessen beide Sonden vom gleichen
Typ sein, entweder 29 oder 30 (horizotal oder vertikal).
(3) zwei SPOS-Anweisungen fuer zwei verschiedene Quadrupoleinstellungen
und nur einer Positionssonde geben, um eine komplette Korrektur
zu machen; wichtig dabei: Der Quadrupol muss in Wirklichkeit und
im Programm gleichzeitig veraendert werden.
Nach einer oder zwei fehlerfreien SPOS-Anweisungen kann mit ==>KPOS der
vermutliche reale Strahlverlauf berechnet und mit ==>PENV betrachtet
werden. Ausserdem koennen damit auch gleich Steerer oder Dipole zur
Korrektur berechnet werden.
Eingaben dazu: El-#,Ist-Pos.,Soll-Pos.:
(1) - Nr. oder Label der einen Positionsmessung; das muss ein
Element von Typ 29 oder 30 sein.
(2) - Messwert in mm
(3) - Sollwert in mm
(Auswertung mit ==>KPOS)
KPOS
Korrigierte Werte fuer Steerer bzw. Dipole berechnen (==>SPOS)
Diese Anweisung funktioniert nur nach einer oder zwei fehlerfreien
SPOS-Anweisungen. Die berechneten Werte fuer Steerer bzw. Dipole kann
man mit der Anweisung ==>XAUS zu den Geraeten schicken. Achtung: sowas
geht natuerlich nur mit einer MIRKO-Version, die entsprechende Geraete-
aufrufe enthaelt!
Eingaben dazu: Mode (1 oder 2), Steerer:
(1) - Mode; =1: Berechnung der Sollbahn am Anfang des Systems so, dass
sie an den Positionssonden gerade die gemessenen Werte
hat
=2: zusaetzlich Berechnung von einem oder zwei Steeren oder
passenden Dipolen so, dass die Sollbahn dort die bei
==>SPOS eingegebenen Sollwerte erreichen sollte.
(2) - Nr. des ersten Steerers/Dipols, der zur Korrektur benutzt werden
soll.
(3) - Nr. des zweiten...; eine 0 heisst jeweils, dass das/die letzten
passenden Geraete vor der ersten Positionssonde gewaehlt werden.
Man darf zunaechst KPOS mit Mode=1 aufrufen, um zu sehen, was Sache
ist, und dann KPOS mit Mode=2 nachschieben.
XEIN
-----> Nur im HKR der GSI durch qualifiziertes Personal zu verwenden !
(qualifiziert ist jeder, der bis hierher gekommen ist.)
---------------------------------------------------------------
Magnetwerte online einlesen; beruecksichtigt werden Dipole, Quadru-
pole und Steerer, Profilgitter gehen noch nicht. Ausgabe, wenn man darf,
erfolgt mit ==>XAUS.
Eingaben dazu: Mag.lesen von#,bis#,VrtAcc,Mode,Inj/Ext:
Da ist eine lange Latte von Werten einzugeben:
(1) Erstes und ...
(2) ... letztes optisches Element, das zu lesen ist.
(3) Virtueller Beschleuniger; -1: Defaultbeschleuniger
(4) =0: (3) als Defaultbeschleuniger setzen
=1: alle Elemente zwischen (1) und (2) lesen
=2: nur die variablen Elemente lesen; ==>AVAR
=3: nur die Profilgitter lesen
(5) =1: Bei SIS und ESR Injektion, sonst egal
=2: Bei SIS und ESR Extraktion, sonst egal
XAUS
-----> Nur im HKR der GSI durch qualifiziertes Personal zu verwenden !
(qualifiziert ist jeder, der bis hierher gekommen ist.)
---------------------------------------------------------------
Magnetwerte online setzen; beruecksichtigt werden Dipole, Quadru-
pole und Steerer. Um nicht wie die Axt im Walde zu wirken, kann (soll)
man vorher mit ==>XEIN lesen, was Sache ist.
Eingaben dazu: Mag.setzen von#,bis#,VrtAcc,Mode,Inj/Ext:
Da ist eine lange Latte von Werten einzugeben:
(1) Erstes und ...
(2) ... letztes optisches Element, das zu setzen ist.
(3) Virtueller Beschleuniger; -1: Defaultbeschleuniger
(4) =1: alle Elemente zwischen (1) und (2) setzen
=2: nur die variablen Elemente setzen; ==>AVAR, ==>KPOS
(5) =1: Bei SIS und ESR Injektion, sonst egal
=2: Bei SIS und ESR Extraktion, sonst egal
OPEN
Oeffnen eines Files fuer Ein- oder Ausgabe, dessen Name vom Default
beim Programstart abweicht. Das Gegenstueck dazu ist ==>CLOSE, und mit
diesen beiden Anweisungen kann man ohne Verlasssen von MIRKO mehrere
Files bearbeiten oder von der Seite betrachten bzw. editieren.
Eingegeben werden Name und Typ desselbigen.
Eingaben dazu: File-Name(in Apostr!),-Typ:
(1) - File-Name in Apostrophen, irgend ein syntaktisch richtiges Ding
(2) - File-Typ; da gibt es z.Zt. folgende zulaessige Werte:
9: Das Protokoll-File; kann man zwischendrin nachlesen, was man
gemacht hat, oder man kann es aufheben fuer spaeter.
10: Eingabedatei fuer Lochkarten (kennt die noch jemand??), also
z.B. fuer ==>LESM mit 'ner 0.
11: Ausgabe auf den Kartenstanzer (jaja damals...). z.B. fuer die
Umleitung von ==>INQU oder ==>SAVM mit 'ner 0.
18: Ausgabe auf das Protokollfile von fixi
Mit "Lochkarten" meine ich natuerlich stinknormale ASCII-Files.
Alle anderen Zahlen sind vorerst verboten und werden ignoriert.
CLOSE
Schliessen eines Files; ... was soll ich weiter dazu sagen?
Eingegeben wird der Typ desselbigen.
Eingaben dazu: File-Typ:
(1) - File-Typ; da gibt es z.Zt. folgende zulaessige Werte:
9: Das Protokoll-File; kann man zwischendrin nachlesen, was man
gemacht hat, oder man kann es aufheben fuer spaeter.
10: Eingabedatei fuer Lochkarten (kennt die noch jemand??), also
z.B. fuer ==>LESM mit 'ner 0.
11: Ausgabe auf den Kartenstanzer (jaja damals...). z.B. fuer die
Umleitung von ==>INQU oder ==>SAVM mit 'ner 0.
Mit "Lochkarten" meine ich natuerlich stinknormale ASCII-Files.
Alle anderen Zahlen sind vorerst verboten und werden ignoriert.
DRAHT
Das aktuelle optisches System wird auf ein Drahtmodell reduziert, d.h
alle geraden Elemente, die die Strahlrichtung nicht aendern, werden
durch eine einzige Driftstrecke ersetzt, und Dipole durch einen barschen
Knick im Tangentenschnittpunkt.
Mit Ionenoptik hat das leider gar nichts mehr zu tun, es dient
vielmehr zur Anfertigung knapper und schnell zu malender Uebersichts-
zeichnungen komplexer Systeme mit ==>PSUR.
Gluecklicherweise kann man diesen Schritt leicht wieder rueckgaengig
machen, indem man einfach die Anweisung ==>EXPA gibt. Das ist als ganz
aehnlich wie ==>KOMP.
LOCUS
Das optische System wird absolut positioniert. Wenn es mit einem
Element von Typ 16 4 beginnt, fein; dann werden dessen Parmeter passend
gesetzt. Wenn nicht, no problem; dann wird eins erzeugt und mit dem
Namen '-locus-' ganz vorn eingefuegt.
Allgemein kann man so erreichen, dass an irgendeiner Stelle im System
eine oder mehrere Orts- und Winkelkoordinaten so sind, wie man sie will.
(Das ist wirklich so flexibel; wenn schon, denn schon.)
Eingaben dazu: nach Nr,x,y,phi // nach Nr,name,16-Nr,Maske:
Man hat zwei unterschiediche Moeglichkeiten, sich seine Wuensche
erfuellen zu lassen:
(a) Direkte Eingabe der gewuenschen Werte
(b) Angabe der Stelle, wo sie zu finden sind.
In jedem Falle sind vier Groessen einzugeben:
(1): Nr. des Elementes, hinter dem man die Position fixieren moechte,
"hinter" heisst beim Dipol Tangentenschnittpunkt (logisch, oder?),
dann im Falle (a):
(2): x,
(3): y und
(4): phi - Position in [mm] und Orientierung in [Grad].
Es ist ganz wichtig, die Regeln fuer Nichteingabe zu beachten,
also wenn man LOCUS,28,,,250 schreibt, heisst das: hinter 28
wird das System auf Kurs 250 gebracht, Position bleibt wie sie
ist. LOCUS,28,10000 (und nix weiter) heisst: Das System wird
so parallel verschoben, dass x hinter Nr. 28 =10000 mm wird,
y und phi bleiben wie sie sind.
Und im Falle (b):
(2): Name eines anderen System im selben ORKUS (in Apostrophen)
(3): Label eines Elmentes dort, was tunlichst vom Typ 16 4 sein
sollte.
(4): Maske, die durch 0 oder 1 angibt, welche der drei Parameter
x,y,phi dieses Elementes man uebernehmen moechte; 111 z.B.
heisst: alle. 100 heisst: x ja; y, phi sind mir wurscht.
In diesem Zusammenhang ist vielleicht ==>FSTD,104 interessant.
LABEL
(... ist immernoch in Arbeit ...)
Eingaben dazu: Labelausgabe von Nr, bis Nr:
issegal, passiert ehnix
LABMOD
(... ist noch in Arbeit; s. 10.7.2007 ...)
Eingaben dazu: Typfilter, l-,phi-Linie, h-,phi-Label:
issegal, passiert ehnix
SAVOPT
Die aktuellen optischen Einstellung werden in ein File geschrieben,
damit man sie spaeter wiedererwecken kann. Dazu ruft man das File
einfach als Makro auf und fuehrt die dort gespeicherten ==>KELE-Befehle
aus. Geschickterweise werden die optischen Werte verwendet, weil man
damit unabhaengig von der jeweiligen Ionensorte wird. Die Geometrie des
Systems bleibt in jedem Falle ungeschoren. Es wird um Verstaendnis
dafuer gebeten, dass dabei nur Elemente mit einem ordentlichen Label
beruecksichtigt werden koennen; die anderen sind ja nur namenlose Nummrn
Eingaben dazu: Optikfile,von El-#,bis El-#,mode:
Einzugeben ist einfach der Name des Ausgabe-Files in Apostrophen.
POSI
Man kann eine Element oder eine Gruppe von solchen auf einer freien
Strecke hin- und herschieben. Das ist dann so, als wuerde man ==>KORE
und ==>IELE verwenden, nur eben viel einfacher und eleganter.
Voraussetzung dafuer, dass ueberhaupt was passiert, ist natuerlich,
dass vor und hinter der angegebenen Gruppe eine Driftstrecke ist; sonst
waere ja alles fest eingeklemmt. Die Verschiebung kann so begrenzt
werden, dass keine der beiden Driftstrecken negativ wird; saehe ziemlich
uncool aus. Man kann diese Begrenzung aber auch ausschalten.
Eingaben dazu: Positionieren von El-#, bis El-#, rel.Pos.,Mode:
Man soll vier Zahlen eingeben:
(1) Erstes und ...
(2) ... letztes Element der zu positionierenden Gruppe. Wlll man sich
nur eins vorknoepfen, kann man diese Zahl auch einfach weglassen.
(3) Positionsaenderung in mm; positive Zahlen schieben downstream,
negative upstream.
(4) =1: Durch die Verschiebung duerfen die Laengen der Driftstrecken
nicht negativ werden.
=2: Driftstrecken duerfen auch negativ werden
PUMA
Umschaltung auf den Punktwolken-Mode von Ellipsen (===>ELLI) oder
Einzelteilchen her (==>EINZ). Man kann nun mit ==>WOLKE beliebig geform-
te und beliebig maechtige Punktwolken erzeugen, diese durch das aktuelle
System transformieren (mit oder ohne Kompression wie bei ==>KOMP) und
mit ==>PELL das Ergebnis betrachten. Will man Profile sehen, kann man
mit ==>BIN die Aufloesung und Skalierung definieren. ==>AUSG liefert
eine Kurzinformation ueber Art und Maechtigkeit der Punktverteilung.
Eingaben dazu: Anzahl der Umläufe, >0 mit, <0 ohne Komprimieren vorher:
Bei Eingabe einer Zahl n>0 wird das System vor der Transformation
fuer n Umlaeufe komprimiert und anschliessend wieder expandiert; geht
schoen fix, aber es gehen einem u.U. hoehere Ordnungen bei Dipolen
verloren. Die Eingabe einer Zahl n<0 laesst das System wie es ist, und
die Transformation erfolgt ueber -n Umlaeufe; da dauert die Rechnung
schon etwas! Muss man eben Testrechnungen machen mit und ohne
Kompression.
WOLKE
Definition einer an das aktuelle Eingangsellipsoid (==>KELL, ==>KEMI,
==>BUNCH). Man kann sich die Ebenen, die Verteilungsart und den Start-
wert des Zufallszahlengenerators aussuchen. Sehen kann man natuerlich
nur im Mode ==>PUMA was.
Eingaben dazu: n Teilchen,Ebenen,Verteilungsart,Mode:
(1): Anzahl der Teilchen; nur durch den Speicher begrenzt; und die
Geduld beim Rechnen
(2): Ebenendefinition; möglich sind entweder zweistellige Zahlen ij mit
i,j zwischen 1 und 6 fuer die Projektion auf eine beliebige
zweidimensionale Unterebene des Phasenraumes, z.B. 12=(x,x'),
34=(y,y') usw., aber auch 1234 für ein vierdimensionales Ellipsoid
in x,x',y,y' und 123400 für die zusätzliche Nullung der dz,dp/p-
Koordinaten, Da kann man sicher noch viele Sachen erfinden.
(3): Art der Verteilung;
=0: es werden lauter Nullen in der angegebenen Unterebene erzeugt
=1: auf der Oberflaeche bzw. dem Rand,
=11: wie 1, aber auf dem die Ellipse umschreibenden Rechteck
=2: im Inneren gleichverteilt (wat e bag!)
=12: wie 2, aber die x-Koordinate gleichverteilt
=22: wie 2, aber die y-Koordinate gleichverteilt
=32: Gleichverteilung innerhalb eines Rechtecks..
=3: Punkte auf einem Radius der Ellipse; (4) gibt dann
dessen Winkel an
=4: Punkte auf dem Umfang der (x,y)-Ellipse (Projektion des
4-dimensionalen Ellipsoids), wobei die Koordinaten x' und y' so
berechnet werden, daß die Punkte auf der Oberfläche des
Ellipsoids liegen.
(4)=1: Ellipsoid am Eingang ist gemeint
(4)=2: Ellipsoid am Ausgang und Rücktransformation
=5: die letzte mit ==>FIXI erzeugte Punktverteilung wird einfach
als Wolke überommen.
Wie das im einzelnen aussieht, bekommt man leicht ==>PELL unter
z.B. ==>PMOD,,-10 (x-Profil am Eingang) heraus.
(4): Verteilungart =2: Startwert des Zufallszahlengenerators;
<0: Wert aus ==>KZUF,
>0: dies ist der neue Startwert,
=0: die Zahlen laufen einfach weiter.
Verteilungart =3: Winkel des Radius' der Ellipse in Grad
Verteilungart =4: Punktdefinition am Eingang (=1) oder Ausgang (=2)
sonst ohne Bedeutung
BIN
Kurzer Name, kurzer Sinn: Eingabe der Bin-Anzahl und der Counts pro
Bin beim Malen des Strahlprofils mit ==>PELL in einem passenden ==>PMOD
und wenn man sich im Zustand ==>PUMA befindet.
Eingaben dazu: Anzahl der Bins, Counts pro Bin:
Was soll man dazu sagen? Is doch klar.
MISAL
Falls das aktuelle System einen Kreisbeschleuniger darstellt und man
vor dieser Anweisung ==>SYNC gesagt hat, dann findet man mit MISAL die
mit 98% Wahrscheinlichkeit nicht ueberschrittenen Fehler des Closed
Orbit heraus, die aus den hier einzugebenden Dipolfeldfehlern und
Quadrupolpositionsfehlern resultieren. Ist eine Formel, die in einem
fruehern CERN-Report steht. Ausgegeben wird die Amplitude an der Stelle
mit maximaler Betafunktion und die effektive Emittanz, die aus echter
Emittanz plus Fehlern ergibt.
Eingaben dazu: dB/B-x,dx-Quad, dB/B-y,dy-Quad:
Vier Zahlen sind gefragt: dB/B-x, dx-Quad[mm], dB/B-y, dy-Quad[mm],
Defaults sind: 0.0002, 0.2, 0.0002, 0.2
ORKUS
Wer mehrere Orkus-Dateien besitzt, der kann nun einfach auf eine der
anderen umschalten; kopieren von Dartensaetzen ist allerdings nicht
moeglich; da muss man schon die Firma ==>EXPORT / ==>IMPORT bemuehen.
Eingaben dazu: Name der Orkus-Datei:
... und wenn es die nicht gibt? ... oder man sich vertippt hat?
Ein Glueck, da wird einfach auf die alte zurueckgeschaltet.
TSTART
Im Zusammenhang mit zeitabhaengigen, an Funktionsgeneratoren (Typ 39)
haengenden Multipolen oder Beschleunigungsspalten kann man hier den
Startzeitpunkt der Teilchen oder Teilchenwolke in Bezug auf den Null-
punkt der Funktionsgeneratoren eingeben,
Dieser Zeitpunkt wird bei Benutzung von ==>SAVS, ==>LESS hochgezaehlt
Will man wieder bei Adam & Eva anfangen, muss man nochmal TSTART sagen.
Statt der Zeit kann man auch mit ==>NSTART den Startumlauf definieren.
Eingaben dazu: Startzeit [ms]:
Startzeit der Teilchen oder Punktwolken in Bezug auf die
Funktionsgeneratoren in [ms]; wird mit ==>SAVS, ==>LESS hochgezaehlt.
BUNCH
Weil die Definition eines Bunches mit ==>KELL von den Zahlenwerten he
gesehen etwas verknorzelt ist, kann man hier ganz anschaulich die Laenge
eines Bunches in Grad und seine Hoehe in dp/p angeben (statt z**2 und
dp/p**2). Zusaetzlich kann man noch die Harmonische angeben, auf die sic
die Laenge bezieht. Das ganze ist natuerlich nur so richtig sinnvoll,
wenn man einen Kreisbeschleuniger oder Speicherring vor sich hat. In
allen anderen Faellen wuerde die geometrische Laenge des Systems 360 Gra
entsprechen, Zusaetzlich kann man die Malung des stationaeren Buckets
veranlassen, wann immer man die (z,dp/p)-Ebene malt.
Eingaben dazu: phi[Grad],dp/p,Harmonische,Bucket(0/1):
Einzugeben sind:
(1) die halbe Bunchlaenge in Grad
(2) die halbe Hoehe in dp/p (0.01 fuer 1 %)
(3) die Harmonische, auf die sich die Grad beziehen
(4) Einblenden des Buckets ein (1) oder aus (0)
RESOK
Es wird ein Ausschnitt aus der Resonanzkarte in ein Diagramm gemalt,
welches man mit ==>PMOD und dort der Kennzahl 70 (statt 12,34,56 usw.)
anlegen kann. Man kann aussuchen zwischen Summen- und Differenzresonanze
und verschiedenen Ordnungen und Superperiodizitaeten. Als zusetzlichen
Schnoerkel kann man auch eine Arbeitslinie mit ==>QDIA einmalen
Eingaben dazu: Qh,Qv,dQ,bis Ord.(n=1),bis Ord.(n=S),S:
Die ersten drei Zahlen definieren den Ausschnitt, die letzten die
Ordnungen und Superperiodizitaeten:
(1) Qh und ...
(2) ... Qv der linken unteren Ecke des Diagramms
(3) Laenge der Achsen (gleich fuer Qh und Qv)
(4) Ordnung von Fehlerresonanzen, bis zu der Linien gemalt werden
(5) dito fuer Strukturresonanzen der Superperiodizitaet S
(6) S (es, es, es und es, es ist ein harter Schluss ...)
Hinweis: gibt man als Ordnung eine positive Zahl ein, dann werden nur
die Summenresonanzen gemalt, sonst auch die Differenzresonanzen.
QDIA
Die Arbeitslinie im Q-Diagramm wird in die vorhandene Resonanzkarte
eingezeichnet, Man erhaelt diese mit ==>PMOD,..,70,.. und ggf. noch mit
==>RESOK fuer individuell zusammengestellte Resonanzlinien.
Eingaben dazu: von dp/p,bis dp/p,Schrittweite:
Die Eingabe ist ja sowas von einfach: der Bereich in dp/p und die
Schrittweite. Einheiten sind natuerlich, also 0.01 fuer 1 %. Da kann
man gar nichts verkehrt machen.
PLAYER
Irgendwelche Phasenraumplots, die man mit ==>PELL bekommen koennte,
werden als Funktion der Zeit oder der Umlaufszahl in einem Kreis-
beschleuniger in animierter Form oder als Indexprint dargestellt. Man ha
fuer die Animation die normalen Knoepfe "vor", "zurueck", "schnell vor"
"schnell zurueck", "weiter transformieren" zur Verfuegung.
Eingaben dazu: ab Umlauf,Uml/Transf,Anzahl Transf,Mode:
Einzugeben sind vier Groessen:
(1) Ab dem wievielten Umlauf die Darstellung beginnen soll
(2) Wieviele Umlaeufe in einem Transformationsschritt zu berechnen sind;
damit wird die Definition in ==>PUMA temporaer ueberschrieben.
(3) Wieviele Transformationsschritte auszufuehren sind
(4) Darstellungart der beiden Diagramme als zweistellige Zahl, die
Zehnerstelle fuer das linke, die Einerstelle fuer das rechte Diagram
1: animiertes Vollbild 2: statische Teilbilder wie in (3) angegeben
Default ist 12
NSTART
Im Zusammenhang mit zeitabhaengigen, an Funktionsgeneratoren (Typ 39)
haengenden Multipolen oder Beschleunigungsspalten kann man hier den
Startumlauf der Teilchen oder Teilchenwolke in Bezug auf den Nullpunkt
der Funktionsgeneratoren eingeben,
Dieser Zeitpunkt wird bei Benutzung von ==>SAVS, ==>LESS hochgezaehlt
Will man wieder bei Adam & Eva anfangen, muss man nochmal TSTART sagen.
Statt des Umlaufs kann man auch mit ==>TSTART die Startzeit definieren.
Eingaben dazu: Start nach Umlauf:
Startzeit der Teilchen oder Punktwolken in Bezug auf die
Funktionsgeneratoren in [ms]; wird mit ==>SAVS, ==>LESS hochgezaehlt.
TFMODE
Hier kann man die Funktionsgeneratoren (Elementtyp 39) mit ihrem Wert
zum aktuellen Zeitpunkt (==>TSTART oder ==>NSTART, auch ==>SAVS/==>LESS)
einfrieren und wieder auftauen. Zweck der Uebung ist, z.B. fuer Closed-
Orbit-Berechnungen (==>SYNC) klare Verhaeltnisse zu schaffen.
Eingaben dazu: Zeitfunktionen einfrieren (0) oder auftauen (1):
Die Eingabe einer 0 friert die Funktionsgeneratoren ein, mit einer 1
werden sie wieder aufgetaut.
POVRAY
QPGRAD
Balkendiagramme für die Stärken von Quadrupolen, Sextupolen und Steerern
werden durch QPGRAD dargestellt..
Dabei werden drei Parameter benötigt: Mode, y-Achse[T/m], x-Abstand[mm].
Eingaben dazu: Mode,y-Achse[T/m],x-Lücke[mm]:
Durch diese Parameter wird folgendes bewirkt:
Mode=0: Der Mode-Wert vom letzen Aufruf wird verwendet.
Mode>0: Alle Balken werden oberhalb der x-Achse dargestellt.
Mode<0: Negative Werte werden unterhalb der x-Achse gezeichnet.
|Mode|=1: Darstellung von Quadrupolstärken
|Mode|=2: Darstellung von Sextupolstärken
|Mode|=3: Darstellung von Steererstärken
y-Achse[T/m]: y-Achsenlänge, Dimension entsprechend dem Magnettyp
x-Abstand[mm]: >0:
Die Balken werden durch Zwischenräume getrennt. Dünne
Elemente wie Steerer und Sextupole werden mit einer Länge
von einem Meter gezeichnet.
x-Abstand[mm]: <0:
Die Balken werden nach den wirklichen Abständen plaziert.
Dabei erhalten dünne Elemente wie Steerer oder Sextupole
eine Länge gemäß dem Absolutwert von x-Abstand.
AUTOFIT
Eingaben dazu: Autofit-Mode - 0=aus, 1=rech, 2=tune:
REVERT
DEFBUMP
Definition eines lokalen Bumps. Das kann ein Orts- oder Winkelbump
sein oder auch eine Kombination von beiden. Die Steerer, mir denen solch
ein Bump realisiert wird, werden hier auch definiert. Wirksam wird ein
Bump mit der Anweisung ==>BUMP.
Eingaben dazu: Nr.,Mode,Pos.,Steerer:
Einzugeben sind die Größen nr,ort,typ,st1,..,st4
nr (1...16): Nr. des Bumps zum Wiederfinden
ort: Element, vor dem der Bump definiert ist.
typ: 1=x, 2=x', 3=x,x' bzw. y,y'... je nach typ von sti1,..,st4
sti: Nr. der zu verwendenden Steerer; damit ist auch die Ebene
festgelegt.
BUMP
Ein oder mehrere mit ==>DEFBUMP definierte Bumps werden hier mit
Amplituden versehen und damit wirksam.
Alle Steerer, die an definierten Bumps beteiligt sind, werden addiert
und die Liste ausgegeben (Bildschirm). Eine Ausgabe nach draußen oder
direkt ins Kontrollsystem fehlt noch.
Eingaben dazu: Nr.,Wert 1,Wert 2:
Einzugeben sind die Größen nr,x,x
nr (1...16): Nr. des zu setzenden Bumps
x,x': gewünschte Amplitude(n) des Bumps nr je nach Definition
DEFINE
Man kann mit define maximal 256 globale, symbolische Variable defi-
nieren und ihnen einen Wert zuweisen. In allen weiteren Eingabezeilen
wird dann dieser Name durch den Wert ersetzt; Syntax hierfür:
wird zu wert, wert kann auch leer sein, '' wird zu '.
Der Variablenname kann bis zu 32 Zeichen und der Wert bis zu 128 Zeichen
lang sein. Diese Anweisung ist nicht so sehr für den Bildschirmdialog,
sondern eher zur Benutzung in Makros gedacht. Man kann etwa an mehreren
Stellen vorkommende, von Natur aus gleiche Größen, an einer Stelle
allgemein definieren und gewinnt so erheblich an Übersichtlichkeit und
Änderungsfreundlichkeit. Zur Information über die schon definierten
Variablen gibt es die Anweisung ==>ASYM. Löschen geht mit ==>DSYM.
wert darf auch selbst Variable enthalten, die schon definiert sind, da.
die Definition ja selbst über Eingabezeilen erfolgt; gibt es also gratis
Beispiel: define,'Per','S01' ! 'Per' ist noch unbekannt, also neue Zeile
'Nomen','''QS1F''', *
liefert 'S01QS1F' incl. der ' als Wert von Nomen, man kann also einfach
kele,,5,-0.000561,* sagen, und das funktioniert.
Übrigens ginge define,'Nomen','QS1F',*
mit kele,'',5,-0.000561,* genauso.
Eingaben dazu: Symbol,Wert(Apostr!):
Einzugeben ist die Definition einer oder mehrerer Variablen in der Form
'name','wert'
Die Anweisung ist zyklisch und wird mit einem * beendet.
ASYM
Ausgabe der gerade mit ==>DEFINE definierten Variablen.
Eingaben dazu: Ausgabe Symbolliste von Nr, bis Nr:
Einzugeben ist von Nr., bis Nr.
DSYM
Löschen von gerade mit ==>DEFINE definierten Variablen. Man muß dazu
die Nr. kennen, was innerhalb von Makros etwas schwierig ist; da gibt es
noch Handlungsbedarf: entweder Namen statt Nr. eingeben oder eine Art
Mengendefinition oder so oder anders ...
Eingaben dazu: Symbole löschen von Nr., bis Nr.:
Einzugeben ist von Nr., bis Nr.
REFP
Damit die wesentliche Geometrie einer Beschleunigeranlage auch
wirklich in die Konstruktion eingeht, werden hier die wichtigsten Punkte
in sechs Dimensionen definiert und ausgegeben, und zwar nicht alle, das
wäre zu unübersichtlich, sondern nur diejenigen, die die ganze Anlage
bestimmen.
Für verzweigte Strahlführungssysteme wären das die Tangentenschnitt-
punkte der Schaltmagnete und die Enden am Target. Bei einem Ring-
beschleuniger würde man noch zusätzlich die exakten Ein- und Autritts-
koordinaten der Injektion und Extraktion ausgeben.
Die Ausgabe erfolgt in Erinnerung an ganz früher auf die Einheit für
den Kartenstanzer, also die Datei punch. Man ist aber gut beraten, wenn
man zuvor mit ==>OPEN,,11 eine Ausgabedatei angibt, die man nach der
Ausführung von REFP mit ==>CLOSE,11 wieder abschließt.
Ich gebe allerdings zu, daß diese Anweisung weniger für den inter-
aktiven Betrieb gedacht ist, sondern vielmehr für die Dokumentation
unter Benutzung eines Makros gedacht ist.
Eingaben dazu: Mode, bei Element, Punktname, Kommentar(Apostr):
(1) mode =-1: am Anfang zu benutzen; Filename, Datum und Überschrift
werden ausgegeben, (3) und (4) werden als Label an zwei
37-3-Elemente definiert, die bei mode=-2 ausgegeben werden
=-2: die Punkte werden in ein mix-File geschrieben; am Ende
zu benutzen.
=0: keine Koordinaten, nur eine Leerzeile wird ausgegeben.
=1: die Koordinaten am Eintritt in das Element
=2: ... in der Mitte, bzw. der Tangentenschnittpunkt beim Dipol
=3: ... am Austritt aus dem Element
(2) die Nr. des Elementes (bzw. Label), dessen Koordinaten ausgedruckt
werden sollen.
(3) ein maximal 8-stelliger Name des Punktes; der ist ganz extra und
hat nichts mit dem Label des Elementes zu tun.
(4) Kommentar; das kann ein beliebiger Text sein, mit dem man den Punkt
zu identifizieren gedenkt.
ALIGN
Berechnung der Wirkung von Justierfehlern optischer Element. Es werden
die ungünstigsten Kombination aller Justierfehler betrachtet, dabei die
Verläufe der gestörten Sollbahnen berechnet, sowie die optimalen
Korrekturen dieser Fehler angegeben. Justerfehler in diesem Sinne sind
Elemente vom Typ 19,20, die an der 4. und 5. Stelle 0 haben und an der
6. und 7. Stelle die maximalen Justierfehler enthalten, die mit +-
kombiniert werden. Nur solche Elemente werden in dieser Anweisung als
Justierfehler erkannt und bearbeitet,
Eingaben dazu: Ebene(1,2), Mode(1,2,3), Steerer1, Steerer2:
,,,:
1) normal: ieb=1: Rechnung in der x,x'-Ebene
ieb=2: Rechnung in der y,y'-Ebene
mode=0: keine Aktion, nur n1,n2 werden definiert für später
mode=1: mit pell Fehler- und ggf. Korrekturpolygon malen
mode=2: unkorrigierte Enveloppen malen
mode=3: korrigierte Enveloppen malen
n1,n2: Nr. der zu verwendenden Steerer
2) Sonderfunktionen:
ieb=-1: alle Justierfehler werden mit v=103 versehen; für
Monte-Carlo-Rechnungen mit Wolken z.B.
ieb=-2: alle Justierfehler mit v=103 werden wieder auf v=0
gesetzt.
ieb=-3: über jukorr(,3...) werden die aktuellen Justierfehl
im kele-Format ausgegeben (File "prot"),
für jede gerechnete Kombination ein Datenpaket, dam
man die Rechnung in Ruhe nachvollziehen kann.
REPORT
... kommt noch; nur Geduld ...
HITEXP
... kommt noch; nur Geduld ...
LANG
Mit LANG kann man die Dialogsprache einfach umschalten, z.Zt. sind
englisch und deutsch als Sprachen verfügbar.
Eingaben dazu: Dialogsprache ('D'=deutsch, 'E'=en glisch):
Man kann entweder 'D' oder 'E' eingeben; das Ergebnis sieht man sofort.
CBIN
Kurzer Name, kurzer Sinn: Eingabe der Bin-Anzahl und der Counts pro
Bin für maximale Intensität beim Malen von bunten Phasenplots mit
==>PELL in einem passenden ==>PMOD und wenn man sich im Zustand ==>PUMA
befindet.
Eingaben dazu: Anzahl der Bins pro Achse, Counts pro Bin:
Was soll man dazu sagen? Is doch klar. Bei count=0 wird die Farbe für
maximale Intensität dem Bin mit dem maximalen Inhalt zugeordnet.
STOP
STOP - Damit wird das Programm ordnungsgemaess beendet. Bevor man
aber so zuschlaegt, sollte man zwecks Vermeidens spaeterer Reue
bedenken: Der augenblickliche Zustand des Systems muss mit ==>SAVE oder
==>NJOB,...,SAVE explizit in Sicherheit gebracht werden, falls man
spaeter darauf zurueckkommen will. Ein ausfuehrliches Druckerprotokoll
muss man ggf. mit ==>FINI anfordern, sonst hat man gar nichts und ist
ganz auf die Erinnerung angewiesen, und die ist bekanntermassen
truegerisch!
Zur Information wird ausgegeben, wie viele Saetze in dieser Datei
schon belegt sind. Falls sie voll zu werden scheint, soll man cool
bleiben; sie wird wenn noetig automatisch komprimiert. Wenn allerdings
auch das nicht mehr hilft, muessen optische Systeme geloescht (==>SCRA)
oder woanders hin gebracht werden (==>EXPORT und ==>IMPORT).