Rozwiązuję równanie różniczkowe w warunkach początkowych u (0) = u (1) = 0 , u '' (0) = u '' (1) = 0 . Tutaj \ sigma (x) \ geqslant \ sigma_ {0}> 0 jest parametrem. W postaci operatora możemy przepisać równanie różniczkowe jako Au = f , gdzie operator A jest określony dodatnio.
Zgodnie ze schematem MES redukuję problem do problemu optymalizacji
Wprowadzam elementy skończone jako
dla dowolnego , gdzie , . Elementy skończone i są wprowadzane podobnie.
Próbuję znaleźć liczbowo wektor taki sposób, że rozwiązuje problem optymalizacji. Mamy
gdzie i . Po różnicowaniu względem otrzymuję
ale tutaj macierz sztywności jest pojedyncza. Więc co mam zrobić? Może muszę wybrać inne elementy skończone?
finite-element
Aplikacja
źródło
źródło
Odpowiedzi:
W malejącej kolejności prawdopodobieństwa
Niepoprawna podstawa. Z opisu wynika, że masz dokładnie dwie funkcje kwadratowe z obsługą każdego elementu. Ta przestrzeń nie jest podziałem jedności i nie jest (ciągłe pierwsze pochodne). Aby zdyskretować problem czwartego rzędu bezpośrednio (zamiast na przykład zredukować go do układu równań drugiego rzędu), potrzebujesz podstawy . Zauważ, że podstawa powinna być w stanie dokładnie odtworzyć wszystkie funkcje liniowe.C1 C1 C1
Niewystarczające warunki brzegowe. Będzie to rażąco oczywiste, jeśli obliczysz i narysujesz pustą przestrzeń.
Niepoprawny montaż. Sprawdź mapę od elementów do złożonego zamówienia, aby potwierdzić, że jest to oczekiwane, na przykład, że nie odwraca orientacji elementów.
Niepoprawny lokalny montaż. W 1D możesz analitycznie obliczyć, jak wygląda macierz sztywności elementu (być może w uproszczonym przypadku) i sprawdzić, czy kod ją odtwarza.
źródło
Najwyraźniej problem ma pochodną kolejności ODD. Mówiąc dokładniej dla większych liczb Pécleta , matryca sztywności może nie utrzymywać „drobnego” kształtu, który tworzy zera podczas składania, a tym samym uzyskuje pojedyncze lub czasami bardzo małe wyznaczniki, które są zauważalne przez oscylacje na wykresie rozwiązania.
Rozwiązaniem tego rodzaju problemu jest między innymi stosowanie kary. Mówiąc dokładniej, nazywa się to metodą Pietrowa-Galerkina .
Przepraszam za moje złe rozumienie angielskiego.
źródło