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

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe. Z5: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania zagadnienie brzegowe Dyskretne operatory różniczkowania Numeryczne obliczanie pochodnych oraz rozwiązywanie

Bardziej szczegółowo

Rozważmy nieustalony, adiabatyczny, jednowymiarowy ruch gazu nielepkiego i nieprzewodzącego ciepła. Mamy następujące równania rządzące tym ruchem:

Rozważmy nieustalony, adiabatyczny, jednowymiarowy ruch gazu nielepkiego i nieprzewodzącego ciepła. Mamy następujące równania rządzące tym ruchem: WYKŁAD 13 DYNAMIKA MAŁYCH (AKUSTYCZNYCH) ZABURZEŃ W GAZIE Rozważmy nieustalony, adiabatyczny, jednowymiarowy ruch gazu nielepkiego i nieprzewodzącego ciepła. Mamy następujące równania rządzące tym ruchem:

Bardziej szczegółowo

Metody numeryczne w przykładach

Metody numeryczne w przykładach Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

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

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

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

Rozwiązywanie równań nieliniowych

Rozwiązywanie równań nieliniowych Rozwiązywanie równań nieliniowych Marcin Orchel 1 Wstęp Przykłady wyznaczania miejsc zerowych funkcji f : f(ξ) = 0. Wyszukiwanie miejsc zerowych wielomianu n-tego stopnia. Wymiar tej przestrzeni wektorowej

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

KADD Minimalizacja funkcji

KADD Minimalizacja funkcji Minimalizacja funkcji Poszukiwanie minimum funkcji Foma kwadratowa Metody przybliżania minimum minimalizacja Minimalizacja w n wymiarach Metody poszukiwania minimum Otaczanie minimum Podział obszaru zawierającego

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

KADD Minimalizacja funkcji

KADD Minimalizacja funkcji Minimalizacja funkcji n-wymiarowych Forma kwadratowa w n wymiarach Procedury minimalizacji Minimalizacja wzdłuż prostej w n-wymiarowej przestrzeni Metody minimalizacji wzdłuż osi współrzędnych wzdłuż kierunków

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

FUNKCJA LINIOWA - WYKRES

FUNKCJA LINIOWA - WYKRES FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają 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

- prędkość masy wynikająca z innych procesów, np. adwekcji, naprężeń itd.

- prędkość masy wynikająca z innych procesów, np. adwekcji, naprężeń itd. 4. Równania dyfuzji 4.1. Prawo zachowania masy cd. Równanie dyfuzji jest prostą konsekwencją prawa zachowania masy, a właściwie to jest to prawo zachowania masy zapisane dla procesu dyfuzji i uwzględniające

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Metoda rozdzielania zmiennych

Metoda rozdzielania zmiennych Rozdział 12 Metoda rozdzielania zmiennych W tym rozdziale zajmiemy się metodą rozdzielania zmiennych, którą można zastosować, aby wyrazić jawnymi wzorami rozwiązania pewnych konkretnych równań różniczkowych

Bardziej szczegółowo

- Strumień mocy, który wpływa do obszaru ograniczonego powierzchnią A ( z minusem wpływa z plusem wypływa)

- Strumień mocy, który wpływa do obszaru ograniczonego powierzchnią A ( z minusem wpływa z plusem wypływa) 37. Straty na histerezę. Sens fizyczny. Energia dostarczona do cewki ferromagnetykiem jest znacznie większa od energii otrzymanej. Energia ta jest tworzona w ferromagnetyku opisanym pętlą histerezy, stąd

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

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Modelowanie rynków finansowych z wykorzystaniem pakietu R Modelowanie rynków finansowych z wykorzystaniem pakietu R Metody numeryczne i symulacje stochastyczne Mateusz Topolewski woland@mat.umk.pl Wydział Matematyki i Informatyki UMK Plan działania 1 Całkowanie

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

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Metoda eliminacji Gaussa. Autorzy: Michał Góra Metoda eliminacji Gaussa Autorzy: Michał Góra 9 Metoda eliminacji Gaussa Autor: Michał Góra Przedstawiony poniżej sposób rozwiązywania układów równań liniowych jest pewnym uproszczeniem algorytmu zwanego

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

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

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

