Rozważmy sprawne stan początkowy i równanie ciepła w jednym wymiarze: w otwartym przedziale ] 0 , 1 [ i załóżmy, że chcemy go rozwiązać numerycznie z różnic skończonych.
Wiem, że aby mój problem został dobrze postawiony, muszę nadać mu warunki brzegowe przy i x = 1 . Wiem, że Dirichlet lub Neumann działają dobrze.
Jeśli mam w pierwszym przypadku punktów wewnętrznych x k = k dlak=1,⋯,N, a następnie mamNnieznanych:uk=u(xk)dlak=1,⋯,N, ponieważujest określony na granicach.
W drugim przypadku naprawdę mam niewiadomych u 0 , ⋯ , u N + 1 i wiem, jak używać (jednorodnego) Neumanna BC, aby zdyskretować laplaciana na granicy, na przykład przy połączeniu dwóch fikcyjnych punktów x - 1 oraz x N + 2 i równości:
Moje pytanie dotyczy okresowego pne. Mam wrażenie, że mógłbym użyć jednego równania, mianowicie ale może dwa, a następnie użyłbym ∂ x u ( 0 ) = ∂ x u ( 1 )
ale nie jestem pewien. Nie wiem też, ile niewiadomych powinienem mieć. Czy to ?
Odpowiedzi:
Najlepszym sposobem na to jest (jak powiedziałeś) po prostu użycie definicji okresowych warunków brzegowych i prawidłowe ustawienie równań od samego początku przy użyciu faktu, że . W rzeczywistości, nawet silniej, okresowe warunki brzegowe utożsamiają x = 0 z x = 1 . Z tego powodu powinieneś mieć tylko jeden z tych punktów w domenie rozwiązania. Przedział otwarty nie ma sensu, gdy stosuje się okresowe warunki brzegowe, ponieważ nie ma granicy .u(0)=u(1) x=0 x=1
Oczywiście nie ma potrzeby tworzenia ani przechowywania tej matrycy. Skończone różnice należy obliczać w locie, zwracając uwagę na pierwsze i ostatnie punkty specjalnie w razie potrzeby.
źródło
Zgodnie z tym należy nałożyć okresowe warunki brzegowe, ponieważ:
Jednym ze sposobów dyskretyzacji równania ciepła w sposób dorozumiany przy użyciu wstecznego Eulera jest
Rozwiązywanie układu równań
Co daje N + 2 równań i N + 2 nieznanych.
Możesz także pozbyć się pierwszych równań i komórek duchów i dojść do układu N równań i N nieznanych.
źródło