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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA III ZAKRES ROZSZERZONY (90 godz.) , x

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA III ZAKRES ROZSZERZONY (90 godz.) , x WYMAGANIA EDUACYJNE Z MATEMATYI LASA III ZARES ROZSZERZONY (90 godz.) Oznaczenia: wymagania konieczne (dopuszczający); P wymagania podstawowe (dostateczny); R wymagania rozszerzające (dobry); D wymagania

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

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

Wykrywanie anomalii w zbiorze danych o dużym wymiarze

Wykrywanie anomalii w zbiorze danych o dużym wymiarze Wykrywanie anomalii w zbiorze danych o dużym wymiarze Piotr Kroll Na podstawie pracy: Very Fast Outlier Detection In Large Multidimensional Data Set autorstwa: A. Chandhary, A. Shalay, A. Moore Różne rozwiązania

Bardziej szczegółowo

KOOF Szczecin: www.of.szc.pl

KOOF Szczecin: www.of.szc.pl 3OF_III_D KOOF Szczecin: www.of.szc.pl XXXII OLIMPIADA FIZYCZNA (198/1983). Stopień III, zadanie doświadczalne D Źródło: Nazwa zadania: Działy: Słowa kluczowe: Komitet Główny Olimpiady Fizycznej; Waldemar

Bardziej szczegółowo

MODELOWANIE ZA POMOCĄ MES Analiza statyczna ustrojów powierzchniowych

MODELOWANIE ZA POMOCĄ MES Analiza statyczna ustrojów powierzchniowych MODELOWANIE ZA POMOCĄ MES Analiza statyczna ustrojów powierzchniowych PODSTAWY KOMPUTEROWEGO MODELOWANIA USTROJÓW POWIERZCHNIOWYCH Budownictwo, studia I stopnia, semestr VI przedmiot fakultatywny rok akademicki

Bardziej szczegółowo

Wstęp do analizy matematycznej

Wstęp do analizy matematycznej Wstęp do analizy matematycznej Andrzej Marciniak Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych i ich zastosowań w

Bardziej szczegółowo

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Zadanie do wykonania 1) Utwórz na pulpicie katalog w formacie Imię nazwisko, w którym umieść wszystkie pliki związane z

Bardziej szczegółowo

Podstawy Automatyki. wykład 1 (26.02.2010) mgr inż. Łukasz Dworzak. Politechnika Wrocławska. Instytut Technologii Maszyn i Automatyzacji (I-24)

Podstawy Automatyki. wykład 1 (26.02.2010) mgr inż. Łukasz Dworzak. Politechnika Wrocławska. Instytut Technologii Maszyn i Automatyzacji (I-24) Podstawy Automatyki wykład 1 (26.02.2010) mgr inż. Łukasz Dworzak Politechnika Wrocławska Instytut Technologii Maszyn i Automatyzacji (I-24) Laboratorium Podstaw Automatyzacji (L6) 105/2 B1 Sprawy organizacyjne

Bardziej szczegółowo

wagi cyfry 7 5 8 2 pozycje 3 2 1 0

wagi cyfry 7 5 8 2 pozycje 3 2 1 0 Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień

Bardziej szczegółowo

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Modelowanie

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Modelowanie Politechnika Wrocławska, Wydział Informatyki i Zarządzania Modelowanie Zad Wyznacz transformaty Laplace a poniższych funkcji, korzystając z tabeli transformat: a) 8 3e 3t b) 4 sin 5t 2e 5t + 5 c) e5t e

Bardziej szczegółowo

Ekonometria - ćwiczenia 10

Ekonometria - ćwiczenia 10 Ekonometria - ćwiczenia 10 Mateusz Myśliwski Zakład Ekonometrii Stosowanej Instytut Ekonometrii Kolegium Analiz Ekonomicznych Szkoła Główna Handlowa 14 grudnia 2012 Wprowadzenie Optymalizacja liniowa Na

Bardziej szczegółowo

Excel - użycie dodatku Solver

Excel - użycie dodatku Solver PWSZ w Głogowie Excel - użycie dodatku Solver Dodatek Solver jest narzędziem używanym do numerycznej optymalizacji nieliniowej (szukanie minimum funkcji) oraz rozwiązywania równań nieliniowych. Przed pierwszym

