                                                        Vangede  20/11/96  TM

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

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



Generelt om indtastninger i programmet:
---------------------------------------
Menupunkter og datanumre vlges ved at taste tal uden ENTER.
Klodenumre og vrdier for parametre tastes 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 cirklerne i en farve
og slette dem med baggrundsfarven; SetWriteMode er i standard-
tilstanden CopyPut.

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



Start af programmet KloderN.
----------------------------
Programmet startes med kommandoen KLODERN. Herved fremkommer
hovedmenuen *** N 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 N koblede 1.ordens differential-
ligninger, svarende til de N kloders bevgelsesligninger. Disse
ligninger lses i sm tidsskridt dt ved hjlp af en generel "4.ordens
Runge-Kutta metode". Denne metode kan ogs bruges, hvis krfterne
(accelerationerne) afhnger af v og t. - Det gr de dog ikke her.

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, efterfulgt af ENTER.
S indtastes data for x( 2), startvrdi for 2. klodes x-koordinat,
efterfulgt af ENTER;
og s indtastes data for y( 2), 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 cirkel, fr cirklen
radius = 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 med de valgte data
indlses startvrdier, som fra et brugersynspunkt er vilkrlige.



Data 1 <6>  Data for flere kloder
Hvis der er mere end 7 kloder vil et tast p <6> f det bl data-vindue
til at vise flere kloder.





Hovedmenu <3>  Data 2: Antal kloder, 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>  Antal kloder N =
Her vlges antal kloder (1<=N<=Mmax). Nmax er sat til 21.
Hvis N gres mindre bevares de aktuelle data for de fravalgte planeter.



Data 2 <2>  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.
fgraf: Flag for grafik.

fmrk=1: Kloderne markeres med cirkler, som bevger sig p skrmen.
fmrk=0: Klodernes bane tegnes som prik-kurver.

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



Data 2 <3>  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 <4>  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.
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.

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

ymax kan ikke vlges direkte af brugeren.



Data2 <5>  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 KLODERN 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 \.





Hovedmenu <6>  Rafle med kloder
-------------------------------
Her er det muligt at genererer tilfldige data for det give antal
kloder. Der rafles om position (x,y), hastigheder (vx,vy) og
masser (m) for hver klode indenfor intervaller, som kan ndres i
de flgende menupunkter.

Variablen rmin pvirkes ikke ved rafling.



Rafle med kloder <1>  Nye data for xrafmin, xrafmax
ndring af minimum og maximum for rafling af startvrdierne
for klodens position, (x,y).



Rafle med kloder <2>  Nye data for vrafmin, vrafmax
ndring af minimum og maximum for rafling af startvrdierne
for klodens hastighed, (vx,vy).



Rafle med kloder <3>  Nye data for mrafmin, mrafmax
ndring af minimum og maximum for rafling af vrdierne
for klodens masse (m).



Rafle med kloder <4>  Udfr rafling
Her udfres raflingen. De tilfldige data for de N kloders
startpositioner, starthastigheder og masser genereres.
OBS! De gamle startdata bliver herved slettet!
Resultatet af raflingen ses ved simulering eller i data 1.

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