Samoadaptacyjne siatki numeryczne

Wielkość: px
Rozpocząć pokaz od strony:

Download "Samoadaptacyjne siatki numeryczne"

Transkrypt

1 Uniwersytet Marii Curie Skłodowskiej Wydział Matematyki, Fizyki i Informatyki Samoadaptacyjne siatki numeryczne Marcin Fatyga Praca magisterska napisana pod kierunkiem Prof. dr hab. Krzysztofa Murawskiego Lublin 2005

2 Spis treści Wstęp 3 Cel i zakres pracy 5 1 Samoadaptacyjne siatki numeryczne Dlaczego siatki samoadaptacyjne? Metoda Algorytm metody Postęp w czasie Zmiana hierarchii siatek w czasie Detekcja obszarów wymagających zagęszczenia Grupowanie komórek Implementacje AMRCLAW Metoda fal Problem Riemanna Metoda pierwszego rzędu dokładności Poprawka drugiego rzędu Struktura programu

3 2.2.1 Program główny i plik wejściowy Warunki początkowe Problem Riemanna Warunki brzegowe Zastosowania i testy Zastosowania Adwekcja Akustyka Hydrodynamika Pętle koronalne Testy Czas wykonywania obliczeń Dokładność obliczeń Podsumowanie 60 Bibliografia 61 2

4 Wtęp Fizyka jest nauką doświadczalną. Każda teoria fizyczna musi być zweryfikowana przez eksperyment. Niestety nie każdy eksperyment można łatwo przeprowadzić. W takich sytuacjach nieocenioną pomocą stają się symulacje numeryczne. Większość symulacji numerycznych wymaga znacznej ilości zasobów komputerowych, pamięci operacyjnej oraz czasu procesora, ponieważ symulacje te są realizowane za pomocą siatek numerycznych o olbrzymich rozdzielczościach. Jednak w wielu wypadkach znaczna część tych zasobów jest marnowana, ponieważ w obrębie domeny obliczeniowej istnieją obszary, które nie wymagają siatek o maksymalnych rozdzielczościach. Samoadaptacyjne siatki numeryczne (ang. Adaptive Mesh Refinement) pozwalają na rozwiązanie tego problemu. Stosuje się w niech nie jedną, ale całą hierarchię siatek o różnych rozmiarach komórek numerycznych. Gęstych siatek używa się tylko w tych obszarach, w których jest to niezbędne, podczas gdy pozostałe obszary, są obrazowane na odpowiednio rzadszych siatkach. Metoda samoadaptacyjnych siatek numerycznych jest rozwijana od ponad 20 lat 1. W ciągu tego czasu wymyślono wiele jej odmian. Powstały wersje, które służą do rozwiązywania układów równań różniczkowych hiperbo- 1 Pierwszymi pracami na ten temat były [1] i [2] 3

5 licznych, parabolicznych i eliptycznych. Samoadaptacyjne siatki numeryczne stosuje się obecnie z dużym powodzeniem w symulacjach zjawisk z wielu dziedzin fizyki, między innymi: dynamiki płynów, astrofizyki, elektromagnetyzmu, termodynamiki, oraz w wielu innych. Istnieje wiele elastycznych implementacji tej metody, w różnych językach programowania. Dzięki temu można łatwo wykorzystać siatki samoadaptacyjne do własnych potrzeb. 4

6 Cel i zakres pracy Niniejsza praca prezentuje metodę samoadaptacyjnych siatek numerycznych, zastosowaną do numerycznego rozwiązywania układów równań różniczkowych. W rozdziale pierwszym przedstawiłem algorytm samoadaptacyjnych siatek numerycznych opracowany przez M. Berger i jej współpracowników [2]. Opisałem główne kroki algorytmu. Rozdział drugi zawiera opis jednej z wielu implementacji tego algorytmu, pakiet AMRCLAW. Pakiet ten został napisany przez R.J. LeVeque a i M. Berger [19]. Opisałem również metodę fal, wykorzystywaną przez AMRCLAW do rozwiązywania układów równań różniczkowych. W trzecim rozdziale przedstawiłem wyniki przeprowadzonych przeze mnie symulacji numerycznych z wykorzystaniem siatek samoadaptacyjnych. Zaprezentowałem również wyniki przeprowadzonych przeze mnie testów, które miały na celu sprawdzenie efektywności metody samoadaptacyjnych siatek numerycznych. 5

7 Rozdział 1 Samoadaptacyjne siatki numeryczne 1.1 Dlaczego siatki samoadaptacyjne? Cząstkowe równania różniczkowe na ogół nie mogą być rozwiązane analitycznie. Dlatego rozwiązuje się je przy użyciu komputerów, z wykorzystaniem metod numerycznych 1. W tym celu wprowadzamy siatki numeryczne, czyli pewien skończony zbior punktów, za pomocą którego będziemy reprezentować przestrzeń fizyczną. W najprostszym przypadku siatkę numeryczną możemy wybrać w postaci sieci kubicznej Γ Z D. Wtedy każdy węzeł sieci i Γ reprezentuje element Ω = [ x 0 +( i 1 u)h, x 2 0+( i+ 1 u)h] D-wymiarowej 2 przestrzeni Ω, gdzie x 0 R D jest pewnym ustalonym punktem, h jest odległością między sąsiednimi węzłami siatki, a u Z D jest wektorem, którego wszystkie składowe są równe 1. 1 Z wyjątkiem nielicznych prostych równań, które mogą być rozwiązane analitycznie przy użyciu programów symbolicznych. 6

8 Widać stąd, że odległość między-węzłowa h determinuje nam błąd, jaki popełniamy przybliżając element przestrzeni Ω pojedynczym punktem. Im mniejsze będą rozmiary pojedynczej komórki numerycznej, czyli mały parametr h, tym dokładniejsze będzie nasze rozwiązanie. Z drugiej strony, jeżeli wybierzemy małe h, czyli zadamy małe odległości między węzłami siatki numerycznej, wtedy obszar obliczeń będzie reprezentowany przez dużą liczbę punktów. Oznacza to, że będziemy potrzebowali więcej zasobów komputera (pamięci operacyjnej i czasu procesora), aby wykonać obliczenia. Dlatego wybierając siatkę numeryczną należy odpowiednio dobrać parametr h. Wybór ten jest przeważnie bardzo trudny i wymaga wielu prób, chyba że zastosujemy siatkę samoadaptacyjną. Siatka ta sama adaptuje się do problemu w taki sposób, aby każdy element rozwiązania reprezentowany był na jak najrzadszej siatce, ale jednocześnie dokładność rozwiązania była nie gorsza niż zadana. Powszechnie stosuje się siatki jednorodne, czyli takie dla których odległości między węzłowe dla danego kierunku są stałe. Siatki te przeważnie dobrze spełniają swoje zadanie. Jednak nie jest to rozwiązanie optymalne. Istnieją problemy, których rozwiązanie trudniej jest przybliżyć (tzn. trzeba użyć gęstszej siatki) w pewnych obszarach (np. z powodu nieciągłości, dużych gradientów lub szoków) niż w innych. Można oczywiście w takich przypadkach wybrać taką siatkę, aby błąd popełniany przy reprezentacji tych trudnych obszarów był akceptowalny. Jednak takie rozwiązanie jest kosztowne, jako że marnuje zasoby komputera na reprezentację łatwych obszarów przy użyciu gęstej siatki. Dla obszarów tych można by użyć siatki rzadszej i to bez straty dokładności obliczeń. Poza tym dla problemów zależnych od czasu trudno 7

9 jest przewidzieć, czy zadana na początku siatka zapewni akceptowalne przybliżenie rozwiązania w późniejszych etapach obliczeń. W metodzie samoadaptacyjnych siatek numerycznych (ang. adaptive mesh refinement) zaczynamy obliczenia od zadanej grubej siatki. W trakcie ewolucji rozwiązania, wyszukujemy obszary, które wymagają większej rozdzielczości. Obszary te identyfikowane są na podstawie pewnej funkcji, lokalnie charakteryzującej dokładność rozwiązania, tzw. lokalnej funkcji błędu. Tam gdzie błąd przekracza dopuszczalny poziom, nakładamy dodatkowe gęstsze siatki. Coraz gęstsze siatki dodawane są rekursywnie, aż do osiągnięcia zadanego, maksymalnego poziomu zagęszczenia, albo aż wartość funkcji błędu będzie akceptowalna (Rys. 1.1). 1.2 Metoda Istnieje kilka algorytmów, które używają samoadaptacyjnych siatek numerycznych. W tym rozdziale przedstawię algorytm opisany w pracy [1]. Algorytm ten został pierwotnie opracowany do rozwiązywania układu równań Eulera, później jednak został uogólniony na dowolny układ równań hiperbolicznych. Podstawowym założeniem tego algorytmu jest zbudowanie takiej struktury siatek, aby osiągnąć zadaną dokładność obliczeń przy minimalnym nakładzie pracy. W tym celu dla każdej komórki obliczana jest lokalna funkcja błędu. Tam gdzie popełniany błąd przekracza zadany próg, tworzone są dodatkowe, gęstsze siatki. W ten sposób siatka zagęszcza się tylko tam, gdzie jest to potrzebne. Co więcej postępowanie to jest powtarzane rekurencyjnie, tzn. każda powstała siatka może zawierać siatki jeszcze gęstsze. Algorytm two- 8

10 Rysunek 1.1: Tylko siatka bazowa pokrywa cały obszar. Pozostałe siatki dodawane są rekurencyjnie tylko tam, gdzie jest to potrzebne. Każda siatka leży w obrębie jakiejś rzadszej siatki. rzy hierarchię siatek, która może być przedstawiona jako drzewo (Rys. 1.2). Drzewo siatek o różnych rozdzielczościach zastępuje tu pojedynczą, klasyczną siatkę numeryczną. Każda siatka (Rys. 1.2a) odpowiada węzłowi drzewa (Rys. 1.2b). Bazowa siatka stanowi korzeń drzewa. Każda siatka, z wyjątkiem siatki bazowej, jest zagnieżdżona w jakiejś rzadszej siatce. Wszystkie siatki leżące na tym samym poziomie w hierarchii mają tą samą rozdzielczość. Rozdzielczości dwóch sąsiednich poziomów różnią się o pewną liczbę naturalną zwaną współczynnikiem zagęszczenia r l. Oznaczmy odległości międzywęzłowe siatki i krok czasowy na poziomie l odpowiednio przez h i l i t i l, gdzie i = 1,..., D, a D jest wymiarem prze- 9

11 Rysunek 1.2: Siatki samoadaptacyjne (a) tworzą hierarchię drzewiastą (b). Korzeniem drzewa jest siatka bazowa S 0 1. S l i oznacza i-tą siatkę z poziomu l. strzeni. Wtedy dla każdego poziomu l = 0,..., l max spełniony jest warunek: h l h l+1 = t l t l+1 = r l. (1.1) Jak widać z powyższego wzoru wraz z zagęszczaniem siatki dokonujemy również odpowiedniego zagęszczenia kroku czasowego. Wartość współczynnika zagęszczenia r l wynosi zwykle od 2 do Algorytm metody Algorytm działania programu, w którym stosują się metodę samoadaptacyjnych siatek numerycznych, przedstawiony jest na poniższym wydruku. Wydruk 1.1: BEGIN t := 0; 10

