Harjoitus 9
Ratkaisut palautettava viimeistään luennolla 5.4.
1. Kurssin demo-ohjelmien hakemistosta löytyy ohjelma rk.f90, joka ratkaisee muotoa r''=f(t,r,v), r=r(t) olevan yhtälön Rungen ja Kuttan menetelmällä. Esimerkkiohjelma ratkaisee yksiulotteisen harmonisen oskillaattorin liikeyhtälön. Toteuta aliohjelma moduulina ja muuta sitä niin, että funktio f välitetään parametrina. Varmista interface-määrittelyn avulla, että annettu funktio on oikeaa muotoa. Testaa moduulia jollakin pääohjelmalla.
2. Muuta edellistä moduulia niin, että paikka ja nopeus esitetään vektoreina ja voima f on vetovoima. Testaa ohjelmaa laskemalla Aurinkoa 1 AU:n etäisyydellä ympyräradalla kiertävän massattoman kappaleen rata yhden vuoden aikana. Käytä pituuden yksikkönä AU:ta, ajan yksikkönä vuorokautta ja massan yksikkönä Auringon massaa, jolloin gravitaatiovakio (Gaussin gravitaatiovakio) on \gamma=0.00029 59122 08266.
3. Ratkaise tähtäysmenetelmällä yhtälö
y''+ y = x
välillä 0 <= x <= \pi/2 reuna-arvoilla
y(0)=1, y(\pi/2)=0.
(Tarkka ratkaisu on y=x+cos x - (\pi/2) sin x.)
4. Ratkaise edellinen tehtävä differenssimenetelmällä.