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...

NOWE POSTY | NOWE TEMATY | POPULARNE | STAT | RSS | KONTAKT | REJESTRACJA | Login: Hasło: rss dla

HOME » SYMULACJE OBWODÓW MIKROFALOWYCH » OPENEMS

Przejdz do dołu stronyStrona: 1 / 1    strony: [1]

OpenEMS

3D EM FDTD Solver
  
SQ1GQC
13.01.2019 03:07:00
poziom 4

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ć 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ą.

Obrazek

Obrazek

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

Obrazek

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

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

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łemaniołek
_________________
Paweł
  
Electra23.04.2024 09:59:37
poziom 5

oczka
  
SP2IPT
13.01.2019 10:01:55
poziom 6



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
_________________
Electrical engineers do it with less resistance :)
  
SP9NLT
13.01.2019 10:09:45
Grupa: Użytkownik

Posty: 25 #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



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

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 oczko 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

Obrazek
_________________
Paweł
  
Electra23.04.2024 09:59:37
poziom 5

oczka

Przejdz do góry stronyStrona: 1 / 1    strony: [1]

  << Pierwsza      < Poprzednia      Następna >     Ostatnia >>  

HOME » SYMULACJE OBWODÓW MIKROFALOWYCH » OPENEMS

Aby pisac na forum musisz sie zalogować !!!

TestHub.pl - opinie, testy, oceny