\documentclass[10pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin2]{inputenc}
\usepackage{polski}
\usepackage{indentfirst}
\usepackage{amsmath}

\pagestyle{plain}

\begin{document}

\begin{center}
  \large
  \textbf{Metody Numeryczne II A}
  \\[1 em]
  \normalsize
  Zadanie dodatkowe (nieobowiązkowe).\\
  Ruch planet w~polu sił grawitacyjnych.
  \vspace{1 em}
\end{center}

\bigskip

Należy napisać program przeprowadzający symulację ruchu ciał (planet)
oddziałujących grawitacyjnie ze sobą.  Symulację należy przeprowadzić
rozwiązując numerycznie odpowiedni układ równań różniczkowych.
Program powinien wyświetlać symulowany ruch planet.

Dokładność metody różnicowej można sprawdzać badając zmiany wielkości
fizycznych które dla ścisłego rozwiązania są stałe; są całkami ruchu.
Są to: całkowita energia, moment pędu oraz pęd (który będzie zachowany
w~tym zagadnieniu dla każdej metody różnicowej).

Ponieważ w~zagadnieniu ruchu grawitacyjnego występują siły zależne
\emph{wyłacznie} od położeń możemy zastosować metodę \textbf{LeapFrog}
(żabiego skoku), zadaną wzorami:
\begin{align*}
  v_{n+\frac{1}{2}} &= v_{n-\frac{1}{2}} + \Delta t \, a(x_n) \\
  x_{n+1}
  &= x_{n\hphantom{\mbox{}+\frac{1}{2}}} + \Delta t \, v_{n+\frac{1}{2}},
\end{align*}
gdzie $a$ jest przyspieszeniem grawitacyjnym.

Dokładną postać zagadnienia można wymyślić samemu (do uzgodnienia
z~osobą prowadzącą ćwiczenia).  Poniżej podane są przykłady zagadnień.


\section*{Przykład 1: katapulta grawitacyjna}

Mamy układ planetarny, dla uproszczenia w~dwóch wymiarach, złożony
z~gwiazdy centralnej (Słońca), planety z~której wystrzeliwujemy
bezmasowy (czyli nie generujący oddziaływania grawitacyjnego, a~tylko
podlegający oddziaływaniu ze strony innych ciał) próbnik (Ziemi), oraz
ciężkiej planety krążącej w~dużej odległości od gwiazdy centralnej.
Należy wycelować próbnik (sondę) w~stronę drugiej planety tak, by
przeleciawszy obok niej zyskała prędkość do wylecenia poza układ
planetarny (uwolnienia się z~oddziaływania grawitacyjnego gwiazdy
centralnej).  Dane dotyczące Układu Słonecnego (masy Słońca, masy
i~orbity Ziemi oraz Jowisza) można wziąć z~dowolnych tabel
astronomiczno--fizycznych.  Masy i~odległości należy wyrazić
w~wygodnych jednostkach (zapisując w~tych samych jednostkach stałą
grawitacji), np. w~jednostach masy Ziemi $\mathrm{M}_{\mathrm{Z}}$
i~jednostki astronomicznej a.u..  Program powinien (co najmniej)
wykreślać tor ruchu próbnika.


\section*{Przykład 2: układ podwójny}

Mamy układ podwójny z~planetą. Zobaczyć dla różnych przypadków
stabilność tego układu. Układ powinien być stabilny w~przynajmniej dwu
przypadkach:
\begin{enumerate}
\item Ciasny układ podwójny (dwie gwiazdy o~porównywalnej masie
  krążące blisko siebie), planeta w~dużej odległości wokół środka masy
  dwu gwiazd.

\item Luźny układ podwójny, z~planetą krążącą blisko jednej
  z~gwiazd. Układ planetarny z~gwiazdą ,,towarzyszącą''. 
\end{enumerate}
Potrzebna będzie w~miarę dokładna i~stabilna metoda numeryczna.


\section*{Przykład 3. ruch trójwymiarowy}

Przeprowadzić symulację ruchu układu planetarnego dla nietrywialnej
konfiguracji trójwymiarowej; np. planety o~różnych płaszczyznach
ruchu, czy planeta z~księżycem o~płaszczyźnie ruchu prostopadłej do
ekliptyki.  Należy umożliwić użytkownikowi obracanie układu
współrzędnych.  Przydatna też byłaby możliwość centrowania widoku na
jednym z~ciał.

Służę pomocą przy obrazowaniu obiektów trójwymiarowych na ekranie.


\section*{Przykład 4. zredukowane zagadnienie trzech ciał}

Przeprowadzić symulację ruchu ciała o~pomijalnej masie w~polu
grawitacyjnym pochodzącym od dwu ciał o~dużej masie (np. ruch
planetoidy pod wpływem siły grawitacyjnej Słońca i~Jowisza).  Ruch
należy przedstawić w~układzie, w~którym dwa masywne ciała (poruszające
się zgodnie z~prawami Keplera po orbitach kołowych względem wspólnego
środka masy) pozostają w~spoczynku.  Wykreślić tor ruchu trzeciego
ciała w~tym układzie.  Wybór układu odniesienia w~którym
przeprowadzamy symulację należy do twórcy programu.  Prostsza jest
symulacja w~układzie inercjalnym i~tylko odpowiednie przedstawianie
wyników.  \emph{Uwaga:} układ równań różniczkowych dla tego
zagadnienia jest źle uwarunkowany: należy stosować jak
najdokładniejszą metodę.

\bigskip

Rozwiązanie powyższego zadania jest nieobowiązkowe.  Zrobienie takiego
zadania (lub innego z~zadań dodatkowych które się pojawią) jest
podstawą do wystawienia oczeny \emph{celującej}.  Termin oddania:
dowolny.

\vfill
\begin{flushright}
  Jakub Narębski, Paweł Jankowski
\end{flushright}

\end{document}
