OpenEMS
3D EM FDTD Solver
Nosiłem się z tematem od kilku lat. Miałem poprzednie podejścia, lekko nieudane i mnie troszkę zniechęcały. Ale jak to zwykle bywa potrzeba zmusiła mnie do tego aby przysiąść do tematu i zdaje mi się, że tym razem zajdę dalej. W skrócie jest to trójwymiarowy solver równań Maxwella oparty na numerycznej metodzie FDTD (Finite-Diff erence Time-Domain). Jako interfejs zastosowany jest alternatywnie program Matlab ($$$) albo GNU Octave (licencja rodziny GPL). Sam openEMS też jest wydany na licencji rodziny GPL, więc jak Octave jest za darmo. Narzędzie ma potężne możliwości:
- pełne 3D
- siatka we współrzędnych kartezjańskich
- siatka we współrzędnych cylindrycznych
- definiowana gęstość siatki
- obsługa wieloprocesorowości i rozszerzeń listy instrukcji SSE, a także MPI (działanie na klastrach obliczeniowych)
- możliwość samodzielnego definiowania materiałów, możliwość modelowania materiałów o właściwościach dyspersyjnych
Interfejsem jest program Matlab/Octave który sam z siebie jest potężnym narzędziem. Mam to szczęście, że podczas studiów Matlab z Simulinkiem to było jedno z moich podstawowych narzędzi (gorzej, że studia skończyłem 22 lata temu...). Może to być poważna przeszkoda dla ludzi którzy z Matlabem czy Octave nie obcowali dotychczas, ale przecież człowiek uczy się całe życie. Wskazane jest pojęcie działaniach na liczbach zespolonych i macierzach a najlepiej doświadczenie w programowaniu i algorytmizowaniu problemów. Z góry mówię, że za cienki jestem Bolek żeby kogoś tego uczyć pan zielony (było by w/g zasady "wiódł ślepy kulawego"). Ale bardzo otwarty jestem na wymianę doświadczeń, poglądów i rozwiązań z tymi, którzy samodzielnie spróbują przebrnąć przez początki. Potrzeba też trochę ogólnej wiedzy o teorii pola, o falowodach, o modach w falowodach, właściwości rozchodzenia się fal etc.
Jeśli do końca jeszcze nie zniechęciłem, to pokaże może jakie możliwości "zaklęte są w tym narzędziu".

Jakiś czas temu zaprojektowałem przejście falowodowe WR-22 na 2,4 mm. Nie doczekało się ono jeszcze realizacji, ale wymodelowanie jego właściwości bez jednego wióra, to duży postęp i możliwości poprawek przed realizacją.





Model trzeba sobie "wyprogramować" z dostępnych prymitywów.



Można uzyskać praktycznie każdy kształt, choć wymaga to trochę pracy. Istnieją też możliwości zaimportowania modelu z niektórych formatów mechanicznych, ale to nie automat i tak trzeba poprawiać. Po skończeniu modelu możemy go podejrzeć.



Wygląda "goło" z tego powodu, że cztery ścianki zastąpiły mu zdefiniowane granice symulacji.
Cała trudność symulacji polega na zdefiniowaniu zgodnie ze sztuką siatki, warunków brzegowych, punktów w którym pole próbkujemy i opracowaniu postprocesingu surowych danych z których wyciągnąć można interesujące nas parametry. Jako przykład tłumienie i odbicia od portu koncentrycznego rzeczonej przejściówki.



Pracowałem też nad modelem sprzęgacza falowodowego WR-10 i uzyskałem wyniki zgodne z opublikowanymi przez autora tego sprzęgacza. Ta praca służyła mi do skalibrowania narzędzia, gdyż dysponowałem założeniami autora, wymiarami, wynikami z komercyjnych solverów i wynikami pomiarów autora. Ponieważ otrzymałem sporą korelację z publikowanymi wynikami wstępnie uznałem, że warto poświęcić trochę czasu aby wzbogacić swoje możliwości. I to wszystko bez kosztów (no pomijając bezcenny czas). Ktoś jest chętny popróbować?
Sam pakiet dostępny jest pod adresem:
http://www.openems.de/
Dostępne są kompilacje pod Windows i Linuxa. Wskazana jest relatywnie mocna maszyna, gdyż zachłanność na zasoby jest nieograniczona. Pięknie się skaluje na maszynach wielordzeniowych i wieloprocesorowych. Przejściówka liczyła się na moim komputerze z dwoma ośmiordzeniowymi procesorami Intel Xeon E5-2630v3 i 128 GB RAM-u przez około 12 minut. Wszystkie rdzenie obu procesorów były obciążone w około 90%. Jestem zadowolony że przysiadłemaniołek


  PRZEJDŹ NA FORUM