12 n := K; WHILE t < t_max DO BEGIN Integrate(0); IF n = 0 THEN BEGIN Adaptuj_sie(); n = K; END n = n - 1; t = t + dt; END END Program działa w pętli, aż osiągnięty zostanie końcowy czas symulacji t_max. Procedura Integrate() wykonuje jeden krok w czasie o dt. Procedura ta będzie omówiona szerzej w kolejnym paragrafie. Co ustaloną liczbę kroków K wywoływana jest procedura Adaptuj_sie, której zadaniem jest dostosowanie hierarchii siatek do aktualnego kształtu rozwiązania. To właśnie ta procedura powoduje, że siatka zagęszcza się tylko tam, gdzie jest to potrzebne Postęp w czasie Procedura Integrate() wyznacza postać rozwiązania dla chwili czasu późniejszej o t l, czyli o wartość kroku czasowego dla siatki na poziomie l. Modyfikuje ona wartości siatek na wszystkich poziomach powyżej l. Jest to procedura rekursywna. Możemy ją zapisać w postaci następującego pseudokodu: Wydruk 1.2: PROCEDURE INTEGRATE(l: level) BEGIN IF l==0 THEN L_Kroków = 1; 11

13 ELSE L_Kroków = r_l; REPEAT L_Kroków TIMES BEGIN Advance(l); IF poziom l+1 istnieje THEN BEGIN Ustal_warunki_brzegowe(l+1); INTEGRATE(l+1); Rzutuj_na_niższy_poziom(l); END END END W powyższym kodzie r_l jest współczynnikiem zagęszczenia zdefiniowanym równaniem (1.1). Jeżeli siatka na poziomie l + 1 zagęszczana jest r l+1 razy względem siatek z poziomu l, to również r l+1 razy zagęszczany jest krok czasowy t l+1. Dlatego aby rozwiązanie osiągnęło na obu poziomach tą samą chwilę czasu, na poziomie l + 1 musi być wykonanych r l kroków w czasie. Rys. 1.3a ilu- Rysunek 1.3: Kolejność wykonywania kroków w czasie (a) dla przykładowej hierarchi siatek (b). Na gęstszych siatkach zagęszczany jest również krok czasowy. S l i oznacza i-tą siatkę z poziomu l. 12

14 struje wykonanie procedury Integrate() na przykładowej hierarchii siatek przedstawionej na Rys. 1.3b. Po wykonaniu procedury rozwiązania uzyskane na każdej z siatek odpowiadają tej samej chwili czasu równej t 0. Wyjaśnienia wymagają jeszcze dwa elementy algorytmu: Ustal_warunki_brzegowe(), Rzutuj_na_niższy_poziom(). Procedury te są wywoływane w podprogramie INTEGRATE(). Zostaną one omówione w następnych paragrafach. Warunki brzegowe. Metody numeryczne służące do rozwiązywania cząstkowych równań różniczkowych podają przepis na obliczenie wartości szukanej funkcji q n i na podstawie jej wartości q n i 1 i q n i+1 w sąsiednich komórkach oraz czasami w komórkach dalszych. Ponieważ obliczenia zawsze prowadzimy na jakimś ograniczonym obszarze, nie można takich metod stosować na brzegach, gdzie nie mamy potrzebnych danych. Można oczywiście, na brzegach odpowiednio zmodyfikować metodę numeryczną, ale prowadzi to do komplikacji obliczeń. Aby rozwiązać ten problem stosuje się metodę komórek duchów (ang. ghost cells). Siatkę, na której prowadzimy obliczenia, otacza się buforem dodatkowych komórek (Rys. 1.4). Ich wartości ustala się przed każdą iteracją na danej siatce. W ten sposób możemy stosować naszą metodę numeryczną w nie zmodyfikowanej formie dla całego obszaru obliczeń. Dla komórek leżących przy brzegu obszaru odpowiednie wartości zostaną wzięte z komórek duchów. Pozostaje jeszcze problem, jak ustalać wartości komórek duchów. W metodzie samoadaptacyjnych siatek numerycznych istnieją trzy 13

15 Rysunek 1.4: Implementacja warunków brzegowych. możliwości (Rys. 1.5): przez interpolację wartości komórek poziomu niższego (Rys. 1.5a), przez zwykłe kopiowanie wartości z komórek innej siatki leżącej na tym samym poziomie (Rys. 1.5b), na podstawie fizycznych warunków brzegowych (Rys. 1.5c). Bardzo często komórki duchy leżą w obszarze, który pokryty jest grubszą siatką (Rys. 1.5a). Wtedy wartość takiej komórki może być ustalona przez liniową interpolacją wartości komórek grubszej siatki. Oczywiście można tu również stosować interpolację wyższych rzędów. Najlepsza sytuacja jest wtedy, gdy dwie siatki leżące na tym samym poziomi hierarchii, przylegają do siebie (Rys. 1.5b). Wtedy warunki brzegowe 14

16 Rysunek 1.5: Źródła wartości dla komórek duchów : grubsza siatka (a), siatka sąsiednia (b), fizyczne warunki brzegowe (c). dla każdej z tych siatek można ustalić przez zwykłe kopiowanie wartości komórek z przyległej siatki do odpowiednich komórek obszaru buforowego. Pozostaje jeszcze przypadek, gdy komórka duch leży poza obszarem obliczeń (Rys. 1.5c). Wartości komórek z obszaru buforowego określa się wtedy na podstawie, ustalonych dla całego problemu numerycznego, fizycznych warunków brzegowych. Zależność poziomów hierarchii. Dokładność rozwiązania otrzymanego na gęstszej siatce jest lepsza niż rozwiązania otrzymanego na leżącej pod spodem siatce zgrubnej. Dlatego po każdym kroku wyniki z siatki na poziomie l są rzutowane do leżącej bezpośrednio pod nią siatki na poziomie l 1. 15

17 Rzutowanie może być zrealizowane na kilka sposobów, w zależności od tego jakiej wielkości fizycznej dotyczy: przez sumowanie, dla wielkości addytywnych (np. masy), przez uśrednianie, dla gęstości, ciśnienia, itp. Rysunek 1.6: Rzutowanie wartości komórek. Rzutowanie polega na zastąpieniu wartości funkcji w komórce przez sumę (lub średnią) wartości w tych komórkach gęstszej siatki, które leżą nad nią (Rys. 1.6). To właśnie tym zajmuje się procedura Rzutuj_na_niższy_poziom() Zmiana hierarchii siatek w czasie W miarę jak rozwiązanie ewoluuje w czasie, może się okazać, że aktualna hierarchia siatek nie jest odpowiednia do właściwego reprezentowania obszaru 16

18 obliczeń. Dlatego siatka musi stale dopasowywać się do bieżącej postaci rozwiązania. Za to dopasowywanie odpowiedzialna jest procedura Adaptuj_się. Poniżej przedstawiona jest ta procedura. Wydruk 1.3: PROCEDURA Adaptuj_się(level) level = level_max(t); WHILE level >= 0 DO Wykryj_obszary_do_zagęszczenia(level); IF Istnieje poziom level+1 THEN BEGIN Dodaj_wykryte_obszary_do_poziomu(level+1); Zachowaj_Wartości_z_poziomu(level+1); Usuń_poziom(level+1); END level = level-1; END level = 0; WHILE level <= levelmax(t) DO BEGIN Grupuj(level); Inicjuj(level); END END Algorytm startuje od siatki bazowej. Najpierw na podstawie pewnych kryteriów, które omówimy w następnym paragrafie, wybierane są te obszary siatki, które wymagają zagęszczenia. Jeżeli któraś z komórek zostanie wybrana, to na sąsiednim niższym poziomie zaznaczana jest też komórka leżąca pod nią. Postępujemy tak, żeby zapewnić prawidłowe zagnieżdżenie siatek, tzn. aby siatka z poziomu k leżała całkowicie w obrębie jakiejś siatki z poziomu k 1. W następnym kroku zaznaczone komórki są grupowane w prostokątne (lub prostopadłościenne w trzech wymiarach) regiony przy użyciu procedury Grupuj. Z tak powstałych regionów tworzone są następnie nowe gęstsze siatki. Procedura Inicjuj() ustala następnie wartości funkcji w węzłach no- 17

19 wej siatki. Nowa siatka z poziomu l jest inicjowana przez liniową interpolację wartości funkcji z siatki z poziomu l Detekcja obszarów wymagających zagęszczenia Jak wspomniano wcześniej hierarchia siatek może się zmieniać podczas ewolucji rozwiązania. Najczęściej zmiany tej dokonuje się co stały odstęp czasu, np. co K kroków czasowych wykonywanych na siatce bazowej. To właśnie procedura detekcji obszarów wymagających zagęszczenia jest najważniejszym elementem algorytmu AMR. Ten element algorytmu wskazuje te obszary siatki, które wymagają zagęszczenia. Kluczową sprawą jest znalezienie efektywnej a jednocześnie prostej metody, tak aby związane z nią obliczenia nie zajmowały zbyt dużo czasu. Istnieje kilka takich metod: metoda gradientów, metoda Richardsona, metody oparte na warunkach fizycznych. Pierwsze dwie wykorzystują tzw. lokalną funkcję błędu. Funkcja ta opisuje błąd, jakim obarczona jest wartość rozwiązania w danej komórce numerycznej. W kolejnych paragrafach krótko przedstawię te metody. Metoda Gradientów. W metodzie tej zakładamy, że lokalna funkcja błędu jest proporcjonalna do gradientu rozwiązania. Jeżeli w którejś z komórek wartość gradientu przekracza pewien założony próg, wtedy ta komórka jest 18

20 zaznaczana. Gradient obliczany jest w uproszczony sposób, według następujących wzorów (tu, dla dwóch wymiarów): g i = q(i + 1, j, m) q(i 1, j, m), g j = q(i, j + 1, m) q(i, j 1, m), gdzie q(i, j, m) jest m-tą składową rozwiązania w komórce (i, j). Komórka jest wybierana do zagęszczenia, jeżeli max(g i, g j ) przekracza ustalony próg. Metoda Richardsona. W pracy [1] autorzy zaproponowali, aby do detekcji komórek, które wymagają zagęszczenia, użyć metody wykorzystującej ekstrapolację Richardsona. W metodzie tej dla każdej komórki szacuje się błąd, jaki popełniamy używając bieżącej siatki. Komórki, w których błąd przekroczy akceptowalny próg, są zaznaczane. Rozważmy ewolucję pewnej funkcji q(x, t). Niech operator różnicowy L h przesuwa funkcję u(x, t) w czasie o t, na siatce o odległościach między węzłami h. Ewolucję funkcji q(x, t) możemy wtedy zapisać w postaci: q(x, t + t) = L x q(x, t) + ε( x, t), (1.2) gdzie q(x, t + t) jest rozwiązaniem dokładnym, a ε( x, t) jest lokalną funkcją błędu. Jeżeli wykonamy dwa kroki w czasie, otrzymamy: q(x, t + 2 t) = L 2 xq(x, t) + 2ε( x, t). (1.3) Możemy też zrobić to samo stosując operator różnicowy z przedziałem czasowym 2 t i przestrzennym 2 x. Otrzymamy wtedy: q(x, t + 2 t) = L 2 x q(x, t) + ε(2 x, 2 t). (1.4) 19