Bardziej szczegółowo

Wstęp do metod numerycznych 9. Minimalizacja: funkcje jednej zmiennej. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/

Wstęp do metod numerycznych 9. Minimalizacja: funkcje jednej zmiennej. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ Wstęp do metod numerycznych 9. Minimalizacja: funkcje jednej zmiennej P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011 Lokalna minimalizacja ciagła Minimalizacja funkcji jest jedna z najważniejszych

Bardziej szczegółowo

Excel w obliczeniach naukowych i inżynierskich. Wydanie II.

Excel w obliczeniach naukowych i inżynierskich. Wydanie II. Excel w obliczeniach naukowych i inżynierskich. Wydanie II. Autor: Maciej Gonet Sprawdź, jak Excel może pomóc Ci w skomplikowanych obliczeniach! Jak za pomocą arkusza rozwiązywać zaawansowane zadania matematyczne?

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

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

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

Podstawy OpenCL część 2

Podstawy OpenCL część 2 Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024

Bardziej szczegółowo

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO ZAGADNIENIA PROGRAMOWANIA LINIOWEGO Maciej Patan Uniwersytet Zielonogórski WSTĘP często spotykane w życiu codziennym wybór asortymentu produkcji jakie wyroby i w jakich ilościach powinno produkować przedsiębiorstwo

Bardziej szczegółowo

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą 1. Statystyka odczytać informacje z tabeli odczytać informacje z diagramu 2. Mnożenie i dzielenie potęg o tych samych podstawach 3. Mnożenie i dzielenie potęg o tych samych wykładnikach 4. Potęga o wykładniku

Bardziej szczegółowo

Wprowadzenie do programu Mathcad 15 cz. 1

Wprowadzenie do programu Mathcad 15 cz. 1 Wpisywanie tekstu Wprowadzenie do programu Mathcad 15 cz. 1 Domyślnie, Mathcad traktuje wpisywany tekst jako wyrażenia matematyczne. Do trybu tekstowego można przejść na dwa sposoby: Zaczynając wpisywanie

Bardziej szczegółowo

ZADANIA MATURALNE - ANALIZA MATEMATYCZNA - POZIOM ROZSZERZONY Opracowała - mgr Danuta Brzezińska. 2 3x. 2. Sformułuj odpowiedź.

ZADANIA MATURALNE - ANALIZA MATEMATYCZNA - POZIOM ROZSZERZONY Opracowała - mgr Danuta Brzezińska. 2 3x. 2. Sformułuj odpowiedź. ZADANIA MATURALNE - ANALIZA MATEMATYCZNA - POZIOM ROZSZERZONY Opracowała - mgr Danuta Brzezińska Zad.1. (5 pkt) Sprawdź, czy funkcja określona wzorem x( x 1)( x ) x 3x dla x 1 i x dla x 1 f ( x) 1 3 dla

Bardziej szczegółowo

MATeMAtyka klasa II poziom rozszerzony

MATeMAtyka klasa II poziom rozszerzony MATeMAtyka klasa II poziom rozszerzony W klasie drugiej na poziomie rozszerzonym realizujemy materiał z klasy pierwszej tylko z poziomu rozszerzonego (na czerwono) oraz cały materiał z klasy drugiej. Rozkład

Bardziej szczegółowo

Matura próbna 2014 z matematyki-poziom podstawowy

Matura próbna 2014 z matematyki-poziom podstawowy Matura próbna 2014 z matematyki-poziom podstawowy Klucz odpowiedzi do zadań zamkniętych zad 1 2 3 4 5 6 7 8 9 10 11 12 odp A C C C A A B B C B D A 13 14 15 16 17 18 19 20 21 22 23 24 25 C C A B A D C B

Bardziej szczegółowo

Funkcja jednej zmiennej - przykładowe rozwiązania 1. Badając przebieg zmienności funkcji postępujemy według poniższego schematu:

