                                                        Vangede  20/11/96  TM

Dokumentation til programmet Kloder3, som ligger p den
medflgende diskette til bogen
"Planeter", af Kaare Lund Rasmussen og Torsten Meyer, Munksgaard.

Programmets kildetekst ligger i filen KLODER3.PAS.
Se i vrigt den generelle dokumentation i filen GENEREL.DOC.



Generelt om indtastninger i programmet:
---------------------------------------
Menupunkter, datanumre og klodenumre indtastes uden ENTER.
Vrdier for parametre indtastes med ENTER.

Returnering til hovedmenu og undermenuer vlges ved at taste ENTER.

nskes en valgt parameter forbiget uden ndring ("skip input") tastes
ENTER uden forudgende vrdi.

Returnering fra undermenuer til hovedmenu kan ogs udfres med ESC.



Fejlmeddelelser
---------------
- er sparsomme. Vlges menupunkter eller datanumre, som ikke
eksisterer sker der blot ingenting. Det samme glder, hvis der til en
udvalgt parameter vlges data af en forkert type; - f.eks. hvis der
tastes et decimaltal til en heltals-parameter.
Se ogs under <4> Information og udskrift af data og <5> Datafiler.



Grafik
------
Programmet benytter og er testet med VGA-oplsning, men skulle ogs
kunne kre med EGA-grafik.

Animationen af klode-cirklerne sker ved at tegne figurer bestende af
linjestykker i en farve og slette dem ved at tegne oveni med samme
farve; SetWriteMode er i tilstanden XORPut. nskes andre figurer
(f.eks. cirkler) m man implementere GetImage/PutImage, men disse
rutiner er langsommere.

Ved tegning af figurerne kan der opst blinken, formodentlig p.gr. af
interferens mellem tegnehyppighed og skrmens frekvens.



Start af programmet Kloder3.
----------------------------
Programmet startes med kommandoen KLODER3. Herved fremkommer
hovedmenuen *** 3 Kloder ***, hvis punkter og underpunkter
gennemgs i det flgende. Menupunkterne vlges ved den tast,
som angives i < >.





Hovedmenu <ESC> Forlad programmet
---------------------------------
Herefter fortrydelse j (ja) / n (nej).





Hovedmenu <1>  Simulering
-------------------------
Herefter startes enten grafik, som viser klode-bevgelser i et
koordinatsystem, eller en tabel over klode-koordinater.

Simuleringen kan g i pause og genoptages ved at taste MELLEMRUM.
I pausen vises tiden i r.
Simuleringen stoppes ved tast ESC.

Simuleringen afhnger af de valgte data (se de flgende menupunkter).
Ved start af programmet benyttes programmets "indbyggede data".

Simuleringen er baseret p 4 x 3 koblede 1.ordens differential-
ligninger, svarende til de 3 kloders bevgelsesligninger. Disse
ligninger lses i sm tidsskridt dt ved hjlp af en speciel "4.ordens
Runge-Kutta metode", som forudstter, at den ene halvdel af
differentialligningerne udarter til v = dx/dt, og at krfterne er
uafhngige af v og t.

Differentialligningerne er placeret i proceduren "Model", hvis algoritme
beskrives i bogen.




Hovedmenu <2>  Data 1: Klode-parametre
--------------------------------------
Herefter fs et blt data-vindue og et grnt valg-vindue.

I det bl data-vindue vises de aktuelle data for klodernes positioner,
hastigheder, masser samt en parameter, rmin (se senere).

I det grnne valg-vindue fremkommer en undermenu, hvis punkter
behandles i det flgende.

Grundenhederne for parametrene er Solmasse, den astronomiske enhed
(AU) og r (y). Se videre i bogen.



Data 1 <ENTER> Tilbage til hovedmenu



Data 1 <1>  Nye startdata for x,y
Herefter vlges klodenummer, f.eks. 2.
S indtastes data for x2, startvrdi for 2. klodes x-koordinat,
efterfulgt af ENTER;
og s indtastes data for y2, startvrdi for 2. klodes y-koordinat,
efterfulgt af ENTER.
Dernst kan vlges enten nyt klodenummer eller tastes ENTER for at
vende tilbage til undermenuen ("exit").
Fortrydes input til en parameter, efter at den er valgt, kan input
skippes ved at taste ENTER uden en vrdi. Dette glder ogs under
alle flgende datanumre.



