11 kwietnia 2016

Spadanie swobodne z uwzględnieniem oporu powietrza.

Do napisania tego tekstu zdopingowała mnie dyskusja na pl.rec.paralotnie, pierwotnie o opadaniu na zapasie ... i zaproponowane przez jednego z kolegów doświadczenie, polegające na jednoczesnym upuszczeniu w pozycji pionowej, dwóch identycznych plastikowych butelek:
- pierwszej z zawartością 0,2 l wody
- drugiej z 1,3 litra wody.

Wyobrażenie sobie przebiegu zjawiska fizycznego w czasie może być trudne, nawet jak zna się opisujące je wzory fizyczne. Dlatego napisałem prosty kawałek kodu modelujacego spadanie 2 ciał o różnych masach ale jednakowym kształcie. W kolejnych krokach obliczeń siła działajaca na ciało (i powodująca jego przyspieszanie) to jego ciężar pomniejszony o opór powietrza. Opór powietrza jest liczony na podstawie prędkości z poprzedniego kroku, niedokładności wynikające z tego uproszczenia można zmniejszać zmniejszając krok obliczeniowy. Do celów demonstracji wystarczająco dobre wyniki moża uzyskać przy kroku 0,5-0,1 sekundy. Wydaje mi się, że ten poziom matematycznego opisu i jego implementacja w taki prosty sposób powinny być zrozumiałe dla każdego ...

Przyjęto pole poprzecznego przekroju 0,006 metra kwadratowego (pole koła o średnicy 9 cm), stały współczynnik oporu 0,1 niezależnie od prędkości (wzrastająca prędkość w wpływa na skalę zjawiska i opisującą ją liczbę Re ale jak to wpływa na opór butelki ?) i stałą gęstość powietrza (gęstość rośnie wraz ze spadkiem wysokości), czas eksperymentu 10 sekund.

