73
5.3. Modyfikacje algorytmu ułatwiające uzyskanie zbieżności
na iterację stają się coraz mniejsze i pomimo że w przypadku zbieżności zbliżają się do zera, osiągnięcie dokładnego rozwiązania wymagałoby nieskończonej liczby iteracji. W związku z tym określa się dopuszczalny błąd, z jakim rozwiązanie ma być osiągnięte; proces iteracyjny kończy się w chwili, gdy uzyskano rozwiązanie zawarte w granicach tego błędu. Jeśli program nie osiągnie zbieżności, po wykonaniu dozwolonej liczby kroków proces iteracji jest przerywany, a obliczenia kończą się komunikatem o błędzie zbieżności.
Matematycznie warunek stopu można przedstawić następująco
Względny błąd tolerancji RELTOL (ang. relative error tolerance) i absolutne błędy tolerancji VNTOL (ang. voltage node tolerance) i ABSTOL (ang. absolute error tolerance) mogą być ustawiane za pomocą komendy . OPTIONS. Przykładowo:
.OPTIONS RELTOL=.01 VNTOL=lmV ABSTOL=lnA
Domyślnie stała RELTOL wynosi 0,1%. Przykładowo, jeśli obliczone napięcie węzłowe wynosi 1 V, to aby spełnić warunek stopu, zmiany tego napięcia w kolejnych iteracjach muszą być mniejsze niż 1 mV. Stała VNTOL odgrywa istotną rolę, gdy analizowane napięcie węzłowe jest bliskie zeru. Przykładowo, jeśli wynosi ono 0,1 mV, to pierwszy składnik warunku stopu jest równy 0,1 (jlV -jest to wartość zdecydowanie za mała. Gdyby — 0,1 P-V, to liczba iteracji wymaganych do osiągnięcia zbieżności byłaby zbyt duża. Ponieważ domyślnie VNTOL = 1 |xV, wartość VLimit osiąga rozsądniejszą wartość (w rozpatrywanym przypadku VUmit = 1,1 p.V).
Stałe RELTOL i ABSTOL odgrywają podobną rolę przy ocenie zmian prądów. Domyślnie ABSTOL = 1 pA. Wartości 1 |xV i 1 pA określają dokładność obliczeń. Najczęściej dokładność taka jest całkowicie wystarczająca. Są jednak przypadki, np. podczas analizy napięcia wejściowego wzmacniacza prądu stałego o bardzo dużym wzmocnieniu, że może zaistnieć potrzeba poprawienia dokładności obliczeń.
Gdy program nie może osiągnąć zbieżności obliczeń, korekta stałych RELTOL, VNTOL i ABSTOL często pozwała uzyskać rozwiązanie. W takich przypadkach najczęściej wystarczające jest niewielkie zwiększenie limitów5-4. Z kolei zmniejszenie wymienionych parametrów zwiększa liczbę iteracji, gdyż do uzyskania dodatkowego polepszenia dokładności potrzebne są dodatkowe kroki w algorytmie Newtona--Raphsona. Można przyjąć, że dziesięciokrotna zmiana parametru RELTOL powoduje około dwukrotną zmianę liczby iteracji [25].
Program SPICE może realizować wiele różnych analiz, ale tylko trzy spośród nich mogą powodować kłopoty ze zbieżnością. Są to analizy: DC i Tran.
Podstawowe znaczenie ma analiza OP, dająca punkt wyjścia dla pozostałych rodzajów analiz. Szczególny problem związany z analizą OP polega na tym, że program
l'/y rzeczywiście potrzeba wyliczać potencjały i prądy w dwudziesto-woltowym zasilaczu z dokład-noiui) I^V/!pA?