21 Z teorii ekstrapolacji Richardsona (stąd nazwa metody) wynika, że funkcja ε jest funkcją jednorodną rzędu n (n 2) 2. Dlatego odejmując stronami dwa ostatnie równania otrzymamy: ε( x, t) = L2 xq(x, t) L 2 x q(x, t). (1.5) 2 n 2 Takie oszacowanie błędu może być łatwo zaimplementowane na każdym poziomie hierarchii siatek. Wystarczy tylko utworzyć na bazie bieżącej siatki, siatkę o odległościach międzywęzłowych dwa razy większych (co jest operacją stosunkowo tanią obliczenowo) i wykonać na niej jeden krok czasowy 2 t, a następnie porównać tak otrzymane rozwiązanie z tym, które uzyskamy na bieżącej siatce po wykonaniu dwóch kroków czasowych t. Stosując równanie (1.5) obliczymy lokalny błąd. Jeżeli błąd okaże się za duży, należy zaznaczyć odpowiednią komórkę, jako wymagającą zagęszczenia. Metody fizyczne. Poza przedstawionymi wyżej metodami uwzględniającymi matematyczne właściwości funkcji, można również stosować metody oparte o fizyczne cechy rozwiązania. Kryterium zagęszczania siatki numerycznej może być jakaś wielkość fizyczna, opisująca symulowany układ. Jeżeli wielkość ta przekroczy w danej komórce ustalony próg, wtedy komórka ta jest zaznaczana. Jako przykład można podać zagadnienie przepływu płynu. Miejsca, w których przepływ jest turbulentny, powinny być symulowane na siatkach o większej rozdzielczości niż te, gdzie przepływ jest laminarny. Dobrym wskaźnikiem obszarów, w których dzieje się najwięcej, jest wartość rotacji wektora prędkości elementu objętości płynu. Można więc przyjąć, że komórki, w których 2 Pełny dowód można znaleźć w pracy [1] 20

22 wartość rotacji prędkości płynu przekracza ustalony próg, powinny być zaznaczane. Metody fizyczne mają tą zaletę, że są bardzo łatwe w implementacji. Często jednak nie dają zadowalających rezultatów, dlatego są rzadko stosowane Grupowanie komórek Komórki zaznaczone jako wymagające zagęszczenia w poprzednim kroku algorytmu muszą być pogrupowane w prostokątne (lub prostopadłościenne w trzech wymiarach) klastry. Dopuszczamy przy tym możliwość, że wewnątrz klastra znajdą się również komórki niezaznaczone. Na kolejnym poziomie zagęszczenia, z klastrów tych zostaną utworzone gęstsze siatki. Algorytm grupujący komórki musi dokonać takiego podziału, aby nie utworzyć kilku dużych klastrów (co zwykle oznacza konieczność zagęszczania wielu nie zaznaczonych komórek), ani wielu małych (iteracje po krótkich wierszach komórek są mało efektywne). Algorytm spełniający powyższe warunki został opracowany przez Berger i Rigoutsos [3]. Opiera się on na metodzie bisekcji. Najpierw wszystkie komórki są umieszczane w jednym klastrze. Jeżeli tak powstała siatka nie jest efektywna, wtedy klaster dzielony jest na dwie części cięciem równoległym do któregoś z kierunków układu współrzędnych. Efektywność siatki jest określona przez wzór: Efektywność siatki = Liczba komórek zaznaczonych Całkowita liczba komórek siatki. (1.6) Aby dokonać podziału w najlepszym miejscu, definiujemy funkcje: Σ i = j f(i, j), Σ j = i f(i, j), 21

23 gdzie 1, jeżeli komórka (i, j) jest zaznaczona, f(i, j) = 0, jeżeli komórka (i, j) nie jest zaznaczona. Jak widać z powyższych wzorów, funkcja ta po prostu zlicza zaznaczone komórki w kierunkach prostopadłych do osi układu współrzędnych. Jeżeli dla jakiegoś indeksu i lub j funkcja Σ zeruje się, oznacza to, że żadna z komórek (i, ) lub (, j) nie jest zaznaczona. Właśnie miejsca zerowe funkcji Σ są potencjalnymi miejscami, w których można dokonać podziału klastra. Jeżeli funkcje Σ mają wiele miejsc zerowych, wybiera się wtedy takie, które leży najbliżej środka klastra. Może się również zdarzyć tak, że funkcja Σ nie będzie miała żadnego miejsca zerowego. W takiej sytuacji stosuje się metodę podobną do metody wykrywania krawędzi w grafice komputerowej. Obliczamy drugą pochodną funkcji Σ 3, która w tym przypadku może być wyrażona jako: i = Σ i+1 2Σ i + Σ i 1, j = Σ j+1 2Σ j + Σ j 1. Jako miejsce podziału wybieramy indeks, dla którego funkcja zmienia znak (czyli indeks, w którym funkcja Σ ma miejsce przegięcia ). Ponieważ indeksów takich może być wiele, za miejsce podziału wybieramy ten, dla którego wyrażenie: Z i+1/2 = i+1 i osiąga wartość maksymalną. 3 Ściślej, ponieważ funkcja Σ jest funkcją dyskretną, należ obliczyć drugą różnicę. 22

24 Algorytm grupujący powtarzany jest rekurencyjnie, aż efektywność siatki zdefiniowana wzorem (1.6) będzie wynosiła co najmniej E, gdzie E jest z góry ustalonym progiem. Zwykle algorytm działa bardzo dobrze dla parametru E 70%. Rysunek 1.7 przedstawia działane opisanego wyżej algorytmu dla przykładowej siatki: 1. dane wejściowe: komórki wybrane do zagęszczenia oznaczone są jako kropki; 2. zgrupowanie komórek w jeden klaster: obliczenie sygnatur Σ; wybór miejsca podziału; 3. cięcie : utworzenie klastra R 1 z prawej części; kontynuujemy dla części lewej; 4. wyznaczenie miejsca podziału; utworzenie klastrów R 2 i R 3. W tym przykładzie z zadanego zbioru komórek utworzyliśmy trzy klastry R 1, R 2 i R 3. Algorytm zakończył dzielenie zadanego obszaru, ponieważ dla każdego klastra osiągnięto dobrą efektywność (1 dla R 1, dla R 2 i dla R 3 ). 23

25 Rysunek 1.7: Działanie algorytmu grupującego komórki. Kropki oznaczają komórki zaznaczone do zagęszczenia. Linią przerywaną oznaczono miejsca podziału klastrów. Linią ciągłą oznaczono nowe siatki, utworzone przez algorytm. Liczby obok paneli oznaczają wartości funkcji Σ i dla odpowiednich wierszy i kolumn. 24

26 1.3 Implementacje Od chwili wynalezienia algorytmu powstało wiele różnorodnych implementacji samoadaptacyjnych siatek numerycznych. Przedstawię tu w skrócie kilka z nich. AMRCLAW Jest to pierwsza implementacja samoadaptacyjnych siatek numerycznych. AMRCLAW powstał jako rozszerzenie pakietu CLAWPACK o algorytm siatek samoadaptacyjnych. Autorami tego programu są R. J. Le- Veque i M. Berger. AMRCLAW może być wykorzystywany do rozwiązywania hiperbolicznych układów równań różniczkowych. Pakiet ten zostanie szczegółowo opisany w następnym rozdziale tej pracy. CHOMBO Siatki samoadaptacyjne są bardzo złożonym algorytmem, wymagają też skomplikowanych struktur danych. Zaprogramowanie tego algorytmu w języku Fortran jest trudne. Z tego powodu twórcy pakietu CHOMBO wykorzystali język C++. Dzięki podejściu obiektowemu, jakie umożliwia C++, stworzono potężną biblioteką klas. W jej skład wchodzą: BoxTools zestaw klas umożliwiających reprezentację danych za pomocą prostopadłościennych siatek, wykonywanie operacji na nich operacji (np. suma, przecięcie), a także odwzorowywanie tych siatek w systemach z rozproszoną pamięcią; AMRTools i AMRTimeDependent implementacje operacji charakterystycznych dla siatek samoadaptacyjnych: zaznaczanie komórek, tworzenie nowych siatek, interpolacja danych między siatkami; 25

27 AMRElliptic zestaw klas umożliwiających rozwiązywanie układów równań eliptycznych. Wybierając biblioteką CHOMBO można tworzyć własne aplikacje i korzystać z zalet siatek samoadaptacyjnych. FLASH Jest to potężne narzędzie służące do symulowania układów astrofizycznych. Umożliwia użytkownikowi zdefiniowanie warunków początkowych, warunków brzegowych, oraz algorytmu ewolucji układu. FLASH wykorzystuje bibliotekę PARAMESH, która zawiera bardzo dobrą implementację algorytmu samoadaptacyjnych siatek numerycznych. FLASH używa także biblioteki MPI (ang. Message-Passing Interface), dzięki czemu może być uruchamiany na systemach wieloprocesorowych różnych typów. 26

28 Rozdział 2 AMRCLAW Jedną z wielu implementacji samoadaptacyjnych siatek numerycznych jest pakiet AMRCLAW. Jest to pakiet procedur napisanych w języku Fortran. Powstał jako rozszerzenie pakietu CLAWPACK (ang.: Conserwation LAWs PACKage) o kod umożliwiający prowadzenie obliczeń przy użyciu samoadaptacyjnych siatek numerycznych. Autorami tego pakietu są R. J. LeVeque i M. J. Berger. AMRCLAW jest oprogramowaniem wolnodostępnym. Najnowszą wersję można pobrać z internetowej strony autora: CLAWPACK i AMRCLAW zostały zaprojektowane do rozwiązywania układów hiperbolicznych równań różniczkowych, opisujących prawa zachowania 1, w postaci 2 : q t + f(q) x + g(q) y + h(q) z = 0, (2.1) 1 Prawem zachowania nazywamy tu równanie różniczkowe, którego rozwiązanie q(x, y, z, t) spełnia warunek q(x, y, z, t)dω = const, gdzie dω jest elementem przestrzeni. Ω 2 W niniejszej pracy przyjęto notację: q a q a 27

29 gdzie q = q(x, y, z, t) R m jest szukanym wektorem, funkcje f(q), g(q) i h(q) opisują strumienie, odpowiednio w kierunku x, y i z. Ogólność zastosowanych w AMRCLAW metod numerycznych umożliwia również rozwiązywanie układów równań, niemających postaci zachowawczej: κ(x, y, z)q t + A(q, x, y, z, t)q x + B(q, x, y, z, t)q y + C(q, x, y, z, t)q z = = Ψ(q, x, y, z, t). (2.2) gdzie A, B, C R m m są macierzami, κ(x, y, z) jest funkcją obciążenia (ang. capacity) a Ψ(q, x, y, z, t) oznacza człon źródłowy opisujący dopływ (lub ubytek) materii z układu. 2.1 Metoda fal AMRCLAW podobnie jak CLAWPACK wykorzystuje metodę fal (ang. wavepropagation method). Metoda ta została wynaleziona przez R. J. LeVeque a w 1997 roku dla równań jednowymiarowych, a następnie rozwinięta na układy równań o dowolnej liczbie wymiarów. Przedstawię tu metodę i jej wyprowadzenie dla przypadku jednowymiarowego. Dokładny opis metody znajduje się w [5]. Metoda fal jest jedną z metod objętości skończonych. Rozwiązanie przybliża się pewną funkcją stałą w komórkach siatki numerycznej. Ewolucję układu wyznacza się rozwiązując, w każdym kroku czasowym, lokalny problem Riemanna 3, na każdej granicy między sąsiednimi komórkami siatki nume- 3 B. Riemann ( ) niemiecki matematyk. Problem Riemanna polega na rozwiązaniu równania q t + Aq x = 0, przy warunku początkowym q(x, 0) =, gdzie q l, x 0 q r, x > 0 q(x, t) : R 2 R m, A R m m, a q l i q r stałymi. 28

