Definicja sztywnego układu ODE

17

Rozważ IVP dla systemu ODE , . Najczęściej ten problem jest uważany za sztywny, gdy macierz Jacobiego ma zarówno wartości własne o bardzo dużej ujemnej części rzeczywistej, jak i wartości własne o bardzo małej ujemnej części rzeczywistej (uważam tylko za stabilne walizka).fy=f(x,y)y(x0)=y0fy(x0,y0)

Z drugiej strony, w przypadku tylko jednego równania, na przykład równania Prothero-Robinsona , nazywa się sztywnym, gdy .y=λy+g+λgλ1

Są więc dwa pytania:

  1. Dlaczego małe wartości własne są zawarte w definicji sztywności dla systemów ODE? Uważam, że obecność tylko bardzo dużych ujemnych części rzeczywistych wystarcza, aby system był sztywny, ponieważ powoduje to, że używamy małych kroków czasowych dla jawnych metod.

  2. Tak, wiem, że najczęstsze sztywne problemy (np. Wynikające z parabolicznych PDE) mają zarówno duże, jak i małe wartości własne. Drugie pytanie: czy istnieje dobry naturalny przykład dużego sztywnego układu bez bardzo małych wartości własnych (lub alternatywnie z łagodnym stosunkiem )?λmax/λmin


OK, zmodyfikujmy pytanie. Rozważ dwa dwuwymiarowe liniowe systemy ODE: pierwszy z wartościami własnymi {-1000000, -0.00000001} i drugi z {-1000000, -999999}. Jeśli chodzi o mnie, oba są sztywne. Ale jeśli weźmiemy pod uwagę definicję współczynnika sztywności, drugi system nie jest. Główne pytanie: dlaczego w ogóle brany jest pod uwagę współczynnik sztywności?

A druga część pytania jest wciąż ważna, sparafrazujmy ją: szukam „naturalnego” dużego układu ODE z dużymi ujemnymi wartościami własnymi i łagodnym współczynnikiem sztywności (nie większym niż, powiedzmy, 100).

faleichik
źródło
2
Witamy w scicomp.se. Odpowiedzi na twoje pytania są dokładnie podane na wikipedii: en.m.wikipedia.org/wiki/Stiff_equation
David Ketcheson
Myślę, że pomiędzy komentarzem @DavidKetcheson a kilkoma cytowanymi przeze mnie źródłami zobaczysz, że stosunek sztywności jest jedynie wytyczną. To nie jest idealne; dlatego nie ma go w definicji. Zdarza się, że jest cechą wielu, ale nie wszystkich, sztywnych układów. A jeśli chodzi o drugą część, myślę, że trudno będzie ci ją znaleźć, chyba że ma specjalną strukturę lub powstaje w aplikacji. Podałem wam przykład takiej aplikacji, w której stosunek sztywności nie zawsze jest duży, i zachęcam do spojrzenia na książkę Hairera i Wannera.
Geoff Oxberry,
1
@David: Nie mogę się z tobą zgodzić. Weźmy na przykład problem jednowymiarowy y '= - 50 (y-cos x). „Wartość własna” wynosi -50. Nie można rozwiązać tego problemu za pomocą jawnego Eulera o krokach większych niż 2/50. Jeśli zamienimy -50 na -50000, ograniczenie timepep staje się 2/50000. Jakie „jednostki” możemy tutaj wybrać, aby pokonać tę barierę?
faleichik
2
@faleichik Część twojego przykładu naprawia skalę czasową „powolnego rozmaitości” (która jest prawdopodobnie skalą czasu, którą jesteś zainteresowany, chociaż możliwe jest, że byłbyś zainteresowany znacznie krótszymi skalami czasowymi). Nie sądzę, że można zdefiniować sztywność bez wybrania obserwacyjnej skali czasu (być może pośrednio poprzez określenie właściwości, które chcesz zachować przez dłuższy czas). Współczynnik sztywności określa jedynie ilościowo podziałkę między najszybszą i najwolniejszą skalą czasową układu autonomicznego . sałatax
Jed Brown
1
W tym dokumencie jest nowa, lepsza odpowiedź na to pytanie .
David Ketcheson