Kod można uruchomić w internetowej 'piaskownicy programistycznej' takiej jak ideone.com (ten kod pod linkem https://ideone.com/CCEYnT ) lub w dowolnym innym środowisku z językiem C, a modyfikując odpowiednio parametry (np. masy ciał, pole poprzecznego przekroju, współczynnik oporu, ...) wirtualnie przeprowadzać różne wersje doświadczenia, wyniki w postaci tabelki ( rysowanie wykresów w wersji 2.0, animacje w 3.5 ... ).

#include < stdio.h >
// stałe fizyczne
const double ro = 1.25; // gestosc powietrza [kg/m^3]
const double g  = 9.81; // przyspieszenie ziemskie [m/s^2]

double Faero(double S, double C, double v) { return v*v*S*C*ro/2; }

int main(void) {
// parametry eksperymentu stale w czasie
double m1 = 0.2; // masa ciala 1 [kg]
double m2 = 1.3; // masa ciala 2 [kg]

double Cx1  =  0.1; // wspolczynnik oporu ciala 1
double Cx2 =   0.1;

double S_1 = 0.006; // pole poprzecznego przekroju [m^2]
double S_2 = 0.006;

double dt    = 0.1;  // modelowy odcinek czasu [s]
double Tmax = 10.0;  // limit czasu [s]

// zmienne w czasie
double a1 = 0.0; // przyspieszenie [m/s^2]
double a2 = 0.0;
double f1 = 0.0; // sila oporu [N]
double f2 = 0.0;
double v1 = 0.0; // predkosc [m/s]
double v2 = 0.0;
double s1 = 0.0; // droga [m]
double s2 = 0.0;

for(double t=0; t < Tmax; t+=dt) {
f1 = Faero(S_1, Cx1, v1); // opor liczony dla predkosci z poprzedniego kroku
f2 = Faero(S_2, Cx2, v2);
a1 = (m1*g - f1) / m1; // przyspieszenie = (ciezar - opor) / mase
a2 = (m2*g - f2) / m2;
double v1p = v1; // predkosc poczatkowa w kroku - do policzenia sredniej
double v2p = v2;
v1 += a1*dt; // predkosc wzrasta o 'przyspieszenie * czas_kroku'
v2 += a2*dt;
s1 += (v1p + v1)/2 * dt; // droga wzrasta o 'sredna_predkosc * czas_kroku'
s2 += (v2p + v2)/2 * dt;
printf("%3.2fs f[%6.2f,%6.2f] a[%4.2f,%4.2f] v[%5.2f,%5.2f] s[%5.2f,%5.2f]\n",
       t+dt, f1,f2, a1,a2, v1,v2, s1,s2);
}

return 0;
}



Wyniki [pierwsze_ciało, drugie_ciało]:

0.50s f[  0.01,  0.01] a[9.78,9.81] v[ 4.90, 4.90] s[ 1.23, 1.23]
0.60s f[  0.01,  0.01] a[9.76,9.80] v[ 5.88, 5.88] s[ 1.76, 1.77]
0.70s f[  0.01,  0.01] a[9.75,9.80] v[ 6.85, 6.86] s[ 2.40, 2.40]
0.80s f[  0.02,  0.02] a[9.72,9.80] v[ 7.82, 7.84] s[ 3.13, 3.14]
0.90s f[  0.02,  0.02] a[9.70,9.79] v[ 8.79, 8.82] s[ 3.97, 3.97]
2.90s f[  0.26,  0.28] a[8.52,9.60] v[27.13,28.24] s[40.29,41.10]
3.00s f[  0.28,  0.30] a[8.43,9.58] v[27.97,29.19] s[43.05,43.97]
3.10s f[  0.29,  0.32] a[8.34,9.56] v[28.81,30.15] s[45.89,46.94]
3.20s f[  0.31,  0.34] a[8.25,9.55] v[29.63,31.11] s[48.81,50.00]
3.30s f[  0.33,  0.36] a[8.16,9.53] v[30.45,32.06] s[51.81,53.16]
3.40s f[  0.35,  0.39] a[8.07,9.51] v[31.26,33.01] s[54.90,56.41]

Jak widać powyżej, po spadnieciu o 2-3 m (0.7-0.8 sek) różnica jest nierejestrowalna, dopiero po opadnieciu o ok. 50 m (3,3 sek) zarejestujemy różnicę gołym okiem.

Natomiast gdyby cieższa butelka (złośliwie ;-), obróciła się bokiem do kierunku lotu (przekrój wzrasta do ok. 0.025 m2) a lżejsza leciała w pozycji opływowej to wynik jest zależny od współczynika oporu i z tą dokładnościa obliczeń (szacowanie współczynników oporu) nie można go prawidłowo przewidzieć.


25 stycznia 2016

Superfinał Pucharu Świata zakończony.

Szwajcar, Stefan Wyss wygrał Superfinał Paralotniowego Pucharu Świata w Meksyku. Z ośmiu rozegranych konkurencji wygrał aż cztery. Drugi był Julien Wirtz z Francji a trzeci Luka Donini z Włoch. Pierwszą panią była Seiko Fukuoka-Neville z Francji (32 miejsce generalnie).

Klaudia zajęła 7 miejsce wśród kobiet. Szkoda trochę, że nikt inny z Polaków nie pojechał ale z drugiej strony to chyba nie jest nasze ulubione miejsce. Tegoroczne Mistrzostwa Świata zostaną rozegrane w sierpniu Krushevie w Macedonii czyli w miejscu na pewno lepiej znanym polskim pilotom i chyba bardziej lubianym.

Zdjęcia z galerii www.pwca.org

21 stycznia 2016

Superfinał Pucharu Świata po 5 konkurencjach


Po pięciu rozegranych konkurencjach Superfinału Paralotniowego Pucharu Świata 2015, czołówka jest raczej wyklarowana, pierwsza dziesiątka przedstawia się następujaco:

RankIDNameNationGliderSponsorT1T2T3T4T5Score
10714Stefan WYSSCHEOzone EnZo 2skywings.ch / Spälti AG / AirBoysTeam892994964658/8699893605
20016Guy ANDERSONGBROzone EnZo 2Anciano Wine, Frontiers Paragliding,776982709/9149159693575
31113Zoran LABOVICNOROzone EnZo 2Dodadans952709/9231609069783545
30332Alexandre JOFRESAFRAOzone EnZo 2Ozone992707/9249379098963545
50009Andreas MALECKIDEUOzone EnZo 2MWZ 24, Flugschule Chiemsee, DHV912983928913711/9173535
60003Julien WIRTZFRAOzone EnZo 2Ozone, Certika934704/9168509109783526
70232Luc ARMANTFRAOzone EnZo 2Ozone926705/9189159159753521
80029Luca DONINIITAOzone EnZo 2AireCornizzolo,Vola Bass Molveno,Woody Valley,AeCi791988930620/8199633501
80715Xevi BONET DALMAUESPOzone EnZo 2Ozone/Alamair888918703/9069089723501
100363Russell OGDENGBROzone EnZo 2Ozone973925701/9178999063498

Nową twarzą jest tutaj Zoran Labovic startujący w barwach Norwegii. Dominacja Ozona jest przytłaczająca (pierwszy Gin jest na 15 miejscu - Mistrz Świata: Aaron Durogati). Na uwagę zasługuje też 5-te miejsce sympatycznego Niemca - Andreasa Małeckiego. Najlepsza dziewczyna: Seiko jest 26 w klasyfikacji ogólnej ze stratą tylko 200 punktów do zwycięzcy.

Najbardziej interesująca (z polskiego punktu widzenia) klasyfikacja kobieca, wygląda tak:

RankIDNameNationGliderSponsorT1T2T3T4T5Score
10128Seiko FUKUOKA NAVILLEFRAOzone EnZo 2Addactis - Ozone - Compass - Airlinks889922897901689/8893409
20038Laurie GENOVESEFRAOzone EnZo 2Axa Assurance - Les Passagers du Vent - Bergans668/8729168858227843291
31696Emanuelle ZUFFEREYCHENiviuk IcePeak 8Plug and play893267673367/4898832816
40050Keiko HIRAKIJPNOzone EnZo 2API / SKY ASAGIRI / falhawk / berghaus261849295/3807777962717
50062Petra SLIVOVACZEGin Boomerang 10GIN GLIDERS332597333/4298228342586
60717Silvia BUZZI FERRARISITAOzone EnZo 2Pandol-fly , AeCI, Vertical Attitude230/2982528054336512119
70708Klaudia BULGAKOWPOLOzone EnZo 2Lukoil / Zanier / Salewa87244236/3063845942086
81170Nao TAKADAJPNOzone Mantra 628241175559190/2481442
90407Atsuko YAMASHITAJPNOzone Mantra 6Senju Pharmaceutical / Rollout288201/2635083322491329
100706Yael MARGELISCHCHENiviuk Icepeak 7128204126/163365261

Klaudyna wylądowała na 10 kilometrze w drugim [2] tasku, w którym cztery rywalki doleciały do mety. Co prawda najgorsze wyniki odpadają ale Klaudii brakuje dobrych konkurencji. W trzecim taku [3] prawie doleciała do mety (lądowała na 70-tym kilometrze z 85-cio kilometrowej trasy) ale znowu 7 dziewczyn było lepszych. W czwartym tasku [4] nikt nie osiągnął mety ale Klaudia zrobiła tylko 38 km (najlepsza kobieta: Seiko Fukuoka Naville -> 72 km, zwycięzca tasku: Brytyjczyk, Guy Anderson -> 73.37 km).
We wczorajszej, piątej konkurencji [5], Klaudyna w końcu zrobiła metę ale ponad 40 minut po Seiko (była przedostatnim zawodnikiem, który osiągnął metę).

Zasadniczo po wpadce z 2-gim tasku widać postęp ale Klaudia może nie zdążyć "rozlatać się" zanim zawody się skończą. Czeszka, Petra Slivova też nie może mówić o udanym starcie, na razie.

Wyniki najlepiej ogładąc na stronach pucharu świata: http://pwca.org/results/results/
Na stronie lokalnego organizatora dane są niepełne i pojawiają się z opóźnieniem.

18 stycznia 2016

Superfinał Pucharu Świata 2015, Vall de Bravo

Trwa superfinał Pucharu Świata dla sezonu 2015. Niestety tylko jeden zawodnik z Polski startuje w tym roku w tych zawodach - Klaudia Bułgakow. Co dziwne w tym miejscu, znanym ze świetnej pogody w styczniu, do tej pory rozegrano tylko jedną konkurencję (zawody trwaja od 12 do 23 stycznia). Wcześniej rozegrano zawody FAI kat 2 "Monarca Open", w ktorych zwyciężył Francuz Pinot MAXIME.

Klaudia w pierwszej konkurencji była 64, wyników kobiecych nie ma ale jeżeli dobrze policzyłem to wśród kobiet 2-ga ex-eqvo z Francuzką  Laurie GENOVESE, wygrał Szwajcar Michael KÜFFER a wsród pań Seiko FUKUOKA NAVILLE (42 ogólnie).

Wyniki zawodów: http://www.monarcaopen.com/