30 rycznej. Rozwiązaniem problemu Riemanna jest grupa fal poruszających się w lewo, lub prawo od granicy. Następnie, fale te wykorzystywane są do zmodyfikowania wartości rozwiązania w komórkach sąsiednich. W tej postaci jest to metoda pierwszego rzędu dokładna. Aby uzyskać metodę drugiego rzędu dokładną, stosuje się odpowiednie poprawki i ograniczniki (ang. limiters), dzięki czemu można zmniejszyć dyspersję numeryczną oraz niefizyczne oscylacje, które pojawiają się w okolicy dużych gradientów i nieciągłości rozwiązania Problem Riemanna W tym paragrafie przedstawię jednowymiarowy problem Riemanna. Jest to podstawowy element metody fal. Rozważmy następujący liniowy układ równań: q t + Aq x = 0, (2.3) gdzie q(x, t) : R 2 R m R m, a A R m m jest stałą macierzą. Układ ten opisuje prawo zachowania, ze strumieniem f(q) = Aq. Problem Riemanna polega na rozwiązaniu równania (2.3), przy warunku początkowym (Rys. 2.1a): q l, x (, 0) q(x, 0) = q r, x [0, ) gdzie q l i q r są stałymi., (2.4) Ograniczymy się tu tylko do hiperbolicznych układów równań. Układ równań nazywamy hiperbolicznym, jeżeli macierz A posiada rzeczywiste wartości własne. Dzięki tej własności możemy zapisać, że A = RΛR 1, (2.5) 29

31 gdzie R = [r 1 r 2... r m ] jest macierzą wektorów własnych, Λ = diag(λ 1, λ 2,..., λ m ) jest macierzą diagonalną utworzoną z wartości własnych λ i macierzy A, i = 1... m. Rozwiązaniem problemu Riemanna dla układu (2.3) jest grupa m fal 4 W p, p = 1... m, poruszających się z prędkościami s p równymi wartościom własnym macierzy A. Każda z fal W p jest wielokrotnością wektora własnego macierzy A: W p = α p r p. (2.6) Ponadto fale te spełniają warunek: m q = q r q l = W p. (2.7) p=1 W ogólności dla każdego hiperbolicznego układu równań różniczkowych można rozwiązać problem Riemanna. Otrzymamy wtedy zestaw fal W p wraz z ich prędkościami s p (Rys. 2.1b). Fale W p rozprzestrzeniające się od nieciągłości generują zaburzenia F l i F r, zmieniające wartości komórek odpowiednio po lewej i prawej stronie nieciągłości. Przyjmijmy następujące oznaczenia: s + = max(0, s), ; s = min(0, s). Możemy teraz zapisać zaburzenie poruszające się w lewo oraz w prawo od nieciągłości jako: m F l = (s p ) W p = A (q r q l ) = A q, (2.8) p=1 m F r = (s p ) + W p = A + (q r q l ) = A + q, (2.9) p=1 gdzie A + = RΛ + R 1, A = RΛ R 1. 4 Tu mianem fala określamy nieciągłość (szok) poruszającą się ze stałą prędkością. 30

32 Rysunek 2.1: Problem Riemanna: warunek początkowy (a) i rozwiązanie (b). Rozwiązaniem problemu Riemanna są fale W p, poruszające się od miejsca nieciągłości funkcji początkowej (x = 0) z prędkościami s p Metoda pierwszego rzędu dokładności Rozważmy jednowymiarowe prawo zachowania: q t + f( q) x = 0. (2.10) Funkcja q oznacza tu rozwiązanie dokładne, f( q) jest strumieniem. Zdefiniujmy teraz siatką numeryczną o węzłach x i 1/2 = (i 1/2) x, t n = n t. Całkując równanie (2.10) po obszarze [x i 1/2, x i+1/2 ] [t n, t n+1 ], otrzymamy: xi+1/2 x i 1/2 q(x, t n+1 )dx = + [ tn+1 t n xi+1/2 x i 1/2 f ( q(x + 1/2, t)) dt q(x, t n )dx tn+1 t n ] f ( q(x 1/2, t)) dt. (2.11) 31

33 Z postaci powyższej całki można wywnioskować, że schemat numeryczny jakiego należy użyć do rozwiązania równania (2.10), powinien mieć postać: q n+1 i = q n i t x (F i+1 F i ), (2.12) gdzie q n i przybliża średnią z rozwiązania dokładnego liczoną na przedziale [x i 1/2, x i+1/2 ] w chwili t = t n, a F i przybliża średni strumień przepływający z komórki i 1 do i: qi n = 1 x F i = 1 t xi+1/2 x i 1/2 tn+1 t n q(x, t n )dx, f( q(x 1/2, t))dt. Funkcja q n i jest funkcją stałą w danej komórce numerycznej. Na granicy x i+1/2 każdej komórki numerycznej istnieje nieciągłość q = q i+1 q i (Rys. 2.2). Rysunek 2.2: Rozwiązanie numeryczne q i reprezentuje średnią z q w przedziale [x i 1/2, x i+1/2 ]. Widać więc, że lokalnie, na granicy x = x i+1/2 każdej komórki numerycznej, mamy do czynienia z problemem Riemanna. Oczywiście tylko w przybli- 32

34 żeniu, ponieważ w problemie Riemanna zakładaliśmy, że funkcja q określona jest na przedziałach nieskończonych: q l, dla x (, 0) q(x, t) = q r, dla x [0, ), (2.13) podczas gdy w tym przypadku funkcja wokół punktu x = x i+1/2 określona jest na przedziałach skończonych: q i, dla x [x i 1/2, x i+1/2 ) q(x, t) = q i+1, dla x [x i+1/2, x i+3/2 ). (2.14) Dlatego musimy przyjąć dodatkowe ograniczenie: krok czasowy t jest na tyle mały, że żadna z fal nie przebędzie drogi większej niż szerokość komórki numerycznej x. Warunek ten można przedstawić w następującej postaci: max{s p } t, p = 1... m, (2.15) p x gdzie s p oznacza prędkość fali z rozwiązania problemu Riemanna. Jeżeli powyższy warunek jest spełniony, wtedy mamy pewność, że na wartość funkcji w i-tej komórce mają wpływ wyłącznie fale rozprzestrzeniające się z komórek sąsiednich. Metoda fal polega na rozwiązaniu problemu Riemanna na każdej granicy między komórkami siatki numerycznej i wyznaczeniu struktury fal rozprzestrzeniających się od nieciągłości. Znając fale W p i oraz ich prędkości s p i możemy obliczyć strumienie F i+1 i F i według wzorów (2.8) i (2.9). Wstawiając wzory (2.8) i (2.9) do równania (2.12), otrzymujemy następujący schemat numeryczny: q n+1 i = q n i t x m p=1 ( (s p i+1) W p i+1 + (s p i ) + W p ) i. (2.16) Schemat ten jest schematem pierwszego rzędu. Jest to w zasadzie metoda Godunowa. 33

35 2.1.3 Poprawka drugiego rzędu Powyższy schemat jest schematem pierwszego rzędu. Aby wprowadzić poprawki drugiego rzędu, należy uzupełnić schemat (2.16) o dodatkowy człon: q n+1 i = q n i t x m p=1 ( (s p i+1) W p i+1 + (s p i ) + W p ) t ( i Fi+1 x F ) i. (2.17) gdzie F i jest strumieniem korekcyjnym. Postać tego strumienia wybieramy bazując na schemacie Laxa-Wendroffa 5 : F i = 1 ( 2 A 1 t ) x A q i = = 1 ( λ p 1 t ) 2 x λp W p i. (2.18) p Dokładne wyjaśnienie takiej postaci strumienia korekcyjnego można znaleźć w pracy [9]. Schemat w takiej postaci charakteryzuje się znaczną dyspersją numeryczną. Wokół nieciągłości i stromych zboczy pojawiają się niefizyczne oscylacje (Rys. 2.3a). W p i Aby pozbyć się tych nieporządanych efektów, zastępujemy w równaniu (2.18) = α p i r p przez falę ograniczoną: W p i = Φ(θ p i )W p i, (2.19) gdzie θ p i jest określone następująco: αi 1/α p p θ p i, λ p > 0 i = αi+1/α p p i, λ p < 0. (2.20) Funkcja θ mierzy gładkość rozwiązania. Przyjmuje ona wartości bliskie 1 w miejscach, w których rozwiązanie jest gładkie, oraz wartości dalekie od 1 5 Lax, Wendroffa

36 Rysunek 2.3: Ograniczniki strumienia: rozwiązanie bez zastosowania ograniczników (a), ogranicznik minmod (b), ogranicznik MC (c). Linią ciągłą oznaczono rozwiązanie dokładne a krzyżykami rozwiązanie numeryczne. Źródło: [8] w okolicach nieciągłości i stromych zboczy rozwiązania. Funkcja Φ, zwana ogranicznikiem strumienia, ma za zadanie wygładzać rozwiązanie w okolicach 35

37 nieciągłości. W AMRCLAW można stosować następujące ograniczniki: minmod: Φ(θ) = max(0, min(1, θ)) superbee: Φ(θ) = max(0, min(1, 2θ), min(2, θ)) van Leer: Φ(θ) = θ+ θ 1+θ monotoniczny centrowany (MC): Φ(θ) = max(0, min((1 + θ)/2, 2, 2θ)) brak ogranicznika: Φ(θ) = 1. Tak otrzymany schemat numeryczny jest schematem drugiego rzędu dokładnym. Dzięki zastosowaniu ograniczników nie powoduje on dyspersji numerycznej (Rys. 2.3b i 2.3c). Schemat ten zaimplementowany jest w programach CLAWPACK i AMRCLAW. 2.2 Struktura programu Program AMRCLAW jest bardzo elastycznym narzędziem. Został zaprojektowany w taki sposób, że można za jego pomocą rozwiązywać wiele różnorodnych zagadnień opisywanych przez hiperboliczne układy równań różniczkowych postaci (2.2). Jest to pakiet procedur napisanych w języku Fortran. Aby go zaadaptować do własnych potrzeb, należy uzupełnić kod o elementy specyficzne dla danego zadania, takie jak: warunki początkowe, warunki brzegowe, procedurę rozwiązującą problem Riemanna. Następnie trzeba skompilować cały program. Poniżej przedstawiłem opis najważniejszych procedur i plików, które musi dostarczyć użytkownik. 36