Odpowiedzi:

10

Sztywność obejmuje pewne oddzielenie łusek. Ogólnie rzecz biorąc, jeśli jesteś zainteresowany fazą najszybszego trybu w systemie, musisz go rozwiązać, a system nie jest sztywny. Ale często interesuje Cię długoterminowa dynamika „wolnego kolektora”, a nie dokładna szybkość, z jaką podchodzi do niego rozwiązanie z wolnego kolektora.

Reakcje chemiczne i przepływy reakcyjne są powszechnymi przykładami sztywnych układów. Van der Pol oscylator jest częstym problemem odniesienia dla integratorów ODE że ma przestrajanie sztywności paramater.

Ocean to kolejny przykład, który może być pomocny w wizualizacji. Tsunami (powierzchniowe fale grawitacyjne) poruszają się z prędkością samolotu i wytwarzają złożoną strukturę falową, ale rozpraszają się w długich skalach czasowych i są w większości nieistotne dla długoterminowej dynamiki oceanu. Wiry, lub z drugiej strony, poruszają się około 100 razy wolniej przy dość dużych prędkościach dla pieszych, ale powodują istotne mieszanie i temperaturę transportu, zasolenie i znaczniki biogeochemiczne. Ale ta sama fizyka, która rozchodzi się po powierzchniowej fali grawitacyjnej, obsługuje również wiry (quasi-równowagową strukturę), więc prędkość wiru, droga pod Coriolisem i szybkość rozpraszania zależą od prędkości fali grawitacji. Daje to możliwość opracowania schematu całkowania w czasie zaprojektowanego dla układów sztywnych, aby przekroczyć skalę czasową fali grawitacyjnej i rozwiązać tylko odpowiednie dynamiczne skale czasowe. WidziećMousseau, Knoll i Reisner (2002) za omówienie tego problemu z porównaniem schematów podziału i całkowicie domniemanych integracji czasu.

Powiązane: Kiedy należy zastosować metody niejawne w integracji hiperbolicznych PDE?

Zauważ, że procesy dyfuzyjne są zwykle uważane za sztywne, ponieważ najszybsza skala czasowa w systemie dyskretnym zależy od siatki, skalowana za pomocą , ale skala czasowa odpowiedniej fizyki jest niezależna od siatki. W rzeczywistości najszybsze skale czasowe dla danej siatki reprezentują przestrzennie lokalną relaksację do wolniejszego rozmaitości, na której ewoluują dłuższe skale przestrzenne, więc metody niejawne mogą być bardzo dokładne nawet w surowych normach, mimo że nie rozwiązują najszybszych skal.(Δx)2)

Jed Brown
źródło
10

Część 1

Małe wartości własne nie są uwzględnione w definicji sztywności dla systemów ODE (problem wartości początkowej). Nie znam żadnej znanej mi definicji sztywności, ale najlepsze definicje, jakie spotkałem, to:

Jeżeli metoda numeryczna ze skończonym obszarem stabilności absolutnej, zastosowana do układu w dowolnych warunkach początkowych, jest zmuszona do zastosowania w pewnym przedziale całkowania długości kroku, która jest zbyt mała w stosunku do gładkości dokładnego rozwiązania w tym przedziale , wtedy mówi się, że układ jest sztywny w tym przedziale. (Lambert, JD (1992), Numerical Methods for Ordinary Differential Systems , New York: Wiley.)

IVP [problem z wartością początkową] jest sztywny w pewnym przedziale jeśli rozmiar kroku potrzebny do utrzymania stabilności metody Eulera do przodu jest znacznie mniejszy niż rozmiar kroku wymagany do dokładnego przedstawienia rozwiązania. (Ascher, UM i Petzold, LP (1998), Computer Methods for Ordinary Differential Equations and Differential-Algebraic Equations , Philadelphia: SIAM.)[0,b]

