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...
| Strona: 1 / 1 strony: [1] |
OpenEMS3D EM FDTD Solver | |
| | SQ1GQC | 13.01.2019 03:07:00 |
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ą.
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:
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 _________________ Paweł | | | Electra | 31.01.2025 11:52:44 |
|
| | | SP2IPT | 13.01.2019 10:01:55 |
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) _________________ Electrical engineers do it with less resistance :) | | | SP9NLT | 13.01.2019 10:09:45 |
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 |
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 |
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:
_________________ Paweł | | | Electra | 31.01.2025 11:52:44 |
|
|
| Strona: 1 / 1 strony: [1] |
<< Pierwsza | < Poprzednia | Następna > | Ostatnia >> |
Aby pisac na forum musisz sie zalogować !!! |
|