38 2.2.1 Program główny i plik wejściowy Program główny zawarty jest w pliku amr2ez.f (odpowiednio, amr3ez.f dla problemów trójwymiarowych). Podstawowym zadaniem procedury głównej jest pobranie parametrów z pliku wejściowego amr2ez.data (odpowiednio, amr3ez.data dla problemów trójwymiarowych). Plik wejściowy jest zwykłym plikiem tekstowym zawierającym szereg wartości parametrów programu. Najważniejszymi parametrami są: mx, my, mz: liczba komórek siatki numerycznej w każdym z kierunków, mxnest: maksymalny poziom zagęszczenia siatki numerycznej, inrat(1..mxnest): tablica współczynników zagęszczenia siatki na każdym poziomie hierarchii siatek samoadaptacyjnych, inrat(l) = r l (Rozdz. 1.2), t0: początkowy czas, xlower, xupper, ylower,... : współrzędne domeny obliczeniowej, mbc: szerokość bufora komórek duchów, mthbc(1:n): rodzaj warunków brzegowych na każdym z brzegów siatki numerycznej, N = 4 dla dwóch wymiarów, N = 6 dla trzech wymiarów, tol: tolerancja dla dla procedury wyznaczającej obszary do zagęszczenia metodą Richardsona (Rozdz ), tolsp: tolerancja dla procedury wyznaczającej obszary do zagęszczenia metodą gradientów (Rozdz ), 37