Równania sztywne to równania, w których niektóre metody niejawne, w szczególności BDF, działają lepiej, zwykle znacznie lepiej, niż metody jawne. (CF Curtiss i JO Hirschfelder (1952): Całkowanie równań sztywnych. PNAS, vol. 38, s. 235-243)

Artykuł w Wikipedii na temat równań sztywnych przypisuje Lambertowi następujące „stwierdzenia”:

  1. Liniowy układ stałych współczynników jest sztywny, jeśli wszystkie jego wartości własne mają ujemną część rzeczywistą, a współczynnik sztywności jest duży.

  2. Sztywność występuje, gdy wymagania dotyczące stabilności, a nie dokładności, ograniczają długość kroku. [Zwróć uwagę, że ta „obserwacja” jest zasadniczo definicją Aschera i Petzolda.]

  3. Sztywność występuje, gdy niektóre składniki roztworu rozpadają się znacznie szybciej niż inne.

Każda z tych obserwacji zawiera kontrprzykłady (choć wprawdzie nie udało mi się stworzyć jednego z nich na czubku głowy).

Część 2

Prawdopodobnie najlepszym przykładem, jaki mogłem wymyślić, byłoby zintegrowanie dowolnego rodzaju dużego układu reakcji spalania w kinetyce chemicznej w warunkach, które powodują zapłon. Układ równań będzie sztywny do momentu zapłonu, a następnie nie będzie już sztywny, ponieważ układ przeszedł początkowy stan przejściowy. Stosunek największej do najmniejszej wartości własnej nie powinien być duży, chyba że wokół zdarzenia zapłonu, chociaż takie systemy mają tendencję do mylenia sztywnych integratorów, chyba że ustawisz wyjątkowo ścisłe tolerancje integracji.

Książka Hairera i Wannera podaje także kilka innych przykładów w pierwszej części (Część IV, sekcja 1), które ilustrują wiele innych przykładów sztywnych równań. (Wanner, G., Hairer, E., Rozwiązywanie zwykłych równań różniczkowych II: Sztywne i różniczkowo-algebraiczne problemy (2002), Springer.)

Na koniec warto zwrócić uwagę na obserwację CW Gear:

Choć powszechne jest mówić o „sztywnych równań różniczkowych” równanie per se nie jest sztywny, to szczególny problem wartość początkowa dla tego równania może być sztywny, w niektórych regionach, ale rozmiary tych regionów zależy od wartości początkowych i tolerancja błędów. (CW Gear (1982): Automatyczne wykrywanie i leczenie oscylacyjnych i / lub sztywnych równań różniczkowych zwyczajnych. W: Całkowanie numeryczne równań różniczkowych, Uwagi do wykładu w Math., T. 968, s. 190-206.)

Geoff Oxberry
źródło
Drogi Geoffie, dziękuję za tolerancję :-) Chciałem uprościć moje pytanie, ale w końcu zostałem uznany za niedoświadczonego. W rzeczywistości znam wszystkie te definicje, ale.
faleichik
1. Małe wartości własne domyślnie działają w definicji współczynnika sztywności: są duże, gdy demoninator jest mały. 2. W przypadku jednowymiarowego przypadku liniowego współczynnik sztywności jest zawsze równy jeden, nawet w przypadku równań sztywnych. 3. Czy masz jakieś odniesienia do sugerowanego przez ciebie problemu kinetyki chemicznej? I 4. Spróbuję wyjaśnić pytanie w komentarzach.
faleichik
2
Mechanizmy chemiczne można znaleźć tutaj w formacie CHEMKIN . Problemy są na tyle duże, że potrzebne są pliki wejściowe, a równania są konfigurowane automatycznie przy użyciu pakietu chemii. Sugeruję użycie plików wejściowych w połączeniu z pakietem chemicznym Cantera i pakietem SUNDIALS ODE / DAE , które są oprogramowaniem typu open source. Następnie możesz rozwiązać takie problemy w C ++ lub MATLAB.
Geoff Oxberry
Osobiście traktuję zdanie Curtiss-Hirschfelder jako moją roboczą definicję sztywności; jeśli wyraźne RK lub Adams zajmuje zbyt dużo czasu, aby rozwiązać problem, to prawdopodobnie jest sztywny.
JM
2