Metoda eliminacji Gaussa

Metoda eliminacji Gaussa Metoda eliminacji Gaussa Rysunek 3. Rysunek 4. Rozpoczynamy od pierwszego wiersza macierzy opisującej nasz układ równań (patrz Rys.3). Zakładając, że element a 11 jest niezerowy (jeśli jest, to niezbędny

Bardziej szczegółowo

3. Macierze i Układy Równań Liniowych

3. Macierze i Układy Równań Liniowych 3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x

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 = 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

Prędkość fazowa i grupowa fali elektromagnetycznej w falowodzie

Prędkość fazowa i grupowa fali elektromagnetycznej w falowodzie napisał Michał Wierzbicki Prędkość fazowa i grupowa fali elektromagnetycznej w falowodzie Prędkość grupowa paczki falowej Paczka falowa jest superpozycją fal o różnej częstości biegnących wzdłuż osi z.

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

Programowanie celowe #1

Programowanie celowe #1 Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem

Bardziej szczegółowo

1 Układy równań liniowych

1 Układy równań liniowych II Metoda Gaussa-Jordana Na wykładzie zajmujemy się układami równań liniowych, pojawi się też po raz pierwszy macierz Formalną (i porządną) teorią macierzy zajmiemy się na kolejnych wykładach Na razie

Bardziej szczegółowo

13. Równania różniczkowe - portrety fazowe

13. Równania różniczkowe - portrety fazowe 13. Równania różniczkowe - portrety fazowe Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny 13. wrównania Krakowie) różniczkowe - portrety fazowe 1 /

Bardziej szczegółowo

Projekt 6: Równanie Poissona - rozwiązanie metodą algebraiczną.

Projekt 6: Równanie Poissona - rozwiązanie metodą algebraiczną. Projekt 6: Równanie Poissona - rozwiązanie metodą algebraiczną. Tomasz Chwiej 9 sierpnia 18 1 Wstęp 1.1 Dyskretyzacja n y V V 1 V 3 1 j= i= 1 V 4 n x Rysunek 1: Geometria układu i schemat siatki obliczeniowej

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 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

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

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

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

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

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

Metody numeryczne I Równania nieliniowe

Metody numeryczne I Równania nieliniowe Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem

Bardziej szczegółowo

RÓWNANIA NIELINIOWE Maciej Patan

RÓWNANIA NIELINIOWE Maciej Patan RÓWNANIA NIELINIOWE Maciej Patan Uniwersytet Zielonogórski Przykład 1 Prędkość v spadającego spadochroniarza wyraża się zależnością v = mg ( 1 e c t) m c gdzie g = 9.81 m/s 2. Dla współczynnika oporu c

Bardziej szczegółowo

Egzamin z Metod Numerycznych ZSI, Grupa: A

Egzamin z Metod Numerycznych ZSI, Grupa: A Egzamin z Metod Numerycznych ZSI, 06.2005. Grupa: A Nazwisko: Imię: Numer indeksu: Ćwiczenia z: Data: Część 1. Test wyboru, max 36 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa

Bardziej szczegółowo

Metody rozwiązania równania Schrödingera

Metody rozwiązania równania Schrödingera Metody rozwiązania równania Schrödingera Równanie Schrödingera jako algebraiczne zagadnienie własne Rozwiązanie analityczne dla skończonej i nieskończonej studni potencjału Problem rozwiązania równania

Bardziej szczegółowo

1 Równania różniczkowe zwyczajne o rozdzielonych zmiennych

1 Równania różniczkowe zwyczajne o rozdzielonych zmiennych Równania różniczkowe zwyczajne o rozdzielonych zmiennych Definicja. Równaniem różniczkowym o rozdzielonych zmiennych nazywamy równanie postaci p(y) = q() (.) rozwiązanie równania sprowadza się do postaci

