Problemy nieliniowe Rozwiązywanie równań nieliniowych o postaci: gdzie f(x) jest funkcją nieliniową Obejmuje to oczywiście przypadek każdego równania:
Rozwinięcie w szereg Taylora Często jest stosowane nawet rozwinięcie obcięte pierwszego rzędu: Jest to tym lepsze przybliżenie prawdziwej wartości, im mniejsza jest wartość Δx Do takiego przybliżenia nawiązuje algorytm Newtona-Raphsona
Algorytm Newtona-Raphsona
Algorytm Newtona-Raphsona Algorytm zaczyna z pewnego punkty x0, będącego pierwszym oszacowaniem prawdziwego rozwiązania x* W punkcie x0 na podstawie znajomości pochodnej funkcji f(x0) rozwiązywane jest równanie liniowe:
Algorytm Newtona-Raphsona Rozwiązanie tego równania: wyznacza kolejne oszacowanie rozwiązania x*:
Algorytm Newtona-Raphsona Ten sam sposób postępowania jest stosowany w kolejnych iteracjach: Kolejne wartości xi są coraz lepszymi oszacowaniami x*
Algorytm Newtona-Raphsona Problem nieliniowy jest zastąpiony serią problemów liniowych Każdy problem liniowy jest lokalnym przybliżeniem Taylora pierwszego rzędu dla problemu nieliniowego
Algorytm Newtona-Raphsona W każdej iteracji jest wyznaczane kolejne przybliżenie rozwiązania Proces iteracyjny jest kończony kiedy względny błąd procentowy: spadnie poniżej ustalonej wartości (dokładności algorytmu) Może być również zastosowane ograniczenie na maksymalną ilość iteracji algorytmu
Przykład
Przykład Równanie nieliniowe diody: q-ładunek elektronu k-stała Boltzmanna T-temperatura n-współczynnik „idealności” – charakterystyczny dla materiału (dla krzemu 2 dla małych prądów)
Przykład Szukane napięcie Vd, dla którego spełnione są równania wynikające z I prawa Kirchhoffa
Przykład Iteracja Newtona:
Symulacja Excel
Iterowane modele
Iterowany model diody Liniowy model zastępczy: Gd(i) Ieq(i)
Iterowany model diody Szablon diody do macierzy konduktancyjnej w iteracji i: węzeł n+ węzeł n-
Schemat algorytmu Wybór punktu startowego Utworzenie liniowego modelu zastępczego Rozwiązanie liniowego równania macierzowego Warunek zbieżności? Max liczba iteracji? N Koniec, wyznaczono rozwiązanie nie wyznaczono rozwiązania T Aktualizacja punktu pracy
Warunek stopu Rozwiązanie z iteracji na iterację mało się zmienia
Warunek stopu Zmienne podlegające iterowanej zmianie to potencjały węzłowe Warunek stopu zasadniczo dotyczy napięć Dla elementów półprzewodnikowych dominują charakterystyki eksponencjalne (małe zmiany napięć – duże zmiany prądów) Warunek stopu obejmuje też prądy
Warunek stopu Warunek Ustawiany poleceniem .OPTIONS, np.: .OPTIONS RELTOL=.001 VNTOL=1u ABSTOL=1n
Warunek stopu W LTSPICE także w okienku ToolsControl Panel:
Warunek stopu W przypadku problemów ze zbieżnością można spróbować zwiększyć parametry warunku stopu 10-krotna zmiana RELTOL zmienia mniej więcej dwukrotnie ilość iteracji Limity iteracji określone są parametrami ITL1 dla analizy .OP oraz ITL2 dla .DC, np.: .OPTIONS ITL1=500 ITL2=200
Problemy ze zbieżnością Bardzo mała konduktancja Bardzo duża konduktancja
Problemy ze zbieżnością Bardzo mała konduktancja: Dzielenie przez bardzo małą liczbę (0?) Sposób – dołączyć równolegle małą ale określoną konduktancję: .OPTIONS GMIN=1pS
Problemy ze zbieżnością Bardzo duża konduktancja – bardzo małe zmiany napięć w kolejnych iteracjach Sposób – określić rezystancję szeregową złącza półprzewodnikowego Dyrektywa .MODEL, dla diody parametr RS, dla tranzystora bipolarnego – RE i RC, itp...
Problemy ze zbieżnością Punkt startu – zerowe potencjały węzłowe Można wystartować lepiej – .NODESET, np.: .NODESET V(n001)=8.5mV V(n005)=9V Odpowiada to dołączeniu do wskazanych węzłów struktury: Analiza jest przeprowadzana dwuprzebiegowo: z dołączonymi węzłami NODESET a później – bez nich
Problemy ze zbieżnością Metoda source-stepping Zacznij od wyzerowanych wszystkich źródeł Po rozwiązaniu układu zwiększ wartość wszystkich źródeł o kilka procent i powtórz analizę, jako stan wyjściowy przyjmując punkt pracy wyznaczony w poprzedniej analizie Powtarzaj ten krok do osiągnięcia pierwotnych wartości źródeł