[WikiDyd] [TitleIndex] [WordIndex

Agros2D

Agros2D to program do komputerowego modelowania pól dwuwymiarowych. Jego głównym przeznaczeniem jest wspomaganie zajęć dydaktycznych z podstaw teorii pola. Aplikacja jest stosunkowo prosta w użyciu, nawet dla początkujących użytkowników. Większość funkcjonalności dostępna jest poprzez interfejs graficzny, jednak zaawansowani użytkownicy mogą wykorzystywać program przy pomocy języka Python. Dodatkową zaletą jest to, że Agros2D jest opublikowany na licencji GPL, i można go wykorzystywać bezpłatnie oraz bez żadnych ograniczeń.

Program jest dostępny do pobrania na stronie: http://agros2d.org/

Interfejs

Widok okna programu może się zmieniać, bowiem większość jego elementów jest konfigurowana. Ważne jest jednak zrozumienie, że są cztery główne rodzaje elementów interfejsu:

agros2d.png

- górny pasek menu,
- główne okno widoku modelu,
- pasek narzędzi,
- oraz panele funkcyjne (np. całkowanie, terminal pythona, wskazówki, parametry problemu)

Korzystanie z programu wymaga przełączania się pomiędzy różnymi trybami jego pracy. Geometrię modelu definiujemy w trybie węzłów i krawędzi, tryb etykiet służy do znaczenie poszczególnych materiałów, a wyniki obliczeń obejrzymy w trybie wyników.

toolbar.png

Pasek narzędzi z widocznymi ikonami (od lewej):
- tryb węzłów, tryb krawędzi, tryb etykiet, tryb wyników, ...
- tryb zaznaczania, tryb przekształceń, ...
- wynik w punkcie, wynik dla krawędzi, wynik dla obszaru, ...
- generowanie siatki, rozwiązanie problemu

Podstawowy schemat rozwiązania problemu

Numeryczne rozwiązanie problemu polowego przebiega w następujących krokach:

  1. Zdefiniowane typu problemu
  2. Zdefiniowanie geometrii (czyli opisanie kształtu obiektu)
  3. Określenie parametrów materiałowych (czyli z czego jest zrobiony model)
  4. Określenie warunków brzegowych (czyli co się dzieje na brzegach modelowanego obszaru)
  5. Rozwiązanie problemu
  6. Analiza wyników

Na przykładzie kondensatora cylindrycznego przedstawimy wszystkie te etapy.

Zdefiniowanie problemu

Wybierając z menu Plik->Nowy tworzymy nowy problem do rozwiązania. Decydujemy w tym momencie jakiego typu pole fizyczne będziemy modelować, czy będzie to analiza statyczna, czy też zmienna w czasie. Określamy także to czy rysowany model jest we współrzędnych płaskich (x,y), czy też osiowo symetrycznych (r,z).

Chcąc zamodelować kondensator cylindryczny wybieramy opcję pola elektrostatycznego i płaskiego układu współrzędnych.

Definiowanie geometrii

Agros2D umożliwia rozwiązywanie problemów dwuwymiarowych dwóch rodzajów. W modelu płaskim widok 2D należy traktować jako przekrój w płaszczyźnie OX-OY nieskończenie długiego modelu 3D. Natomiast model osiowosymetryczny sprawdza się dla obiektów o symetrii zgodnej z osią pionową (przedstawiony przekrój jest we współrzędnych (R, Z)).

Określenie kształtu modelu odbywa się przy pomocy punktów (węzłów) i krawędzi, które je łączą. Krawędzie mogą być odcinkiem prostym lub fragmentem okręgu przechodzącego przez dwa punktu.

punkt.png

Dodawanie nowych węzłów. Upewnij się, że jesteś w trybie węzłów. Naciśnij: <Ctrl> + lewy klawisz myszy

Dodajemy wszystkie punkty charakterystyczne dla modelu. Mając na uwadze, że w następnym kroku będziemy je łączyć krawędziami.

krawedz.png

Dodawanie nowych krawędzi. Przełącz się na tryb krawędzi. Przy pomocy (<Ctrl> + lewy klawisz myszy) wybierz dwa węzeły, rozpoczynający i kończący krawędź.

Dowolne dwa punkty mogą zostać połączone w krawędź. Dodatkowo dla krawędzi można ustalić kąt, czyli wycinek okręgu, który przechodzi przez dwa wybrane węzły. Wartość kąt 0 oznacza odcinek prosty, 180 stopni oznacza, że punkty będą połączone połową okregu. Kolejność wybranych punktów okręśla stronę, w którą będzie wygięty łuk.

Określenie materiałów

Opisana przy pomocy węzłów i krawędzi geometria definiuje obrys modelu oraz jego podobszarów. Następnym krokiem jest wypełnienie tych konturów przy pomocy materiałów. Robimy to dwustopniowo: w pierwszej kolejności definiujemy materiał (<Alt>+M), a następnie oznaczamy podobszary przy pomocy etykiet materiałowych (<Ctrl> + lewy klawisz myszy).

etykiety.png

W tym przykładowym modelu mamy tylko jeden materiał i jedną etykietę z nim związaną. Widoczna jest także wygenerowana już siatka elementów skończonych dla obszaru.

Określenie warunków brzegowych

Do rozwiązania problemu polowego konieczne jest ustawienie warunków brzegowych, czyli określenie zachowania pola na zewnętrznych krawędziach obszaru. Podobnie jak dla materiałów, określanie warunków brzegowych przebiega dwustopniowo. Zaczynamy od zdefiniowania warunków brzegowych (<Alt>+B), potem musimy wszystkim krawędziom zewnętrznym przypisać odpowiedni, wcześniej zdefiniowany warunek.

Przypisywanie warunków najprościej wykonywać w trybie krawędzi. Po dwukrotnym kliknięciu w krawędź, otwiera się okno z jej parametrami. Można tam ustawić odpowiedni warunek brzegowy. Po przypisaniu warunku brzegowego krawędź zmienia swój wygląd, zamiast linii przerywanej rysowana jest linią ciągłą.

W omawianym przykładzie kondensatora cylindrycznego na wewnętrznej okładce ustawiliśmy potencjał 0 V, na zewnętrznej 1V, a na liniach symetrii warunek zerowej gęstości ładunku.

Rozwiązanie problemu

Program automatyzuje rozwiązywanie problemu. Wystarczy tylko wywołać opcję Problem->Rozwiązanie problemu, albo nacisnąć <Alt>+S. Agros2D wykorzystuje bibliotekę Hermes2D, która implementuję metodę elementów skończonych wraz z zaawansowanymi rozszerzeniami dotyczącymi adaptacyjnej poprawy rozwiązania w trybie hp.

W celu poprawy jakości rozwiązania warto poeksperymetować z rodzajem metody adaptacyjnej, ilością iteracji, dopuszczalnym błędem, czy stopniem wielomianu iterpolacyjnego - wszystkie te parametry możemy zmieniać w oknie Ustawienia problemu.

Analiza wyników

Analiza wyników to bardzo szeroki temat. Agros2D udostępnia wiele możliwości wizualizacji wyników obliczeń. Można też próbkować wartości pola w dowolnym punkcie, całkować po krawędziach (a właściwie powierzchniach) oraz całkować po obszarach. Wszystko zależy od tego na jakie pytanie chcemy odpowiedzieć.

wyniki.png

Wyniki obliczeń. Rozkład potencjału jest oznaczony kolorem, strzałki oznaczają kierunek pola elektrycznego.

W naszym przykładzie policzymy pojemność kondensatora. Zrobimy to dwoma metodami: korzystając z ładunku (C=Q/U), oraz energii (C=2*W/U^2).

Metoda 1.
Aby określić ładunek zgromadzony na okładce należy wybrać krawędź okładki, a w panelu całkowania po powierzchni zobaczymy odpowiedni wynik. W przypadku naszego modelu było to:

Jak widać ładunki są równe z dokładnością do błędu obliczeń numerycznych. Zadaliśmy napięcie 1V, a więc pojemność (C=Q/U) wynosi C = 12,63 pF.

Metoda 2.
Przy pomocy panelu całkowania po objętości możemy wyznaczyć energię zgromadzoną w obszarze izolatora. W naszym przypadku wyniosła ona 6.33e-12 J. Podstawiając do wzoru C=2*W/U^2 otrzymujemy drugie rozwiązanie na pojemność C = 12,66 pF.

Otrzymane wyniki są do siebie bardzo zbliżone. Drobną różnicę można łatwo wytłumaczyć błędami związanymi z metodą numeryczną. Modelowaliśmy 1/4 kondenstatora, a więc ostateczny wynik wynosi C = 4 * 12,66 pF = 50,64 pF.


2015-09-23 06:44