Bardziej szczegółowo

2. Układy równań liniowych

2. Układy równań liniowych 2. Układy równań liniowych Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2017/2018 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 2. Układy równań liniowych zima 2017/2018 1 /

Bardziej szczegółowo

Wykład FIZYKA I. 11. Fale mechaniczne. Dr hab. inż. Władysław Artur Woźniak

Wykład FIZYKA I. 11. Fale mechaniczne.  Dr hab. inż. Władysław Artur Woźniak Wykład FIZYKA I 11. Fale mechaniczne Dr hab. inż. Władysław Artur Woźniak Instytut Fizyki Politechniki Wrocławskiej http://www.if.pwr.wroc.pl/~wozniak/fizyka1.html FALA Falą nazywamy każde rozprzestrzeniające

Bardziej szczegółowo

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A Egzamin z Metod Numerycznych ZSI, 06.2007. Egzamin, Gr. A Imię i nazwisko: Nr indeksu: Section 1. Test wyboru, max 33 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa odpowiedź

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

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

Całkowanie numeryczne

Całkowanie numeryczne Całkowanie numeryczne Poniżej omówione zostanie kilka metod przybliżania operacji całkowania i różniczkowania w szczególności uzależnieniu pochodnej od jej różnic skończonych gdy równanie różniczkowe mamy

Bardziej szczegółowo

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska Funkcje liniowe i wieloliniowe w praktyce szkolnej Opracowanie : mgr inż. Renata Rzepińska . Wprowadzenie pojęcia funkcji liniowej w nauczaniu matematyki w gimnazjum. W programie nauczania matematyki w

Bardziej szczegółowo

Funkcja liniowa - podsumowanie

Funkcja liniowa - podsumowanie Funkcja liniowa - podsumowanie 1. Funkcja - wprowadzenie Założenie wyjściowe: Rozpatrywana będzie funkcja opisana w dwuwymiarowym układzie współrzędnych X. Oś X nazywana jest osią odciętych (oś zmiennych

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

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a TEMATYKA: Krzywe Bézier a Ćwiczenia nr 7 DEFINICJE: Interpolacja: przybliżanie funkcji za pomocą innej funkcji, zwykle wielomianu, tak aby były sobie równe w zadanych punktach. Poniżej przykład interpolacji

Bardziej szczegółowo

Numeryczne rozwiązywanie równań różniczkowych ( )

Numeryczne rozwiązywanie równań różniczkowych ( ) Numeryczne rozwiązywanie równań różniczkowych Równanie różniczkowe jest to równanie, w którym występuje pochodna (czyli różniczka). Przykładem najprostszego równania różniczkowego może być: y ' = 2x które

Bardziej szczegółowo

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2010 Co to znaczy rozwiazać równanie? Przypuśmy, że postawiono przed nami problem rozwiazania

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

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 Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności

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

x y

x y Przykłady pytań na egzamin końcowy: (Uwaga! Skreślone pytania nie obowiązują w tym roku.). Oblicz wartość interpolacji funkcjami sklejanymi (przypadek (case) a), dla danych i =[- 4 5], y i =[0 4 -]. Jaka

Bardziej szczegółowo

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

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

Bardziej szczegółowo

1 Symulacja procesów cieplnych 1. 2 Algorytm MES 2. 3 Implementacja rozwiązania 2. 4 Całkowanie numeryczne w MES 3. k z (t) t ) k y (t) t )