Funkcja jednej zmiennej - przykładowe rozwiązania 1. Badając przebieg zmienności funkcji postępujemy według poniższego schematu: Funkcja jednej zmiennej - przykładowe rozwiązania Zadanie 4 c) Badając przebieg zmienności funkcji postępujemy według poniższego schematu:. Analiza funkcji: (a) Wyznaczenie dziedziny funkcji (b) Obliczenie

Bardziej szczegółowo

PORÓWNANIE WYBRANYCH SCHEMATÓW RÓŻNICO- WYCH NA PRZYKŁADZIE RÓWNANIA SELECTED DIFFERENTIAL SCHEMES COMPARISON BY MEANS OF THE EQUATION

PORÓWNANIE WYBRANYCH SCHEMATÓW RÓŻNICO- WYCH NA PRZYKŁADZIE RÓWNANIA SELECTED DIFFERENTIAL SCHEMES COMPARISON BY MEANS OF THE EQUATION Mirosław GUZIK Grzegorz KOSZŁKA PORÓWNANIE WYBRANYCH SCHEMATÓW RÓŻNICO- WYCH NA PRZYKŁADZIE RÓWNANIA SELECTED DIFFERENTIAL SCHEMES COMPARISON BY MEANS OF THE EQUATION W artykule przedstawiono niektóre

Bardziej szczegółowo

Wprowadzenie do Metody Elementu Skończonego

Wprowadzenie do Metody Elementu Skończonego Wprowadzenie do Metody Elementu Skończonego Krzysztof Balonek, Sławomir Gozdur Wydział Fizyki i Informatyki Stosowanej, AGH, Kraków, Poland email: kbalonek@g10.pl, slagozd@gmail.com Praca dostępna w internecie:

Bardziej szczegółowo

METODA ELEMENTÓW SKOŃCZONYCH.

METODA ELEMENTÓW SKOŃCZONYCH. METODA ELEMENTÓW SKOŃCZONYCH. W programie COMSOL multiphisics 3.4 Wykonali: Łatas Szymon Łakomy Piotr Wydzał, Kierunek, Specjalizacja, Semestr, Rok BMiZ, MiBM, TPM, VII, 2011 / 2012 Prowadzący: Dr hab.inż.

Bardziej szczegółowo

KLUCZ PUNKTOWANIA ODPOWIEDZI

KLUCZ PUNKTOWANIA ODPOWIEDZI Egzamin maturalny maj 009 MATEMATYKA POZIOM PODSTAWOWY KLUCZ PUNKTOWANIA ODPOWIEDZI Zadanie 1. Matematyka poziom podstawowy Wyznaczanie wartości funkcji dla danych argumentów i jej miejsca zerowego. Zdający

Bardziej szczegółowo

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII

Bardziej szczegółowo

Stateczność ramy - wersja komputerowa

Stateczność ramy - wersja komputerowa Stateczność ramy - wersja komputerowa Cel ćwiczenia : - Obliczenie wartości obciążenia krytycznego i narysowanie postaci wyboczenia. utraty stateczności - Obliczenie przemieszczenia i sił przekrojowych

Bardziej szczegółowo

Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne: Prosto do matury klasa d Rok szkolny 014/015 WYMAGANIA EDUKACYJNE Wyróżnione zostały następujące wymagania programowe: konieczne (K), podstawowe (P), rozszerzające (R), dopełniające (D) i wykraczające

Bardziej szczegółowo

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny

Bardziej szczegółowo

FDS 6 - Nowe funkcje i możliwości. Modelowanie instalacji HVAC część 1: podstawy.

FDS 6 - Nowe funkcje i możliwości. Modelowanie instalacji HVAC część 1: podstawy. FDS 6 - Nowe funkcje i możliwości. Modelowanie instalacji HVAC część 1: podstawy. Wstęp 4 listopada 2013r. miała miejsce długo wyczekiwana premiera najnowszej, szóstej już wersji popularnego symulatora

Bardziej szczegółowo

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Wykład z modelowania matematycznego. Zagadnienie transportowe. Wykład z modelowania matematycznego. Zagadnienie transportowe. 1 Zagadnienie transportowe zostało sformułowane w 1941 przez F.L.Hitchcocka. Metoda rozwiązania tego zagadnienia zwana algorytmem transportowymópracowana