Data 1 <2>  Nye startdata for vx,vy
Herefter vlges klodenummer og startvrdier for klodens x-hastighed
og y-hastighed indtastes.



Data 1 <3>  Nye data for m
Herefter vlges klodenummer og vrdien for klodens masse indtastes.



Data 1 <4>  Nye data for rmin
Herefter vlges klodenummer og vrdien for klodens rmin indtastes.

rmin-parameteren spiller to roller i programmet.
1) Matematisk: Hvis f.eks. kloderne 1 og 2 kommer s tt p hinanden,
at afstanden mellem deres centre er mindre end grnseafstanden
rmin(1)+rmin(2), s sttes gravitationsloven ud af funktion, og
kraften mellem kloderne (som ellers ville g mod uendelig) holdes
konstant p vrdien ved grnseafstanden. Nr kloderne kommer s tt p
hinanden, er det alts strengt ikke gravitationsloven vi simulerer.
Til gengld undgs store integrationsfejl (trunkeringsfejl), som ellers
ville opst, nr krfterne mellem kloderne bliver meget store.
2) Grafisk: Ved markering af kloderne med en figur, fr figuren
diameteren = 2*rmin.



Data 1 <5>  Nye startdata = stopdata
Herved indlses data for startvrdier for tid, positioner og
hastigheder med vrdier fra sidste simulations stop eller afbrydelse.
OBS! De oprindelige startdata bliver slettet.
     Hvis <5> aktiveres fr frste simulation nulstilles startvrdierne.





Hovedmenu <3>  Data 3: Flag, KS m.m.
--------------------------------------------
Det bl data-vindue viser data ordnet i grupper. Indenfor hver gruppe
(med mere end en parameter) er data markeret med et datanummer.



Data 2 <ENTER> Tilbage til hovedmenu



Data 2 <1>  Data for flag
Herefter tastes datanummer for et flag, som s umiddelbart skifter
vrdi fra 0 til 1 eller fra 1 til 0 (toggle-switch).

Flag er logiske enheder, 0 svarer til nej, 1 svarer til ja.

fmrk:   Flag for tegnemetode, et flag for hver klode.
fksrel: Flag for relativt koordinatsystem.
fgraf:  Flag for grafik.

fmrk1=1: Klode 1 markeres med en figur, som bevger sig p skrmen.
fmrk1=0: Klode 1s bane tegnes som prik-kurve.
Tilsvarende for fmrk2 og fmrk3.
Hurtigste krsel opns ved at stte alle fmrk=0.

fksrel=0: Koordinatsystemet (KS) er et sdvanligt system, i hvilket
          klodernes positioner vises ved deres faktiske (absolutte)
          koordinater.

fksrel=1: Koordinatsystemet er et relativt system, i hvilket:
          klode 1 fastholdes p x-koordinaten, xr1,
                  mens y-koordinaten sttes til 0, y1=0.
                  xr1 sttes normalt til klode 1s start-x.
                  xr1 kan vlges under Data 2 <3>.
          klode 2 placeres til hjre for klode 1 med y2=0 og i den
                  aktuelle afstand r12.
          klode 3 vises med sin korrekte relative positon i forhold
                  til klode 1 og klode 2.

fgraf=1: Grafikskrm vlges, kloderne markeres eller tegnes.
fgraf=0: Tabel over klodernes positioner.



Data 2 <2>  Data for tid
Herefter tastes datanummer for en tidsparameter.

tstart: Starttid for simulationen.
tstop:  Sluttid for simulationen.
dt:     Tidsskridt for simulationen.

Et lille dt ger njagtigheden af simulationen, fordi integrationsfejl
(trunkeringsfejl) i Runge-Kutta metoden bliver mindre. Til gengld skal
der udfres flere beregninger, hvorved simulationen krer langsommere.
dt vlges som en passende lille brkdel af systemets karakteristiske
tider (klodernes omlbstider). Det anbefales at eksperimentere med
valget af dt i de enkelte krsler.



Data 2 <3>  Data for KS
Herefter tastes datanummer for en KS-parameter.

KS str for koordinatsystemet. Her vlges enhederne p akserne.

xmin:  Mindste (venstre) x-vrdi.
xmax:  Strste (hjre) x-vrdi.
ymin:  Mindste (nederste) y-vrdi.
xr1:   Klode 1s faste x-koordinat ved relativt koordinatsystem.
fyx:   Skalaforhold y/x.