W rzeczywistości Jed Brown wyjaśnił mi pytanie. Teraz robię tylko umieszczenie jego słów w kontekście.

  1. Oba 2d liniowe systemy ODE z góry są sztywne (tj. Trudne do rozwiązania za pomocą metod jednoznacznych) we względnie dużych odstępach czasu (np. [0,1]).

  2. Układy liniowe o dużym współczynniku sztywności można uznać za „bardziej sztywne”, ponieważ najprawdopodobniej należy je zintegrować w dużych odstępach czasu. Wynika to z powolnych składników odpowiadających najmniejszym wartościom własnym: rozwiązanie powoli dąży do stanu ustalonego, a ten stan ustalony jest zwykle ważny do osiągnięcia.

  3. Z drugiej strony integracja systemów o małym współczynniku sztywności w dużych odstępach czasu nie jest interesująca: w tym przypadku stan ustalony osiągany jest bardzo szybko i możemy go po prostu ekstrapolować.

Dziękujemy wszystkim za tę dyskusję!

faleichik
źródło
1

Sama bezwzględna wielkość wartości własnych (w liniowym, autonomicznym problemie) nie ma żadnego znaczenia; to artefakt jednostek, w których chcesz wyrazić problem.

Łańcuch komentarzy wymyka się spod kontroli, dlatego odpowiadam na to pytanie. Nie zamierzam odpowiadać na pełne pytanie; tak jak powiedziałem, zobacz wikipedia lub inne odpowiedzi tutaj. Odpowiadam tylko na to, co mówi

Rozważ dwa dwuwymiarowe liniowe systemy ODE: pierwszy z wartościami własnymi {-1000000, -0.00000001} i drugi z {-1000000, -999999}. Jeśli chodzi o mnie, oba są sztywne. Ale jeśli weźmiemy pod uwagę definicję współczynnika sztywności, drugi system nie jest. Główne pytanie: dlaczego w ogóle brany jest pod uwagę współczynnik sztywności?

Dobrze, rozważmy przykład drugiego przypadku:

y1(t)=-1000000y1(t)
y2)(t)=-999999y2)(t)

t=1000000t

y1(t)=-y1(t)
y2)(t)=-0,999999y2)(t)

Uwaga 1: Wybrałem układ diagonalny, aby było to całkowicie oczywiste, ale jeśli spróbujesz go z innym systemem z tymi wartościami własnymi, zobaczysz ten sam efekt, ponieważ pomnożenie macierzy przez stałą zwielokrotnia jej wartości własne przez tę samą stałą.

|λ|1

David Ketcheson
źródło
David, nie wziąłeś pod uwagę okresu integracji. Niech to będzie [0,1] w pierwszym przypadku. Zakładając wyraźne ograniczenia stabilności Eulera, maksymalny dozwolony krok to 2/1000000. Musimy więc wykonać co najmniej 500 000 kroków. Po skalowaniu czasu maksymalny rozmiar kroku zwiększa się do 2, ale cały interwał integracji wynosi 1 000 000, a my ponownie osiągamy minimum 500 000 kroków.
faleichik
@faleichik Tak, teraz masz. Jak zauważył Jed, sztywność nie ma związku z bezwzględną wielkością wartości własnych, ale z ich wielkością w stosunku do twojego interesującego czasu.
David Ketcheson