Bardziej szczegółowo

10. Wstęp do Teorii Gier

10. Wstęp do Teorii Gier 10. Wstęp do Teorii Gier Definicja Gry Matematycznej Gra matematyczna spełnia następujące warunki: a) Jest co najmniej dwóch racjonalnych graczy. b) Zbiór możliwych dezycji każdego gracza zawiera co najmniej

Bardziej szczegółowo

Tadeusz Lesiak. Dynamika punktu materialnego: Praca i energia; zasada zachowania energii

Tadeusz Lesiak. Dynamika punktu materialnego: Praca i energia; zasada zachowania energii Mechanika klasyczna Tadeusz Lesiak Wykład nr 4 Dynamika punktu materialnego: Praca i energia; zasada zachowania energii Energia i praca T. Lesiak Mechanika klasyczna 2 Praca Praca (W) wykonana przez stałą

Bardziej szczegółowo

Komputerowa Analiza Danych Doświadczalnych

Komputerowa Analiza Danych Doświadczalnych Komputerowa Analiza Danych Doświadczalnych dr inż. Adam Kisiel kisiel@if.pw.edu.pl pokój 117b (12b) 1 Materiały do wykładu Transparencje do wykładów: http://www.if.pw.edu.pl/~kisiel/kadd/kadd.html Literatura

Bardziej szczegółowo

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

Bardziej szczegółowo

Algorytmy i schematy blokowe

Algorytmy i schematy blokowe Algorytmy i schematy blokowe Algorytm dokładny przepis podający sposób rozwiązania określonego zadania w skończonej liczbie kroków; zbiór poleceń odnoszących się do pewnych obiektów, ze wskazaniem porządku,

Bardziej szczegółowo

BRIDGE CAD ABT - INSTRUKCJA OBSŁUGI

BRIDGE CAD ABT - INSTRUKCJA OBSŁUGI BRIDGE CAD ABT - INSTRUKCJA OBSŁUGI 1. Wiadomości ogólne. Program ABT służy do automatycznego generowania plików *.dat, wykorzystywanych w obliczeniach statycznych i wytrzymałościowych przyczółków mostowych

Bardziej szczegółowo

Co to jest arkusz kalkulacyjny?

Co to jest arkusz kalkulacyjny? Co to jest arkusz kalkulacyjny? Arkusz kalkulacyjny jest programem służącym do wykonywania obliczeń matematycznych. Za jego pomocą możemy również w czytelny sposób, wykonane obliczenia przedstawić w postaci

Bardziej szczegółowo

ZAGADNIENIE TRANSPORTOWE

ZAGADNIENIE TRANSPORTOWE ZAGADNIENIE TRANSPORTOWE ZT jest specyficznym problemem z zakresu zastosowań programowania liniowego. ZT wykorzystuje się najczęściej do: optymalnego planowania transportu towarów, przy minimalizacji kosztów,

Bardziej szczegółowo

1. Podstawy matematyki

1. Podstawy matematyki 1. Podstawy matematyki 1.1. Pola Pole wiąże wielkość fizyczną z położeniem punktu w przestrzeni W przypadku, gdy pole jest zależne od czasu, możemy je zapisać jako. Najprostszym przykładem pola jest pole

Bardziej szczegółowo

Od żłobka do przedszkola - mini szkolenie z użytkowania pakietu OpenFOAM. Karol Wędołowski 06.04.2011

Od żłobka do przedszkola - mini szkolenie z użytkowania pakietu OpenFOAM. Karol Wędołowski 06.04.2011 Od żłobka do przedszkola - mini szkolenie z użytkowania pakietu OpenFOAM Karol Wędołowski 06.04.2011 Część 2. Struktura case'u na przykładzie przepływu w zagłębieniu 1. Potrzebne katalog i pliki W tej

Bardziej szczegółowo

Zakres na egzaminy poprawkowe w r. szk. 2013/14 /nauczyciel M.Tatar/