39 kchecks: liczba kroków czasowych po których siatka jest zagsęszczana, kchecks = K (Rozdz ), cutoff: wymagana efektywnosc siatki (Rozdz ). Poniższy wydruk przedstawia przykładowy plik konfiguracyjny amr2ez.data. Wydruk mx = cells in x direction 32 my = cells in y direction 3 mxnest = max number of grid levels inrat = refinement ratios (1..mxnest) 2 nout = number of output times to print results 2 outstyle = style of specifying output times tout = output times dtv(1) = initial dt (used in all steps if method(1)=0) 1.0d99 dtv(2) = max allowable dt 0.85d0 cflv(1) = max allowable Courant number 0.75d0 cflv(2) = desired Courant number nv(1) = max number of time steps per call to claw2 1 method(1) = 1 for variable dt 2 method(2) = order 2 method(3) = transverse order 3 method(4) = verbosity of output 0 method(5) = source term splitting 0 method(6) = mcapa 2 method(7) = maux (should agree with parameter in driver) "center" "center" 9 meqn (# variables - e.g. 4 for Euler) 8 mwaves (number of waves in soln to Riemann prob) (mthlim(mw), mw=1,mwaves) selects limiter 0.d0 t0 = initial time 0.d0 xlower = left edge of computational domain 1.d0 xupper = right edge of computational domain 0.d0 ylower = bottom edge of computational domain 1.d0 yupper = top edge of computational domain 5 mbc = number of ghost cells at each boundary 1 mthbc(1) = type of boundary conditions at left 38

40 1 mthbc(2) = type of boundary conditions at right 1 mthbc(3) = type of boundary conditions at bottom 1 mthbc(4) = type of boundary conditions at top F do a~restart (input from rest2d) 1000 iousr 26.0 tol (tolerance for Richardson estimator) 26.0 tolsp (spatial tolerance for refinement) 2 kcheck (how often to est. error - related to buffer size) 3 ibuff (buffer zone size - add # of flagged pts to add).70 cutoff (efficiency cutoff for grid generator) F PRINT option (if T prints soln. to out2d) F NCAR graphics T Matlab graphics Fdprint - verbose domain flags F eprint - error estimation - output the flags F edebug - even more error est. output F gprint - grid generation output (bisection, clustering,...) F nprint - proper nesting output F pprint - projectiong of tagged pts. output F rprint - verbose regridding - output new grid summary F sprint - space (memory) output T tprint - time step reporting - for each level F uprint - updating/upbnding reporting Warunki początkowe Stan początkowy (dla chwili czasu t = 0) ustalany jest za pomocą procedury qinit. Inicjuje ona tablicę q, przechowującą wartości rozwiązania. Procedurę qinit dostarcza użytkownik. Jeżeli wektor q ma p składowych, wtedy element tablicy q(i,m) powinien być zainicjowany wartością średnią m-tej składowej wektora q, w i-tej komórce siatki numerycznej. W szczególności, jeżeli dane początkowe zadane są funkcją gładką, tablica q może zostać zainicjowana przez wartość funkcji wyliczonej w centrum komórki numerycznej. 39

41 Rysunek 2.4: Dane w programie reprezentowane są za pomocą dwóch tablic ql i qr, które przechowują odpowiednio, wartości na lewym i prawym brzegu komórki numerycznej Problem Riemanna Najważniejszą procedurą, którą musi dostarczyć użytkownik, jest procedura rpn2 (odpowiednio, rpn3 dla problemów trójwymiarowych). Określa ona układ równań, który będzie rozwiązywany. Procedura przyjmuje jako swoje argumenty dwie tablice ql i qr. Wartość ql(i,:) jest wartością q L i na lewym brzegu i-tej komórki, natomiast qr(i,:) jest wartością q R i na prawym brzegu i-tej komórki. Taka reprezentacja danych daje większą elastyczność programu, ponieważ dane w komórce mogą być reprezentowane przez funkcją liniową a nie stałą (Rys. 2.4). Procedura rozwiązuje problem Riemanna, na granicy każdej komórki numerycznej. Problem Riemanna na granicy x i 1/2 pomiędzy komórkami i 1 a i jest tu zdefiniowany w następujący sposób (Rys. 2.4): lewy stan: prawy stan: q l = qr(i-1,:), q r = ql(i,:). 40

42 Procedura rozwiązuje problem Riemanna rpn2 dla każdego i a następnie zwraca w parametrach wyjściowych: Wektor W p i 1/2 zawierający zmianę q spowodowaną przez p-tą falę; Prędkości fal s p i 1/2 ; Zaburzenie rozchodzące się w lewo A q i 1/2 ; Zaburzenie rozchodzące się w prawo A + q i 1/2. Na podstawie tych danych inne procedury wyliczają ewolucję układu Warunki brzegowe Bardzo ważnym elementem obliczeń numerycznych są warunki brzegowe. W AMRCLAW warunki brzegowe zostały zaimplementowane za pomocą komórek duchów (Rozdz ). Przed każdym krokiem czasowym należy ustalić wartości komórek duchów. Zadanie to realizuje procedura bc2amr (odpowiednio, bc3amr dla problemów trójwymiarowych). Standardowa procedura zawarta w pakiecie AMRCLAW implementuje trzy rodzaje warunków brzegowych: periodyczne warunki brzegowe, stałe warunki brzegowe, otwarte warunki brzegowe. Oczywiście można również dodać własne, specyficzne dla rozwiązywanego problemu warunki brzegowe. 41

43 AMRCLAW umożliwia niezależne zdefiniowanie warunków brzegowych dla każdej granicy domeny obliczeniowej. Wyboru żądanego rodzaju warunków dokonuje się w pliku konfiguracyjnym, przez nadanie odpowiednich wartości składowym tablicy mthbc. 42

44 Rozdział 3 Zastosowania i testy 3.1 Zastosowania W tym rozdziale przedstawię kilka przykładów wykorzystania samoadaptacyjnych siatek numerycznych do rozwiązywania problemów z różnych dziedzin fizyki Adwekcja Pierwszym przykładem jest dwuwymiarowe równanie adwekcji: q t + uq x + vq y = 0. (3.1) Prędkości u i v wynosiły odpowiednio: u = 0.5, v = 1. Zaburzenie początkowe q(x, y, t = 0) zostało wybrane w sposób następujący: 1 dla (x, y) [0.1, 0.6] [0.1, 0.6] q(x, y, t) = 0.1 dla pozostałych wartości(x, y). Równanie rozwiązywałem w obszarze [0, 1] [0, 1]. W obu kierunkach zasto- 43

45 Rysunek 3.1: Rozwiązanie równania adwekcji. Na rysunkach zaznaczono krawędzie utworzonych przez algorytm klastrów siatek. sowałem poriodyczne warunki brzegowe. Bazowa siatka samoadptacyjna miała rozdzielczość 50 50, maksymalny poziom zagęszczenia wynosił 6. Na każdym poziomie siatka była zagęszczana dwukrotnie. Parametry kontrolujące zagęszczenie były równe: tol = 0.5, tolsp = 0.5, kcheck = 2. Rys. 3.1 przedstawia funkcję q(x, y, t) dla różnych momentów czasu. Zgodnie z oczekiwaniami klastry gęstrzych siatek tworzą się w miajscach, w których występują strome zbocza. Kolejne gęstrze siatki 44

46 pokrywają coraz mniejszy obszar (Rys. 3.1) Akustyka Drugim przykładem jest rozchodzenie się dwuwymiarowej fali sprężystej w niejednorodnym ośrodku. Problem ten charakteryzują równania akustyki, dla dwóch wymiarów. Opisują one zmiany ciśnienia p oraz składowych prędkości u i v, odpowiednio w kierunku osi OX i OY, w zależności od czasu. Równania akustyki są układem równań hiperbolicznych. Można je zapisać w następującej postaci: q t + Aq x + Bq y = 0 (3.2) gdzie q = p u v, A = 0 K 0 1/ρ , B = 0 0 K /ρ 0 0. Tutaj ρ = ρ(x, y) jest gęstością ośrodka, a K modułem sprężystości. W tym przykładzie gęstość ośrodka wynosiła: 1 dla x < 0.5 ρ(x, y) = 4 dla x 0.5. Moduł sprężystości K był stały dla całego obszaru i wynosił 1. Nieciągłość w gęstości powoduje, że prędkości fali po lewej i prawej stronie obszaru są różne i wynoszą zgodnie ze wzorem c = K/ρ odpowiednio: c l = 1, c r = 0.5. W chwili t = 0 w punkcie o współrzędnych (0.25, 0.4) generowana jest fala kulista (Rys. 3.2a). Ewolucję układu symulowałem przy użyciu siatki samoadaptacyjnej o bazowej rozdzielczości komórek i współczynniku 45

47 Rysunek 3.2: Propagacja fali akustycznej w niejednorodnym ośrodku. Wzdłóż prostej x = 0.5 skokowo zmienia się gęstość ośrodka. Dla przejrzystości rysunku nie narysowano siatek z poziomów 3 i 4, zaznaczone są tylko ich krawędzie. zagęszczenia równym 2 dla każdego poziomu. Maksymalny poziom zagęszczenia wynosił 4, dzięki czemu efektywna rozdzielczość siatki samoadaptacyjnej to W typ przykładzie zastosowałem otwarte warunki brzegowe. Rysunki 3.2 przedstawiają wykresy ciśnienia dla chwili t = 0, t = 0.2, t = 0.4, t = 0.5. Zgodnie z oczekiwaniami fala załamuje się na granicy ośrodków, 46

48 wzdłuż prostej x = 0.5. Wyraźnie widać falę załamaną i falę odbitą. Na Rys. 3.2 widać bardzo dobrze zaletę zastosowania siatek samoadaptacyjnych. Siatka zagęszczana jest tylko w obszarach, do których doterła fala. Czoło fali, czyli obszar najbardziej interesujący, reprezentowany jest na siatce najgęstrzej. Natomiast w obszarach do których zaburzenie jeszcze nie dotarło wykożystywana jest zgrubna siatka Hydrodynamika Trzecim przykładem, który zademonstruję, jest problem z zakresu hydrodynamiki. W chwili początkowej w układzie istnieją cztery obszary o różnych wartościach ciśnienia p i gęstości ρ, oddzielone od siebie przegrodami. Następnie szybko usuwamy przegrody i obserwujemy ruch płynu. Wartości parametrów początkowych zebrane są w Tabeli 3.1. Tabela 3.1: Wartości początkowe w obszarach z Rys Oznaczenia: p ciśnienie, ρ gęstość, u, v składowe prędkości. Wielkość Obszar NE Obszar NW Obszar SW Obszar SE p 1,5 0,3 0,03 0,3 ρ o,7 0,5 0,13 0,5 u v

49 Ewolucją tego układu fizycznego rządzą równania Eulera: p t + (ρ V ) = 0, (ρv ) + ((ρv t ) V ) = p, E t + (E V ) = p V, E = p γ 1 + ρv 2 2, γ = c p /c V. Powyższy układ równań można sprowadzić do postaci hiperbolicznej, a więc można go rozwiązać za pomocą programu AMRCLAW. W symulacji ustaliłem bazową rozdzielczość siatki samoadaptacyjnej na 50 50, maksymalny poziom zagęszczenia siatki na 3, współczynnik zagęszczenia na 2. Na Rys. 3.3 przedstawiłem wyniki symulacji. Wyniki te zależą od rozdzielczości siatek numerycznych. Na siatkach najniższego poziomu profile falowe są rozmyte (Rys. 3.3b), zaś na siatkach najgęstrzych profile te są wyostrzone (Rys. 3.3d). Siatki z wyższych poziomów uwydatniają nowe szczegóły rozwiązania, ale jednocześnie pokrywają coraz mniejszą część domeny obliczeniowej. 48

50 Rysunek 3.3: Rozwiązanie równań Eulera: (a) warunki początkowe (wartości funkcji podane są w Tabeli 3.1); (b) (d) rozwiązanie po 0,5 s otrzymane odpowiednio na siatce I, II i III poziomu. Panele przedstawiają wykresy gęstości płynu. 49

51 3.1.4 Pętle koronalne Pętle koronalne są obiektami istniejącymi na Słońcu, w obszarze korony słonecznej. Pętle te mają promień rzędu 10 8 m. Oba ich końce, tzw. stopy, zakotwiczone są w fotosferze Słońca (Rys. 3.4). Pętle koronalne są dobrze opisywane przez równania magnetohydrodynamiki. Teoria ta przewiduje, że pętle zachowują się jak falowody i mogę w nich propagować fale, tzw fale MHD 1. Przypuszczenia te zostały potwierdzone doświadczalnie przez obserwacje przeprowadzone przy użyciu sond kosmicznych TRACE 2 i SOHO 3. Bezpośrednich dowodów na istnienie radialnych oscylacji w pętlach koronalnych dostarczyły badania Wanga i Solanki [16]. Rys. 3.4 przedstawia obrazy uzyskane w tych obserwacjach. Jak wspomniałem wcześniej pętle koronalne mogą być opisane przez równania magnetohydrodynamiki (MHD). Teoria MHD opisuje płyny przeniknięte polem elektromagnetycznym (np. plazmę). Równania MHD są więc połączonymi równaniami Eulera i Maxwell a: p t + (ρ V ) = 0, (3.3) (ρv ) + (ρv ) V = p + 1 µ ( B) B, (3.4) t p t + (p V ) = p(γ 1) V, (3.5) B t = ( V B), (3.6) B = 0. (3.7) Powyższy układ równań może być sprowadzony do postaci zachowawczej, 1 Teoria fal MHD została opracowana przez Edwina i Robertsa ([11]), [12]) 2 Prace Aschwanden a [13] i Nakariakov a [14]. 3 Praca Wang a [15] 50

52 Rysunek 3.4: Wyniki obserwacji uzyskanych z obserwacji Wang i Solanki [16]. Obrazy z lewego panelu pochodzą bezpośrednio z obserwacji. Prawy panel przedstawia obraz komputerowy. (a)-(b) oscylacje poprzeczne, (c)-(d) oscylacje radialne. Jasna linia to granica fotosfery Słońca. Rysunki pochodzą z pracy [16] dzięki temu można go rozwiązać numerycznie za pomocą programu AMRCLAW. Symulacja. Przeprowadziłem symulację numeryczną drgań opisanej wyżej pętli. Zastosowałem model pętli zaproponowany w pracy [10]. Jest to model dwuwymiarowej pętli. Zakładamy, że pole magnetyczne wytwarzane jest przez prąd płynący w nieskończonym przewodniku leżącym wzdłuż prostej równoległej do osi OY i przechodzącej przez punkt o współrzędnych x = 0, z = a. Wektor indukcji magnetycznej ma więc składowe: [ ] a(z + a) B b (x, z) = B 0 x 2 + (z + a), ax. (3.8) 2 x 2 + (z + a) 2 Ciśnienie gazu jest stałe w całym układzie p b (x, z) = const. Gęstość pla- 51

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Funkcja uwikłana (równanie nieliniowe) jest to funkcja, która nie jest przedstawiona jawnym przepisem, wzorem wyrażającym zależność wartości

Bardziej szczegółowo

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH PROPORCJONALNOŚĆ PROSTA Proporcjonalnością prostą nazywamy zależność między dwoma wielkościami zmiennymi x i y, określoną wzorem: y = a x Gdzie a jest

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

4.3 Wyznaczanie prędkości dźwięku w powietrzu metodą fali biegnącej(f2)

4.3 Wyznaczanie prędkości dźwięku w powietrzu metodą fali biegnącej(f2) Wyznaczanie prędkości dźwięku w powietrzu metodą fali biegnącej(f2)185 4.3 Wyznaczanie prędkości dźwięku w powietrzu metodą fali biegnącej(f2) Celem ćwiczenia jest wyznaczenie prędkości dźwięku w powietrzu

Bardziej szczegółowo

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne Metody numeryczne materiały do wykładu dla studentów 7. Całkowanie numeryczne 7.1. Całkowanie numeryczne 7.2. Metoda trapezów 7.3. Metoda Simpsona 7.4. Metoda 3/8 Newtona 7.5. Ogólna postać wzorów kwadratur

Bardziej szczegółowo

5.1. Powstawanie i rozchodzenie się fal mechanicznych.

5.1. Powstawanie i rozchodzenie się fal mechanicznych. 5. Fale mechaniczne 5.1. Powstawanie i rozchodzenie się fal mechanicznych. Ruch falowy jest zjawiskiem bardzo rozpowszechnionym w przyrodzie. Spotkałeś się z pewnością w życiu codziennym z takimi pojęciami

Bardziej szczegółowo

Geometria analityczna

Geometria analityczna Geometria analityczna Paweł Mleczko Teoria Informacja (o prostej). postać ogólna prostej: Ax + By + C = 0, A + B 0, postać kanoniczna (kierunkowa) prostej: y = ax + b. Współczynnik a nazywamy współczynnikiem

Bardziej szczegółowo

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów W ramach zajęć oprogramujemy jedną, wybraną metodę numeryczną: metodę bisekcji numerycznego rozwiązywania równania nieliniowego

Bardziej szczegółowo

Metoda elementów skończonych

Metoda elementów skończonych Metoda elementów skończonych Wraz z rozwojem elektronicznych maszyn obliczeniowych jakimi są komputery zaczęły pojawiać się różne numeryczne metody do obliczeń wytrzymałości różnych konstrukcji. Jedną

Bardziej szczegółowo

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k. Funkcje wymierne Jerzy Rutkowski Teoria Przypomnijmy, że przez R[x] oznaczamy zbiór wszystkich wielomianów zmiennej x i o współczynnikach rzeczywistych Definicja Funkcją wymierną jednej zmiennej nazywamy

Bardziej szczegółowo

Sieci obliczeniowe poprawny dobór i modelowanie

Sieci obliczeniowe poprawny dobór i modelowanie Sieci obliczeniowe poprawny dobór i modelowanie 1. Wstęp. Jednym z pierwszych, a zarazem najważniejszym krokiem podczas tworzenia symulacji CFD jest poprawne określenie rozdzielczości, wymiarów oraz ilości

Bardziej szczegółowo

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Funkcja kwadratowa. f(x) = ax 2 + bx + c, Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \

Bardziej szczegółowo

Informatyka i komputerowe wspomaganie prac inżynierskich

Informatyka i komputerowe wspomaganie prac inżynierskich Informatyka i komputerowe wspomaganie prac inżynierskich Dr Zbigniew Kozioł - wykład Dr Grzegorz Górski - laboratorium Wykład III Numeryczne rozwiązywanie równań różniczkowych. MES, Metoda Elementów Skończonych

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu 1 Metody rozwiązywania równań nieliniowych. Postawienie problemu Dla danej funkcji ciągłej f znaleźć wartości x, dla których f(x) = 0. (1) 2 Przedział izolacji pierwiastka Będziemy zakładać, że równanie

Bardziej szczegółowo

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

Podstawy MATLABA, cd.

Podstawy MATLABA, cd. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Przetwarzanie Sygnałów Studia Podyplomowe, Automatyka i Robotyka Podstawy MATLABA, cd. 1. Wielomiany 1.1. Definiowanie

Bardziej szczegółowo

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH Transport, studia I stopnia Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym

Bardziej szczegółowo

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.

Bardziej szczegółowo

1. PODSTAWY TEORETYCZNE

1. PODSTAWY TEORETYCZNE 1. PODSTAWY TEORETYCZNE 1 1. 1. PODSTAWY TEORETYCZNE 1.1. Wprowadzenie W pierwszym wykładzie przypomnimy podstawowe działania na macierzach. Niektóre z nich zostały opisane bardziej szczegółowo w innych

Bardziej szczegółowo

METODY OBLICZENIOWE. Projekt nr 3.4. Dariusz Ostrowski, Wojciech Muła 2FD/L03

METODY OBLICZENIOWE. Projekt nr 3.4. Dariusz Ostrowski, Wojciech Muła 2FD/L03 METODY OBLICZENIOWE Projekt nr 3.4 Dariusz Ostrowski, Wojciech Muła 2FD/L03 Zadanie Nasze zadanie składało się z dwóch części: 1. Sformułowanie, przy użyciu metody Lagrange a II rodzaju, równania różniczkowego

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

RÓWNANIA RÓŻNICZKOWE WYKŁAD 4

RÓWNANIA RÓŻNICZKOWE WYKŁAD 4 RÓWNANIA RÓŻNICZKOWE WYKŁAD 4 Obszar określoności równania Jeżeli występująca w równaniu y' f ( x, y) funkcja f jest ciągła, to równanie posiada rozwiązanie. Jeżeli f jest nieokreślona w punkcie (x 0,

Bardziej szczegółowo

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego. . Metoda eliminacji. Treść wykładu i ich macierze... . Metoda eliminacji. Ogólna postać układu Układ m równań liniowych o n niewiadomych x 1, x 2,..., x n : a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21

Bardziej szczegółowo

Zadania 1. Czas pracy przypadający na jednostkę wyrobu (w godz.) M 1. Wyroby

Zadania 1. Czas pracy przypadający na jednostkę wyrobu (w godz.) M 1. Wyroby Zadania 1 Przedsiębiorstwo wytwarza cztery rodzaje wyrobów: A, B, C, D, które są obrabiane na dwóch maszynach M 1 i M 2. Czas pracy maszyn przypadający na obróbkę jednostki poszczególnych wyrobów podany

Bardziej szczegółowo

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski METODA SYMPLEKS Maciej Patan Uniwersytet Zielonogórski WSTĘP Algorytm Sympleks najpotężniejsza metoda rozwiązywania programów liniowych Metoda generuje ciąg dopuszczalnych rozwiązań x k w taki sposób,

Bardziej szczegółowo

Rozwiązywanie układów równań liniowych

Rozwiązywanie układów równań liniowych Rozwiązywanie układów równań liniowych Marcin Orchel 1 Wstęp Jeśli znamy macierz odwrotną A 1, to możęmy znaleźć rozwiązanie układu Ax = b w wyniku mnożenia x = A 1 b (1) 1.1 Metoda eliminacji Gaussa Pierwszy

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

OBLICZANIE POCHODNYCH FUNKCJI.

OBLICZANIE POCHODNYCH FUNKCJI. OBLICZANIE POCHODNYCH FUNKCJI. ROZWIĄZYWANIE RÓWNAŃ RÓŻNICZKOWYCH. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH. Obliczanie pochodnych funkcji. Niech będzie dana funkcja y(x określona i różniczkowalna na przedziale

Bardziej szczegółowo

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1) ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL 1. Problem Rozważmy układ dwóch równań z dwiema niewiadomymi (x 1, x 2 ): 1 x1 sin x2 x2 cos x1 (1) Nie jest

Bardziej szczegółowo

Matematyka licea ogólnokształcące, technika

Matematyka licea ogólnokształcące, technika Matematyka licea ogólnokształcące, technika Opracowano m.in. na podstawie podręcznika MATEMATYKA w otaczającym nas świecie zakres podstawowy i rozszerzony Funkcja liniowa Funkcję f: R R określoną wzorem

Bardziej szczegółowo

Systemy. Krzysztof Patan

Systemy. Krzysztof Patan Systemy Krzysztof Patan Systemy z pamięcią System jest bez pamięci (statyczny), jeżeli dla dowolnej chwili t 0 wartość sygnału wyjściowego y(t 0 ) zależy wyłącznie od wartości sygnału wejściowego w tej

Bardziej szczegółowo

PRAWO OHMA DLA PRĄDU PRZEMIENNEGO

PRAWO OHMA DLA PRĄDU PRZEMIENNEGO ĆWICZENIE 53 PRAWO OHMA DLA PRĄDU PRZEMIENNEGO Cel ćwiczenia: wyznaczenie wartości indukcyjności cewek i pojemności kondensatorów przy wykorzystaniu prawa Ohma dla prądu przemiennego; sprawdzenie prawa

Bardziej szczegółowo

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych Pochodna i różniczka unkcji oraz jej zastosowanie do obliczania niepewności pomiarowych Krzyszto Rębilas DEFINICJA POCHODNEJ Pochodna unkcji () w punkcie określona jest jako granica: lim 0 Oznaczamy ją

Bardziej szczegółowo

Złożoność obliczeniowa zadania, zestaw 2

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

Bardziej szczegółowo

WYDZIAŁ LABORATORIUM FIZYCZNE

WYDZIAŁ LABORATORIUM FIZYCZNE 1 W S E i Z W WARSZAWIE WYDZIAŁ LABORATORIUM FIZYCZNE Ćwiczenie Nr 3 Temat: WYZNACZNIE WSPÓŁCZYNNIKA LEPKOŚCI METODĄ STOKESA Warszawa 2009 2 1. Podstawy fizyczne Zarówno przy przepływach płynów (ciecze

Bardziej szczegółowo

D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO

D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO D. Miszczyńska, M.Miszczyński KBO UŁ GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO Gra w sensie niżej przedstawionym to zasady którymi kierują się decydenci. Zakładamy, że rezultatem gry jest wypłata,

Bardziej szczegółowo

Program MC. Obliczyć radialną funkcję korelacji. Zrobić jej wykres. Odczytać z wykresu wartość radialnej funkcji korelacji w punkcie r=

Program MC. Obliczyć radialną funkcję korelacji. Zrobić jej wykres. Odczytać z wykresu wartość radialnej funkcji korelacji w punkcie r= Program MC Napisać program symulujący twarde kule w zespole kanonicznym. Dla N > 100 twardych kul. Gęstość liczbowa 0.1 < N/V < 0.4. Zrobić obliczenia dla 2,3 różnych wartości gęstości. Obliczyć radialną

Bardziej szczegółowo

27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE

27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE 27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE 27.1. Wiadomości wstępne Równaniem różniczkowym cząstkowym nazywamy związek w którym występuje funkcja niewiadoma u dwóch lub większej liczby zmiennych niezależnych i

Bardziej szczegółowo

Nieskończona jednowymiarowa studnia potencjału

Nieskończona jednowymiarowa studnia potencjału Nieskończona jednowymiarowa studnia potencjału Zagadnienie dane jest następująco: znaleźć funkcje własne i wartości własne operatora energii dla cząstki umieszczonej w nieskończonej studni potencjału,

Bardziej szczegółowo

FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe

FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (postać kierunkowa) Funkcja liniowa to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości liczbowe Szczególnie ważny w postaci

Bardziej szczegółowo

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI Wstęp ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI Problem podejmowania decyzji jest jednym z zagadnień sterowania nadrzędnego. Proces podejmowania decyzji

Bardziej szczegółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

ROBOTYKA. Odwrotne zadanie kinematyki - projekt. http://www.mbmaster.pl

ROBOTYKA. Odwrotne zadanie kinematyki - projekt. http://www.mbmaster.pl ROBOTYKA Odwrotne zadanie kinematyki - projekt Zawartość. Wstęp...... Proste zadanie kinematyki cel...... Odwrotne zadanie kinematyki cel..... Analiza statyczna robota..... Proste zadanie kinematyki....

Bardziej szczegółowo

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych, IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. Definicja 1.1. Niech D będzie podzbiorem przestrzeni R n, n 2. Odwzorowanie f : D R nazywamy

Bardziej szczegółowo

Spis treści. Konwencje zastosowane w książce...5. Dodawanie stylów do dokumentów HTML oraz XHTML...6. Struktura reguł...9. Pierwszeństwo stylów...

Spis treści. Konwencje zastosowane w książce...5. Dodawanie stylów do dokumentów HTML oraz XHTML...6. Struktura reguł...9. Pierwszeństwo stylów... Spis treści Konwencje zastosowane w książce...5 Dodawanie stylów do dokumentów HTML oraz XHTML...6 Struktura reguł...9 Pierwszeństwo stylów... 10 Klasyfikacja elementów... 13 Sposoby wyświetlania elementów...

Bardziej szczegółowo

Wartości i wektory własne

Wartości i wektory własne Dość często przy rozwiązywaniu problemów naukowych czy technicznych pojawia się konieczność rozwiązania dość specyficznego układu równań: Zależnego od n nieznanych zmiennych i pewnego parametru. Rozwiązaniem

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

Skrypt 23. Geometria analityczna. Opracowanie L7

Skrypt 23. Geometria analityczna. Opracowanie L7 Projekt Innowacyjny program nauczania matematyki dla liceów ogólnokształcących współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Skrypt 2 Geometria analityczna 1.

Bardziej szczegółowo

4.2 Analiza fourierowska(f1)

4.2 Analiza fourierowska(f1) Analiza fourierowska(f1) 179 4. Analiza fourierowska(f1) Celem doświadczenia jest wyznaczenie współczynników szeregu Fouriera dla sygnałów okresowych. Zagadnienia do przygotowania: szereg Fouriera; sygnał

Bardziej szczegółowo

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4)

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4) Rozdział 1 Prosta i płaszczyzna 1.1 Przestrzeń afiniczna Przestrzeń afiniczna to matematyczny model przestrzeni jednorodnej, bez wyróżnionego punktu. Można w niej przesuwać punkty równolegle do zadanego