Ved valg af xmin eller xmax ndres ymin (og ymax) automatisk sledes
at y-aksen bliver symmetrisk om y=0 med samme enheder som x-aksen.
Dette sker ogs selv om input af xmin eller xmax vlges, og
derefter skippes.

Ved valg af ymin kan brugeren vlge en ymin-vrdi og derved bryde
automatikken fra valget af xmin eller xmax. Vlges derefter atter
xmin eller xmax genoprettes automatikken.

ymax kan ikke vlges direkte af brugeren.

Variablen xr1 angiver klode 1s faste x-koordinat, nr koordinat-
systemet er valgt relativt. Den vlges normalt til klode 1s start-x.

Variablen fyx br sttes til en vrdi, sledes at enhederne p de
to koordinatakser fr samme lngde. Cirkelbaner fremstr s som
cirkler, ikke ellipser. Ogs valget af fyx pvirker ymin (og ymax)
automatisk.





Data 2 <4>  Data for andet
Herefter tastes datanummer for en parameter.

talfelt: Antal pladser i felter til reelle tal.
taldec:  Antal decimaler i felter til reelle tal.
sinke:   Forsinkelse af krsel ved simulation.

I talfelt medtlles fortegn, decimal-punktum og evt. eksponential-
notation. Layout af visning af data, tabeller og tal i koordinatsystem
holder ikke til et talfelt strre end 12.

Sttes taldec til -1 fs eksponentiel notation.

sinke angiver en forsinkelse i millisekunder (heltal) mellem hvert
tidsskridt. Hurtigste krsel fs for sinke = 0.





Hovedmenu <4>  Information og udskrift af data
----------------------------------------------
Det bl data-vindue viser udskrift af information om aktuelle data.



Inf   <ENTER> Tilbage til hovedmenu



Inf   <1>  Start print
Vlges dette fs udskrift p printer af programmets data.
Hvis printeren ikke er tilsluttet kommer der en fejlmeddelelse.
Hvis printeren er tilsluttet, men ikke er on-line afventer programmet
enten, at printeren slukkes, eller, at printeren sttes on-line.



Inf   <2>  Ny information om data
Her kan indtastes en tekst (max 65 tegn) med oplysninger om de
aktuelle data.





Hovedmenu <5>  Datafiler
------------------------
Det bl data-vindue viser alle filer (og eventuelle under-biblioteker)
i det aktuelle bibliotek samt information om data.

Datafilerne indeholder alle data fra Data 1, Data 2 samt information
om data; men ikke filens navn eller bibliotek.

Datafilerne kan lses og redigeres som ASCII-filer, f.eks. i Borland
Turbo Pascals editor. Det krver dog, at man er opmrksom p datas
orden. Desuden skal den afsatte plads til hvert data-element og
mellemrum og linjeskift respekteres.



Datafil <ENTER>  Tilbage til hovedmenu



Datafil <1>  Hent datafil
Navnet p den nskede datafil indtastes. Navnet skal svare til det
komplette navn p en datafil i listen i det bl data-vindue. Biblio-
teket skal ikke angives.

Efter et forsg p at hente en ikke-eksisterende fil afventes et nyt
forsg. Tilsvarende, hvis den nskede fil ikke passer til programmets
system af data. En forkert fil, som hentes ind, vil sandsynligvis
slette eller ndre i eksisterende data p en vilkrlig mde. En efter-
flgende simulering vil derfor sandsynligvis frer til en kre-fejl.



Datafil <2>  Gem datafil
Navnet p filen indtastes. De aktuelle data gemmes i filen.
Der gives ingen advarsel, hvis en eksisterende fil overskrives.



Datafil <3>  Flere datafiler
Hvis det bl data-vindue ikke kan rumme filnavnene i det aktuelle
bibliotek, kan nste side med filnavne vises ved dette valg.



Datafil <4>  Nyt bibliotek
Her kan skiftes til et andet bibliotek. Underbiblioteker til det
bibliotek, i hvilket programmet KLODER3 befinder sig, kan blot
angives ved underbibliotekets navn. Andre biblioteker vlges
sikrest ved at indtaste det fulde stinavn (C:\.....\.....).
Bibliotekets eller stiens navn m ikke efterflges af \.





-----------------------------------------------------------------------------