Zakres na egzaminy poprawkowe w r. szk. 2013/14 /nauczyciel M.Tatar/ Zakres na egzaminy poprawkowe w r. szk. 2013/14 /nauczyciel M.Tatar/ MATEMATYKA Klasa III ZAKRES PODSTAWOWY Dział programu Temat Wymagania. Uczeń: 1. Miara łukowa kąta zna pojęcia: kąt skierowany, kąt

Bardziej szczegółowo

Heurystyki. Strategie poszukiwań

Heurystyki. Strategie poszukiwań Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja

Bardziej szczegółowo

8. Analiza danych przestrzennych

8. Analiza danych przestrzennych 8. naliza danych przestrzennych Treścią niniejszego rozdziału będą analizy danych przestrzennych. naliza, ogólnie mówiąc, jest procesem poszukiwania (wydobywania) informacji ukrytej w zbiorze danych. Najprostszym

Bardziej szczegółowo

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010 Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010 Czym jest Excel 2010 Excel jest programem umożliwiającym tworzenie tabel, a także obliczanie i analizowanie danych. Należy do typu

Bardziej szczegółowo

Ćwiczenie 1 Wyznaczanie prawidłowej orientacji zdjęcia słonecznej fotosfery, wykonanego teleskopem TAD Gloria.

Ćwiczenie 1 Wyznaczanie prawidłowej orientacji zdjęcia słonecznej fotosfery, wykonanego teleskopem TAD Gloria. Ćwiczenie 1 Wyznaczanie prawidłowej orientacji zdjęcia słonecznej fotosfery, wykonanego teleskopem TAD Gloria. Autorzy: Krzysztof Ropek, uczeń I Liceum Ogólnokształcącego w Bochni Grzegorz Sęk, astronom

Bardziej szczegółowo

Ekonomia matematyczna - 1.2

Ekonomia matematyczna - 1.2 Ekonomia matematyczna - 1.2 6. Popyt Marshalla, a popyt Hicksa. Poruszać się będziemy w tzw. standardowym polu preferencji X,, gdzie X R n i jest relacją preferencji, która jest: a) rosnąca (tzn. x y x

Bardziej szczegółowo

Przedmiotowy system oceniania

Przedmiotowy system oceniania Przedmiotowy system oceniania gimnazjum - matematyka Opracowała mgr Katarzyna Kukuła 1 MATEMATYKA KRYTERIA OCEN Kryteria oceniania zostały określone przez podanie listy umiejętności, którymi uczeń musi

Bardziej szczegółowo

Piotr Targowski i Bernard Ziętek WYZNACZANIE MACIERZY [ABCD] UKŁADU OPTYCZNEGO

Piotr Targowski i Bernard Ziętek WYZNACZANIE MACIERZY [ABCD] UKŁADU OPTYCZNEGO Instytut Fizyki Uniwersytet Mikołaja Kopernika Piotr Targowski i Bernard Ziętek Pracownia Optoelektroniki Specjalność: Fizyka Medyczna WYZNAZANIE MAIERZY [ABD] UKŁADU OPTYZNEGO Zadanie II Zakład Optoelektroniki

Bardziej szczegółowo

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański

Bardziej szczegółowo

PŁOCKA MIĘDZYGIMNAZJALNA LIGA PRZEDMIOTOWA MATEMATYKA marzec 2013

PŁOCKA MIĘDZYGIMNAZJALNA LIGA PRZEDMIOTOWA MATEMATYKA marzec 2013 PŁOCKA MIĘDZYGIMNAZJALNA LIGA PRZEDMIOTOWA MATEMATYKA marzec 03 KARTA PUNKTACJI ZADAŃ (wypełnia komisja konkursowa): Numer zadania Zad. Zad. SUMA PUNKTÓW Poprawna Zad. 3 Zad. 4 Zad. 5 Zad. 6 Zad. 7 odpowiedź

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Bazy danych wykład dwunasty Wykonywanie i optymalizacja zapytań SQL Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Model kosztów

Bardziej szczegółowo

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE] Spis treści 1 Metoda geometryczna... 2 1.1 Wstęp... 2 1.2 Przykładowe zadanie... 2 2 Metoda simpleks... 6 2.1 Wstęp... 6 2.2 Przykładowe zadanie... 6 1 Metoda geometryczna Anna Tomkowska 1 Metoda geometryczna

