Uwaga: Na forum proszę rejestrować się pełnym znakiem, inne nicki będą blokowane. Następnie należy się przedstawić pisząc kilka słów o sobie, swoich zainteresowaniach...
![Przejdz do dołu strony](strzalka_dol.gif) | Strona: 1 / 1 strony: [1] |
OpenEMS3D EM FDTD Solver | ![](fb.png) |
| | SQ1GQC | 13.01.2019 03:07:00 | ![poziom 4](star_icon4.gif)
Grupa: Użytkownik
Posty: 368 #2627502 Od: 2014-2-18
Ilość edycji wpisu: 4 | 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ć (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ą.
![Obrazek](http://www.procontrol.home.pl/pawel/openems/WR22_2.4mm_1.jpg)
![Obrazek](http://www.procontrol.home.pl/pawel/openems/WR22_2.4mm_2.jpg)
Model trzeba sobie "wyprogramować" z dostępnych prymitywów.
![Obrazek](http://www.procontrol.home.pl/pawel/openems/Octave.PNG)
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ć.
![Obrazek](http://www.procontrol.home.pl/pawel/openems/3d_model.png)
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.
![Obrazek](http://www.procontrol.home.pl/pawel/openems/S11_S21_1.png)
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:
TYLKO ZAREJESTROWANI I ZALOGOWANI UŻYTKOWNICY WIDZĄ LINKI » DARMOWA REJESTRACJA
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łem![aniołek](/emot/eusa_angel.gif) _________________ Paweł | | | Electra | 12.02.2025 12:21:29 | ![poziom 5](star_icon5.gif)
![oczka](oczka.png) |
| | | SP2IPT | 13.01.2019 10:01:55 | ![poziom 6](star_icon6.gif)
![](avatar.asp?id_zdjecia=80789)
Grupa: Użytkownik
Lokalizacja: JO94GI
Posty: 1002 #2627522 Od: 2011-7-20
| Cóż, jakoś tak wychodzi że ludzie różnymi ścieżkami dochodzą do tego samego ,) Ja też zacząłem grzebać ociupinkę w OpenEMS, aktualnie z braków czasowych idzie bardzo powoli, ale brnę do przeodu (czy jakoś tak) ![bardzo szczęśliwy](/emot/icon_biggrin.gif) _________________ Electrical engineers do it with less resistance :) | | | SP9NLT | 13.01.2019 10:09:45 | ![poziom 1](star_icon1.gif)
Grupa: Użytkownik
Posty: 27 #2627529 Od: 2018-6-13
| A ja zupełnie zacznę od początku tylko strona openems się nie otwiera. Czy ktoś coś? | | | sp3nyf | 13.01.2019 11:10:21 | ![poziom 5](star_icon5.gif)
![](avatar.asp?id_zdjecia=80753)
Grupa: Użytkownik
Lokalizacja: Gorzów JO72pr
Posty: 513 #2627539 Od: 2011-7-20
Ilość edycji wpisu: 1 | Może jest ograniczona ilość jednoczesnych otwarć a wszyscy po publikacji Pawła rzucili się na tę stronę :-) Mnie się otwiera (firefox)...
_________________ Zbyszek SP3NYF
| | | SQ1GQC | 14.01.2019 01:15:55 | ![poziom 4](star_icon4.gif)
Grupa: Użytkownik
Posty: 368 #2627727 Od: 2014-2-18
Ilość edycji wpisu: 4 | Wieczorkiem siadłem na chwilę, żeby popracować nad postprocesingiem. Oburzającym faktem jest wizualizacja w przykładach s-parametrów "wykastrowanych" z informacji o fazie. Dobrym początkiem do analizy struktur falowodowych może być tutorial "Rectangular waveguide". Dla badanego przez siebie sprzęgacza 3db zmodyfikowałem definicje portów do postprocesingu (oczywiście wcześniej te porty zdefiniowałem do obliczeń). Port 1 to wymuszenie, port 2 i port 3 to wyjścia sprzęgacza, portu 4 (izolowanego) chwilowo nie analizuję.
freq = linspace(f_start,f_stop,201); port = calcPort(port, Sim_Path, freq);
s11 = port1.uf.ref./ port1.uf.inc; s21 = port2.uf.ref./ port1.uf.inc; s31 = port3.uf.ref./ port1.uf.inc;
I teraz co nas interesuje w sprzęgaczu hybrydowym 3 dB? Oczywiście amplitudy i fazy na wyjściu - czy są równe sobie i wynoszą około -3 dB w stosunku do wejścia i czy fazy się różnią o Pi/2 radiana. W związku z tym stworzyłem taką linię odczytującą różnicę fazy i przygotowującą ją do wizualizacji w formacie -180..180 stopni, tak jak prezentuje je VNA. Wynik można wyświetlić w formacie liczbowym lub w postaci wykresu
phase_diff_port2_port3 = rad2deg((mod((angle(port2.uf.ref)-angle(port3.uf.ref))+pi,2*pi))-pi);
Możliwym jest też eksport i import danych do/z formatu Touchstone (*.s1p, *.s2p etc). Można go później wykorzystać na przykład w jakimś programie rozumiejącym ten format do obliczenia dopasowania etc. Jeszcze nie próbowałem, ale przy następnym posiedzeniu nie omieszkam. Fajny zbiór funkcji związanych z tym jest tutaj.
TYLKO ZAREJESTROWANI I ZALOGOWANI UŻYTKOWNICY WIDZĄ LINKI » DARMOWA REJESTRACJA
Tak wyszło ze sprzęgaczem:
![Obrazek](http://www.procontrol.home.pl/pawel/openems/s_parameters_coupler.png)
![Obrazek](http://www.procontrol.home.pl/pawel/openems/phase_coupler.png) _________________ Paweł | | | Electra | 12.02.2025 12:21:29 | ![poziom 5](star_icon5.gif)
![oczka](oczka.png) |
|
![Przejdz do góry strony](strzalka_gora.gif) | Strona: 1 / 1 strony: [1] |
<< Pierwsza | < Poprzednia | Następna > | Ostatnia >> |
Aby pisac na forum musisz sie zalogować !!! |
|