Bardziej szczegółowo

LABORATORIUM POMIARY W AKUSTYCE. ĆWICZENIE NR 4 Pomiar współczynników pochłaniania i odbicia dźwięku oraz impedancji akustycznej metodą fali stojącej

LABORATORIUM POMIARY W AKUSTYCE. ĆWICZENIE NR 4 Pomiar współczynników pochłaniania i odbicia dźwięku oraz impedancji akustycznej metodą fali stojącej LABORATORIUM POMIARY W AKUSTYCE ĆWICZENIE NR 4 Pomiar współczynników pochłaniania i odbicia dźwięku oraz impedancji akustycznej metodą fali stojącej 1. Cel ćwiczenia Celem ćwiczenia jest poznanie metody

Bardziej szczegółowo

Rachunek całkowy - całka oznaczona

Rachunek całkowy - całka oznaczona SPIS TREŚCI. 2. CAŁKA OZNACZONA: a. Związek między całką oznaczoną a nieoznaczoną. b. Definicja całki oznaczonej. c. Własności całek oznaczonych. d. Zastosowanie całek oznaczonych. e. Zamiana zmiennej

Bardziej szczegółowo

Ćwiczenie 3. Iteracja, proste metody obliczeniowe

Ćwiczenie 3. Iteracja, proste metody obliczeniowe Ćwiczenie 3. Iteracja, proste metody obliczeniowe Instrukcja iteracyjna ( pętla liczona ) Pętla pozwala na wielokrotne powtarzanie bloku instrukcji. Liczba powtórzeń wynika z definicji modyfikowanej wartości

Bardziej szczegółowo

Arkusz maturalny nr 2 poziom podstawowy ZADANIA ZAMKNIĘTE. Rozwiązania. Wartość bezwzględna jest odległością na osi liczbowej.

Arkusz maturalny nr 2 poziom podstawowy ZADANIA ZAMKNIĘTE. Rozwiązania. Wartość bezwzględna jest odległością na osi liczbowej. Arkusz maturalny nr 2 poziom podstawowy ZADANIA ZAMKNIĘTE Rozwiązania Zadanie 1 Wartość bezwzględna jest odległością na osi liczbowej. Stop Istnieje wzajemnie jednoznaczne przyporządkowanie między punktami

Bardziej szczegółowo

Zwój nad przewodzącą płytą METODA ROZDZIELENIA ZMIENNYCH

Zwój nad przewodzącą płytą METODA ROZDZIELENIA ZMIENNYCH METODA ROZDZIELENIA ZMIENNYCH (2) (3) (10) (11) Modelowanie i symulacje obiektów w polu elektromagnetycznym 1 Rozwiązania równań (10-11) mają ogólną postać: (12) (13) Modelowanie i symulacje obiektów w

Bardziej szczegółowo

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora. 1. Podstawy matematyki 1.1. Geometria analityczna W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora. Skalarem w fizyce nazywamy

Bardziej szczegółowo

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne. Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

Definicja i własności wartości bezwzględnej.

Definicja i własności wartości bezwzględnej. Równania i nierówności z wartością bezwzględną. Rozwiązywanie układów dwóch (trzech) równań z dwiema (trzema) niewiadomymi. Układy równań liniowych z parametrem, analiza rozwiązań. Definicja i własności

Bardziej szczegółowo

Wprowadzenie do algorytmiki

Wprowadzenie do algorytmiki Wprowadzenie do algorytmiki Pojecie algorytmu Powszechnie przyjmuje się, że algorytm jest opisem krok po kroku rozwiązania postawionego problemu lub sposób osiągnięcia jakiegoś celu. Wywodzi się z matematyki

Bardziej szczegółowo

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000

Bardziej szczegółowo

Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych.

Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych. Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych. Jedną z metod symulacji dynamiki cieczy jest zastosowanie metody siatkowej Boltzmanna.

Bardziej szczegółowo

M10. Własności funkcji liniowej