Bardziej szczegółowo

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli?

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli? Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli? : Proces zmieniania wartości w komórkach w celu sprawdzenia, jak

Bardziej szczegółowo

1.2. Rozwiązywanie zadań programowania liniowego metodą geometryczną

1.2. Rozwiązywanie zadań programowania liniowego metodą geometryczną binarną są określane mianem zadania programowania binarnego. W stosunku do dyskretnych modeli decyzyjnych stosuje się odrębną klasę metod ich rozwiązywania. W dalszych częściach niniejszego rozdziału zostaną

Bardziej szczegółowo

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16 Spis treści Przedmowa.......................... XI Rozdział 1. Pomiar: jednostki miar................. 1 1.1. Wielkości fizyczne i pozafizyczne.................. 1 1.2. Spójne układy miar. Układ SI i jego

Bardziej szczegółowo

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10. ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach

Bardziej szczegółowo

Ćwiczenie z fizyki Doświadczalne wyznaczanie ogniskowej soczewki oraz współczynnika załamania światła

Ćwiczenie z fizyki Doświadczalne wyznaczanie ogniskowej soczewki oraz współczynnika załamania światła Ćwiczenie z fizyki Doświadczalne wyznaczanie ogniskowej soczewki oraz współczynnika załamania światła Michał Łasica klasa IIId nr 13 22 grudnia 2006 1 1 Doświadczalne wyznaczanie ogniskowej soczewki 1.1

Bardziej szczegółowo

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Dział Zagadnienia Wymagania podstawowe Wymagania ponadpodstawowe Arkusz kalkulacyjny (Microsoft Excel i OpenOffice) Uruchomienie

Bardziej szczegółowo

Badania właściwości dynamicznych sieci gazowej z wykorzystaniem pakietu SimNet TSGas 3

Badania właściwości dynamicznych sieci gazowej z wykorzystaniem pakietu SimNet TSGas 3 Andrzej J. Osiadacz Maciej Chaczykowski Łukasz Kotyński Badania właściwości dynamicznych sieci gazowej z wykorzystaniem pakietu SimNet TSGas 3 Andrzej J. Osiadacz, Maciej Chaczykowski, Łukasz Kotyński,

Bardziej szczegółowo

Grafika komputerowa Wykład 6 Krzywe, powierzchnie, bryły

Grafika komputerowa Wykład 6 Krzywe, powierzchnie, bryły Grafika komputerowa Wykład 6 Krzywe, powierzchnie, bryły Instytut Informatyki i Automatyki Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży 2 0 0 9 Spis treści Spis treści 1 2 obiektów

Bardziej szczegółowo

WYMAGANIA KONIECZNE - OCENA DOPUSZCZAJĄCA:

WYMAGANIA KONIECZNE - OCENA DOPUSZCZAJĄCA: WYMAGANIA KONIECZNE - OCENA DOPUSZCZAJĄCA: zna pojęcie liczby naturalnej, całkowitej, wymiernej rozumie rozszerzenie osi liczbowej na liczby ujemne umie zaznaczać liczbę wymierną na osi liczbowej umie

Bardziej szczegółowo

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

Bardziej szczegółowo

Q t lub precyzyjniej w postaci różniczkowej. dq dt Jednostką natężenia prądu jest amper oznaczany przez A.

Q t lub precyzyjniej w postaci różniczkowej. dq dt Jednostką natężenia prądu jest amper oznaczany przez A. Prąd elektryczny Dotychczas zajmowaliśmy się zjawiskami związanymi z ładunkami spoczywającymi. Obecnie zajmiemy się zjawiskami zachodzącymi podczas uporządkowanego ruchu ładunków, który często nazywamy

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Grafika komputerowa Wykład 7 Modelowanie obiektów graficznych cz. I

Grafika komputerowa Wykład 7 Modelowanie obiektów graficznych cz. I Grafika komputerowa Wykład 7 Modelowanie obiektów graficznych cz. I Instytut Informatyki i Automatyki Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży 2 0 0 9 Spis treści Spis treści 1

Bardziej szczegółowo