SNAFU SNAFU
610
BLOG

A propos pewnego zadania

SNAFU SNAFU Rozmaitości Obserwuj notkę 25

W Dziala "Nauka" nowy bloger TOMEJ podał ciekawe zadanie, które mnie, weterana w bojach z zadaniami z fizyki, zaintrygowało -- i podałem tam swoje rozwiązanie, tzn. czas w sekundach, o który chodziło, otrzymany dla podanych wartości danych.

Bloger BJAB chciałby ze mną porozmawiwc więcej o tym moim rozwiązaniu -- ale ja nie mogę juz wchodzić do Działu "Nauka", bo do tego stopnia został on zapaskudzony, że mnie zwyczajnie bierze obrzydzenie.

Ale przecież ja mogę traktować rozwiązywanie zadań z fizyki, nie w ramach obowiązków zawodowych, po prostu jako hobby -- dlatego też rozmowe mogę dalej prowadzić tutaj!

Mój "wzór" na rozwiązanie zadania jest poniżej.

Równania ruchu, które trzeba rozwiązac w zadaniu TOMEJ-a, podchodząc do niego w ramach mechaniki newtonowskiej, sa dokładnie tego samego typu jak te, które uzywa sie do obliczania orbit planet, satelitów i wszelkich imnnych ciał w Układzie Słonedcznym. A ponieważ ja w obliczaniu orbit ostatnio "tkwię po same uszy", to szybciutko sporządziłem program w języku C, używający algorytmu o nazwie "leapfrog". Przy czym użyłem wariantu "leapfroga" nieco mniej znanego, ale w pełni równoważnego z tym najbardziej znanym.  Tutaj jest link do portalu, w którym sa przedstawione rózne wersje leapfroga. 

Poniższy rogram, który napisałem, puszczałem dla różnych wartosci kroku czasowego dt  -- od 1000 sekund fo 1 sekundy -- i widać wyraźnie, że obliczony czas "celuje" w moment pomiedzy sekundą 961672-gą a 961673-cią.

Nie wykluczam, że cos pokićkałem, bo program napisałem "na kolanie" w przerwie między zajęciami -- ale, jesli jest jakis "bug", to przecież można go będzie usunąć.

Program jest dla tych konkretnych wartości danych, które TOMEJ podał -- ale, można go latwo "uogólnić" dla mas o róznych wartościach i róznych początkowych odległosci -- mozna te dane po prostu wczytywać z klawiatury. Przy czym, przy róznych masach zadanie się troszeckę komplikuje, bo teraz to juz będą dwa niejednakowe sprzężone równania rózniczkowe.

Leapfrog, mimo niezwykłej prostoty, daje wyniki zadziwiająco dokładne. Program, nad którym obecnie pracuję, używając tej metody, oblicza mi położenia Ksiezyca na niebie w okresie od 50-ciu lat "w tył" do 50-ciu lat "wprzód" z błedem nie przekraczającym jednej minuty katowej (sam Księzyc ma rozmiar katowy ok. 30 minut).

Tu jest ten rzeczony Leapfrog:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

main()
{
  int i, dupajasio;
 double GM,dt,dthalf, dtsqby2,a,anew,V,x;
 GM = -0.25*10.0*6.67e-11;
 printf(" Wprowadz krok czasowy dt w leapfrogu w sekundach: ");
 scanf("%lf",&dt);
 printf(" Wprowadziles %lf. Teraz wprowadz zero, to program ruszy z kopyta: ",dt);
 scanf("%d",&dupajasio);
 dthalf  = 0.5*dt;
 dtsqby2 = 0.5*dt*dt;
 x = 5.0;
 V = 0.0;
 
 a = GM/(x*x);


 i = 0;
 while( x> 0.0)
   {
     x = x + V*dt + a*dtsqby2;
     anew = GM/(x*x);
     V = V + (a + anew)*dthalf;
     a = anew;

     printf(" %d %le\n",i,x);
     i += 1;
   }
 printf(" Lepafrog potrzebowal %d krokow dla fazy <zblizania sie>.\n",i-1);
 printf(" Co odpowiada %lf sekundom.\n",(double)(i-1)*dt);
 printf(" W nastepnym kroku odstep miedzy cialami stal sie ujemny --\n");
 printf(" znaczy, ciala <minely sie>.\n\n\n");


}

SNAFU
O mnie SNAFU

Fizyk-dośwadczalnik weteran, taki, co to "z niejednego reaktora neutrony wykorzystywał". Od pewnego czasu już tylko działający na niwie dydaktycznej w amerykańskiej uczelni. Własnie amerykańskośc tej uczelni skłania mnie ku S24, bo strasznie mi brakuje kontaktu z polską mową. Pisywałem przez wiele lat w "Dziale Nauka", ale ostatecznie zadecydowałem, że jako szanujący się fizyk, już tam nie moge się wiecej pojawiać. Dział ów został bowiem straszliwie zapaskudzony przez liczne pseudonaukowe indywidua (podobnie, człowiek ucieka z pokoju, w którym ktos narzygał lub zrobił kupę na środku). A ponieważ interesuję się historią (głownie wielkich konfliktów w okresie ostatnich 200 lat), to próbuję swych sił w Dziale "Historia" -- czasem też w Dziale "Enegetyka", bo akurat kazą mi wykładać m. in. o OZE.

Nowości od blogera

Komentarze

Inne tematy w dziale Rozmaitości