Którego 2D PDE z dokładnym rozwiązaniem mogę użyć do przetestowania / weryfikacji mojego kodu FEM-PDE?

Nov 24 2020

Stworzyłem program do rozwiązywania 2D zależnych od czasu PDE metodą elementów skończonych i uzyskiwania rozsądnych wyników dla równania fali akustycznej 2D. Teraz chciałbym pójść dalej i rozwiązać PDE ze znanym dokładnym / analitycznym rozwiązaniem do porównania. Jednak mam duży problem ze znalezieniem odpowiedniego równania. Wydaje się, że nie ma dwuwymiarowych, zależnych od czasu równań z rozwiązaniem analitycznym, które nie obejmuje nieskończonych sum lub tym podobnych. Pomyślałem o wzięciu równania 1D i rozszerzeniu go na dwa wymiary, po prostu rozwiązując je w domenie 2D bez zmiany czegokolwiek, w efekcie powielając równanie wzdłuż osi y. Jednak warunki brzegowe wydają się komplikować sprawę i te równania 1D działają na nieskończonych domenach, tj. Na całej osi rzeczywistej.

Czy istnieje takie równanie, którego mogę użyć? Czy istnieje inny ustalony sposób testowania poprawności implementacji solvera PDE?

Odpowiedzi

5 BillBarth Nov 25 2020 at 00:14

Jak wskazuje komentarz Maxima, powinieneś być w stanie stworzyć dowolne rozwiązanie, przepuścić je przez oryginalne, ciągłe PDE, wygenerować funkcję wymuszającą, warunki brzegowe (zależne od czasu) i warunek początkowy, podłączyć je do swojego programu, uruchom go i porównaj otrzymaną odpowiedź z funkcją, od której zacząłeś. Jest to znane jako metoda wytworzonych rozwiązań i jest bardzo skutecznym sposobem ustalenia jakości rozwiązań programu. Jest to również świetny sposób na przeprowadzanie badań udoskonalania siatki i etapów czasowych, które mogą pasować do potrzeb użytkownika lub recenzenta.