M10. Własności funkcji liniowej M10. Własności funkcji liniowej dr Artur Gola e-mail: a.gola@ajd.czest.pl pokój 3010 Definicja Funkcję określoną wzorem y = ax + b, dla x R, gdzie a i b są stałymi nazywamy funkcją liniową. Wykresem funkcji

Bardziej szczegółowo

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.)

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.) PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY I. Proste na płaszczyźnie (15 godz.) Równanie prostej w postaci ogólnej Wzajemne połoŝenie dwóch prostych Nierówność liniowa z dwiema niewiadomymi

Bardziej szczegółowo

Definicja obrotu: Definicja elementów obrotu:

Definicja obrotu: Definicja elementów obrotu: 5. Obroty i kłady Definicja obrotu: Obrotem punktu A dookoła prostej l nazywamy ruch punktu A po okręgu k zawartym w płaszczyźnie prostopadłej do prostej l w kierunku zgodnym lub przeciwnym do ruchu wskazówek

Bardziej szczegółowo

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych Piotr Modliński Wydział Geodezji i Kartografii PW 13 stycznia 2012 P. Modliński, GiK PW Rozw.

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu Data Mining Wykład 9 Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster Plan wykładu Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne Sformułowanie problemu

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Wykład 5 Podstawowe techniki programownia w przykładach Janusz Szwabiński Plan wykładu: Metoda babilońska wyliczania pierwiastka Liczby pierwsze i sito Eratostenesa Metoda bisekcji

Bardziej szczegółowo

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce Metody systemowe i decyzyjne w informatyce Laboratorium Zadanie nr 3 Osada autor: A Gonczarek Celem poniższego zadania jest zrealizowanie fragmentu komputerowego przeciwnika w grze strategiczno-ekonomicznej

Bardziej szczegółowo

Wprowadzenie do Mathcada 1

Wprowadzenie do Mathcada 1 Wprowadzenie do Mathcada Ćwiczenie. - Badanie zmienności funkcji kwadratowej Ćwiczenie. pokazuje krok po kroku tworzenie prostego dokumentu w Mathcadzie. Dokument ten składa się z następujących elementów:.

Bardziej szczegółowo

Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy

Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy Matematyka, królowa nauk Edycja X - etap 2 Bydgoszcz, 16 kwietnia 2011 Fordoński

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona) f(x) = 0, gdzie. dla n=2 np.

Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona) f(x) = 0, gdzie. dla n=2 np. Układy równań nieliniowych (wielowymiarowa metoda Newtona-Raphsona f(x 0, f ( f, f,..., f n gdzie 2 x ( x, x 2,..., x n dla n2 np. f ( x, y 0 g( x, y 0 dla każdej wielowymiarowej rozwinięcie w szereg Taylora

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie

Bardziej szczegółowo

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. Rozwiązywanie równań nieliniowych z jedną niewiadomą

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. Rozwiązywanie równań nieliniowych z jedną niewiadomą METODY NUMERYCZNE Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą dr hab.inż. Katarzyna Zakrzewska, prof.agh Met.Numer. Wykład 4 1 Rozwiązywanie równań nieliniowych z jedną niewiadomą

Bardziej szczegółowo

17.1 Podstawy metod symulacji komputerowych dla klasycznych układów wielu cząstek

17.1 Podstawy metod symulacji komputerowych dla klasycznych układów wielu cząstek Janusz Adamowski METODY OBLICZENIOWE FIZYKI 1 Rozdział 17 KLASYCZNA DYNAMIKA MOLEKULARNA 17.1 Podstawy metod symulacji komputerowych dla klasycznych układów wielu cząstek Rozważamy układ N punktowych cząstek

Bardziej szczegółowo

Wymagania na poszczególne oceny szkolne z. matematyki. dla uczniów klasy IIIa i IIIb. Gimnazjum im. Jana Pawła II w Mętowie. w roku szkolnym 2015/2016

Wymagania na poszczególne oceny szkolne z. matematyki. dla uczniów klasy IIIa i IIIb. Gimnazjum im. Jana Pawła II w Mętowie. w roku szkolnym 2015/2016 Wymagania na poszczególne oceny szkolne z matematyki dla uczniów klasy IIIa i IIIb Gimnazjum im. Jana Pawła II w Mętowie w roku szkolnym 2015/2016 DZIAŁ 1. FUNKCJE (11h) Uczeń: poda definicję funkcji (2)

Bardziej szczegółowo

Spis treści. Wykaz ważniejszych oznaczeń. Przedmowa 15. Wprowadzenie Ruch falowy w ośrodku płynnym Pola akustyczne źródeł rzeczywistych

Spis treści. Wykaz ważniejszych oznaczeń. Przedmowa 15. Wprowadzenie Ruch falowy w ośrodku płynnym Pola akustyczne źródeł rzeczywistych Spis treści Wykaz ważniejszych oznaczeń u Przedmowa 15 Wprowadzenie 17 1. Ruch falowy w ośrodku płynnym 23 1.1. Dźwięk jako drgania ośrodka sprężystego 1.2. Fale i liczba falowa 1.3. Przestrzeń liczb falowych

Bardziej szczegółowo

Propozycje rozwiązań zadań otwartych z próbnej matury rozszerzonej przygotowanej przez OPERON.

Propozycje rozwiązań zadań otwartych z próbnej matury rozszerzonej przygotowanej przez OPERON. Propozycje rozwiązań zadań otwartych z próbnej matury rozszerzonej przygotowanej przez OPERON. Zadanie 6. Dane są punkty A=(5; 2); B=(1; -3); C=(-2; -8). Oblicz odległość punktu A od prostej l przechodzącej

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Metoda Elementów Skończonych - Laboratorium

Metoda Elementów Skończonych - Laboratorium Metoda Elementów Skończonych - Laboratorium Laboratorium 5 Podstawy ABAQUS/CAE Analiza koncentracji naprężenia na przykładzie rozciąganej płaskiej płyty z otworem. Główne cele ćwiczenia: 1. wykorzystanie

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

Analiza korespondencji

Analiza korespondencji Analiza korespondencji Kiedy stosujemy? 2 W wielu badaniach mamy do czynienia ze zmiennymi jakościowymi (nominalne i porządkowe) typu np.: płeć, wykształcenie, status palenia. Punktem wyjścia do analizy

Bardziej szczegółowo

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 9 AiR III

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 9 AiR III 1 Na podstawie materiałów autorstwa dra inż. Marka Wnuka. Niniejszy dokument zawiera materiały do wykładu z przedmiotu Cyfrowe Przetwarzanie Obrazów i Sygnałów. Jest on udostępniony pod warunkiem wykorzystania

Bardziej szczegółowo

Interpolacja krzywymi sklejanymi stopnia drugiego (SPLINE-2)

Interpolacja krzywymi sklejanymi stopnia drugiego (SPLINE-2) Jacek Złydach (JW) Wstęp Interpolacja krzywymi sklejanymi stopnia drugiego (SPLINE-) Implementacja praktyczna Poniższa praktyczna implementacja stanowi uzupełnienie teoretycznych rozważań na temat interpolacji

Bardziej szczegółowo

Układy równań i równania wyższych rzędów

Układy równań i równania wyższych rzędów Rozdział Układy równań i równania wyższych rzędów Układy równań różniczkowych zwyczajnych Wprowadzenie W poprzednich paragrafach zajmowaliśmy się równaniami różniczkowymi y = f(x, y), których rozwiązaniem

Bardziej szczegółowo

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa). Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z

Bardziej szczegółowo

Laboratorium Metrologii

Laboratorium Metrologii Laboratorium Metrologii Ćwiczenie nr 3 Oddziaływanie przyrządów na badany obiekt I Zagadnienia do przygotowania na kartkówkę: 1 Zdefiniować pojęcie: prąd elektryczny Podać odpowiednią zależność fizyczną

Bardziej szczegółowo

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i,j) (i = 1,,n;j = 1,,m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F = R lub F = C, nazywamy macierzą (rzeczywistą, gdy F

Bardziej szczegółowo

O 2 O 1. Temat: Wyznaczenie przyspieszenia ziemskiego za pomocą wahadła rewersyjnego

O 2 O 1. Temat: Wyznaczenie przyspieszenia ziemskiego za pomocą wahadła rewersyjnego msg M 7-1 - Temat: Wyznaczenie przyspieszenia ziemskiego za pomocą wahadła rewersyjnego Zagadnienia: prawa dynamiki Newtona, moment sił, moment bezwładności, dynamiczne równania ruchu wahadła fizycznego,

Bardziej szczegółowo

Mgr inż. Wojciech Chajec Pracownia Kompozytów, CNT Mgr inż. Adam Dziubiński Pracownia Aerodynamiki Numerycznej i Mechaniki Lotu, CNT SMIL

Mgr inż. Wojciech Chajec Pracownia Kompozytów, CNT Mgr inż. Adam Dziubiński Pracownia Aerodynamiki Numerycznej i Mechaniki Lotu, CNT SMIL Mgr inż. Wojciech Chajec Pracownia Kompozytów, CNT Mgr inż. Adam Dziubiński Pracownia Aerodynamiki Numerycznej i Mechaniki Lotu, CNT SMIL We wstępnej analizie przyjęto następujące założenia: Dwuwymiarowość

Bardziej szczegółowo

Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony

Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony Wymagania konieczne (K) dotyczą zagadnień elementarnych, stanowiących swego rodzaju podstawę, zatem

Bardziej szczegółowo

Testy jednostkowe Wybrane problemy testowania metod rekurencyjnych

Testy jednostkowe Wybrane problemy testowania metod rekurencyjnych Testy jednostkowe Wybrane problemy testowania metod rekurencyjnych Artykuł przeznaczony jest dla osób związanych z testowaniem, programowaniem, jakością oraz wytwarzaniem oprogramowania, wymaga jednak

Bardziej szczegółowo

Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia

Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia Doświadczenie: Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia Cele doświadczenia Celem doświadczenia jest zbadanie zależności drogi przebytej w ruchu przyspieszonym od czasu dla kuli bilardowej

Bardziej szczegółowo

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem

Bardziej szczegółowo

Wyznaczanie parametrów linii długiej za pomocą metody elementów skończonych

Wyznaczanie parametrów linii długiej za pomocą metody elementów skończonych napisał Michał Wierzbicki Wyznaczanie parametrów linii długiej za pomocą metody elementów skończonych Rozważmy tak zwaną linię Lechera, czyli układ dwóch równoległych, nieskończonych przewodników, o przekroju

Bardziej szczegółowo

Krzywa uniwersalna Sierpińskiego

Krzywa uniwersalna Sierpińskiego Krzywa uniwersalna Sierpińskiego Małgorzata Blaszke Karol Grzyb Streszczenie W niniejszej pracy omówimy krzywą uniwersalną Sierpińskiego, zwaną również dywanem Sierpińskiego. Pokażemy klasyczną metodę

Bardziej szczegółowo

Zastosowanie wybranych metod bezsiatkowych w analizie przepływów w pofalowanych przewodach Streszczenie

Zastosowanie wybranych metod bezsiatkowych w analizie przepływów w pofalowanych przewodach Streszczenie Zastosowanie wybranych metod bezsiatkowych w analizie przepływów w pofalowanych przewodach Streszczenie Jednym z podstawowych zagadnień mechaniki płynów jest analiza przepływu płynu przez przewody o dowolnym

Bardziej szczegółowo