1 Symulacja procesów cieplnych 1. 2 Algorytm MES 2. 3 Implementacja rozwiązania 2. 4 Całkowanie numeryczne w MES 3. k z (t) t ) k y (t) t ) pis treści ymulacja procesów cieplnych Algorytm ME 3 Implementacja rozwiązania 4 Całkowanie numeryczne w ME 3 ymulacja procesów cieplnych Procesy cieplne opisuje równanie różniczkowe w postaci: ( k x (t)

Bardziej szczegółowo

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozdział 1 PROGRAMOWANIE LINIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując

Bardziej szczegółowo

II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski

II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski 1 1 Różniczkowanie numeryczne Rozważmy funkcję f(x) określoną na sieci równoodległyc węzłów. Funkcja f(x) może być dana za pomocą wzoru analitycznego

Bardziej szczegółowo

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych Uniwersytet Zielonogórski Wydział Informatyki, Elektrotechniki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Elektrotechnika niestacjonarne-zaoczne pierwszego stopnia z tyt. inżyniera

Bardziej szczegółowo

Rozważania rozpoczniemy od fal elektromagnetycznych w próżni. Dla próżni równania Maxwella w tzw. postaci różniczkowej są następujące:

Rozważania rozpoczniemy od fal elektromagnetycznych w próżni. Dla próżni równania Maxwella w tzw. postaci różniczkowej są następujące: Rozważania rozpoczniemy od fal elektromagnetycznych w próżni Dla próżni równania Maxwella w tzw postaci różniczkowej są następujące:, gdzie E oznacza pole elektryczne, B indukcję pola magnetycznego a i

Bardziej szczegółowo

Rozwiązywanie zależności rekurencyjnych metodą równania charakterystycznego

Rozwiązywanie zależności rekurencyjnych metodą równania charakterystycznego Rozwiązywanie zależności rekurencyjnych metodą równania charakterystycznego WMS, 2019 1 Wstęp Niniejszy dokument ma na celu prezentację w teorii i na przykładach rozwiązywania szczególnych typów równań

Bardziej szczegółowo

Widmo fal elektromagnetycznych

Widmo fal elektromagnetycznych Czym są fale elektromagnetyczne? Widmo fal elektromagnetycznych dr inż. Romuald Kędzierski Podstawowe pojęcia związane z falami - przypomnienie pole falowe część przestrzeni objęta w danej chwili falą

Bardziej szczegółowo

1. BILANSOWANIE WIELKOŚCI FIZYCZNYCH

1. BILANSOWANIE WIELKOŚCI FIZYCZNYCH 1. BILANSOWANIE WIELKOŚCI FIZYCZNYCH Ośrodki materialne charakteryzują dwa rodzaje różniących się zasadniczo od siebie wielkości fizycznych: globalne (ekstensywne) przypisane obszarowi przestrzeni fizycznej,

Bardziej szczegółowo

Metody numeryczne Wykład 4

Metody numeryczne Wykład 4 Metody numeryczne Wykład 4 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Metody skończone rozwiązywania

Bardziej szczegółowo

Metody rozwiązywania równań nieliniowych

Metody rozwiązywania równań nieliniowych Metody rozwiązywania równań nieliniowych Rozwiązywanie równań nieliniowych Ogólnie równanie o jednej niewiadomej x można przedstawić w postaci f ( x)=0, x R, (1) gdzie f jest wystarczająco regularną funkcją.

Bardziej szczegółowo

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa SIMR 06/07, Analiza, wykład, 07-0- Przestrzeń wektorowa Przestrzeń wektorowa (liniowa) - przestrzeń (zbiór) w której określone są działania (funkcje) dodawania elementów i mnożenia elementów przez liczbę

Bardziej szczegółowo

Metody Obliczeniowe Mikrooptyki i Fotoniki

Metody Obliczeniowe Mikrooptyki i Fotoniki Metody Obliczeniowe Mikrooptyki i Fotoniki https://www.igf.fuw.edu.pl/pl/courses/lectures/metody-obliczen-95-021c/ Podstawy metody różnic skończonych (Basics of finite-difference methods) Podstawy metody

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

Fala jest zaburzeniem, rozchodzącym się w ośrodku, przy czym żadna część ośrodka nie wykonuje zbyt dużego ruchu

Fala jest zaburzeniem, rozchodzącym się w ośrodku, przy czym żadna część ośrodka nie wykonuje zbyt dużego ruchu Ruch falowy Fala jest zaburzeniem, rozchodzącym się w ośrodku, przy czym żadna część ośrodka nie wykonuje zbyt dużego ruchu Fala rozchodzi się w przestrzeni niosąc ze sobą energię, ale niekoniecznie musi

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

Równania dla potencjałów zależnych od czasu

Równania dla potencjałów zależnych od czasu Równania dla potencjałów zależnych od czasu Potencjały wektorowy A( r, t i skalarny ϕ( r, t dla zależnych od czasu pola elektrycznego E( r, t i magnetycznego B( r, t definiujemy poprzez następujące zależności

Bardziej szczegółowo

RÓWNANIA RÓŻNICZKOWE WYKŁAD 2

RÓWNANIA RÓŻNICZKOWE WYKŁAD 2 RÓWNANIA RÓŻNICZKOWE WYKŁAD 2 Równania różniczkowe o zmiennych rozdzielonych Równania sprowadzalne do równań o zmiennych rozdzielonych Niech f będzie funkcją ciągłą na przedziale (a, b), spełniającą na

Bardziej szczegółowo

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcja homograficzna. Definicja. Funkcja homograficzna jest to funkcja określona wzorem f() = a + b c + d, () gdzie współczynniki

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

Zad. 3: Układ równań liniowych

Zad. 3: Układ równań liniowych 1 Cel ćwiczenia Zad. 3: Układ równań liniowych Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich

Bardziej szczegółowo

Fale elektromagnetyczne

Fale elektromagnetyczne Fale elektromagnetyczne dr inż. Ireneusz Owczarek CMF PŁ ireneusz.owczarek@p.lodz.pl http://cmf.p.lodz.pl/iowczarek 2012/13 Plan wykładu Spis treści 1. Analiza pola 2 1.1. Rozkład pola...............................................

Bardziej szczegółowo

1.1 Przegląd wybranych równań i modeli fizycznych. , u x1 x 2

1.1 Przegląd wybranych równań i modeli fizycznych. , u x1 x 2 Temat 1 Pojęcia podstawowe 1.1 Przegląd wybranych równań i modeli fizycznych Równaniem różniczkowym cząstkowym rzędu drugiego o n zmiennych niezależnych nazywamy równanie postaci gdzie u = u (x 1, x,...,

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

Macierze. Rozdział Działania na macierzach

Macierze. Rozdział Działania na macierzach 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

Bardziej szczegółowo

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku. W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku. Nie wolno dzielić przez zero i należy sprawdzić, czy dzielna nie jest równa zeru. W dziedzinie liczb

Bardziej szczegółowo

Analiza stateczności zbocza

Analiza stateczności zbocza Przewodnik Inżyniera Nr 25 Aktualizacja: 06/2017 Analiza stateczności zbocza Program: MES Plik powiązany: Demo_manual_25.gmk Celem niniejszego przewodnika jest analiza stateczności zbocza (wyznaczenie

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

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

Układy VLSI Bramki 1.0

Układy VLSI Bramki 1.0 Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie

Bardziej szczegółowo

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Wstęp

Bardziej szczegółowo

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych

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

Wykład 9: Fale cz. 1. dr inż. Zbigniew Szklarski

Wykład 9: Fale cz. 1. dr inż. Zbigniew Szklarski Wykład 9: Fale cz. 1 dr inż. Zbigniew Szklarski szkla@agh.edu.pl http://layer.uci.agh.edu.pl/z.szklarski/ Klasyfikacja fal fale mechaniczne zaburzenie przemieszczające się w ośrodku sprężystym, fale elektromagnetyczne

Bardziej szczegółowo

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach. WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI Katedra Inżynierii Systemów Sterowania PODSTAWY AUTOMATYKI MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery losowe generowanie realizacji procesu losowego Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z

Bardziej szczegółowo