Ich habe im Internet einige Ressourcen über Galerkin-Methoden zur Lösung von PDEs gelesen, bin mir jedoch nicht sicher, was ich tun soll. Das Folgende ist meine eigene Darstellung dessen, was ich verstanden habe.
Betrachten Sie das folgende Randwertproblem (BVP):
wobei ein linearer Differenzierungsoperator 2. Ordnung ist, die Domäne des BVP ist, die Grenze der Domäne ist und ein linearer Differenzierungsoperator 1. Ordnung ist. Expessiere als eine Annäherung der Form:S u ( x , y )
Dabei ist eine Menge von Funktionen, mit denen wir uns u annähern . Vertretung im BVP:
Da unsere Näherung nicht genau ist, ist der Rest nicht genau Null. Im Galerkin--Ritz-Raleigh - Verfahren minimieren wir R in bezug auf den eingestellten Funktionen der Annäherung durch die Forderung ⟨ R , g i ⟩ = 0 . Daher
Um die Koeffizienten zu finden , müssen wir daher die Matrixgleichung lösen:
Meine Frage ist: Wie binde ich die Randbedingungen ein?
EDIT: Ursprünglich lautete die Frage, dass ein linearer Differentialoperator 2. Ordnung war. Ich habe es in einen linearen Differentialoperator 1. Ordnung geändert.
scicomp
! Unsere Richtlinie zum Cross-Posting folgt der anderer Stack Exchange-Sites . Ein Cross-Posting ist zulässig, wenn Sie dieselbe Frage (mehr oder weniger) auf unterschiedliche Zielgruppen zuschneiden. Es ist zulässig, Ihre Frage nach einiger Zeit auf eine andere Site zu migrieren, wenn Sie der Meinung sind, dass Ihre Frage auf der Site, auf der sie ursprünglich veröffentlicht wurde, nicht zufriedenstellend (oder überhaupt nicht) beantwortet wird.math
Benutzer, die Ihre Frage beantworten , nicht auchscicomp
Benutzer sind, erhalten sie für ihre Antwort hier am nicht die erforderliche Anerkennung oder Zuschreibung,scicomp
wenn Sie sie kopieren und einfügenmath
und umgekehrt.math
unter gelöscht. Offensichtlich haben Sie Recht gehabt, die Frage hier zu behalten. Ich habe sehr hilfreiche Antworten erhalten.Antworten:
Eine schnelle und allgemeine Antwort ohne mathematische Abstraktionen. Es gibt verschiedene Möglichkeiten, Randbedingungen festzulegen, z
Streng genommen die Galerkin- Methode erfordert , dass man einen Satz von Basisfunktionen wählen , die die BC des Problems (zB über Basis - Rekombination und / oder Spaltung des erfüllen Näherung wit u 0 für inhomogene Lösungen und u N eine Teilsumme, die auf Basisfunktionen beruht, die die homogenen Bedingungen erfüllen)uh=u0+uN u0 uN
Strafverfahren / Lagrange multipliziert, wobei man im Wesentlichen einen Strafausdruck addiert, der die Randbedingung enthält, zB A + wobei B eine Matrix ist, die für die diskrete Randbedingung verantwortlich ist, und b p für inhomogene Ausdrücke verantwortlich ist. In der Grenze τ → ∞ sind die Bedingungen stark und ansonsten schwach vorgegeben. Die Wahl von τ beeinflusst die Konditionierung des Systems.τ∗B=b+τ∗bp B bp τ→∞ τ
Tau-Methode, bei der eine Reihe von Gleichungen (Änderung von Zeilen im Galerkin-System) mit diskreten Versionen von Randbedingungen ausgetauscht werden, die dann explizit erzwungen werden. Hinweis: Eine Möglichkeit besteht auch darin, die Systeme mit zusätzlichen Randbedingungen überbestimmt zu machen.
Vor der Diskretisierung (Ritz-Methode) schreiben Sie die Galerkin-Formulierung über das Gauß-Divergenz-Theorem um, um Volumenintegrale in Grenzintegrale umzuwandeln, und integrieren Sie dann (genaue oder ungefähre) Randbedingungen direkt in die Formulierung vor der Diskretisierung.
Schließlich ist es durch Ausnutzung der Verbindung zwischen Knoten- / Modalerweiterungen auch möglich, eine Knoten-Galerkin-Methode abzuleiten, bei der die Lösung des Systems die Koeffizienten einer Lagrange-Basis und nicht einer Modalbasis sind.
quelle
Eine Möglichkeit besteht darin, die Systemmatrix und den Vektor b auf der rechten Seite mit den vorgeschriebenen Freiheitsgraden als Unbekannte zusammenzusetzen, wie bei jedem anderen Freiheitsgrad. Dann werden A und b modifiziert, indem den vorgeschriebenen dofs zugeordnete Zeilen und Spalten auf Null gesetzt werden, eine Eins in den entsprechenden diagonalen Eintrag gesetzt wird und der rhs-Vektor b geeignet modifiziert wird .A b A b b
When you zero rows, put one into the diagonal and change the rhs so that you enforce the prescribed value, the system is no longer symmetric. That´s why you zero columns and modify the rhs vectorb to account for the prescribed value.
Another possibility is to add a very large numberp (usually 1e10) to the diagonal of the prescribed dof and then set the rhs entry to p*u¯ , where u¯ is the prescribed value of that dof.
quelle
The general problem of dealing with boundary conditions with the finite element method can get pretty complicated. But if:
You can finagle your elements so thatδΩ is entirely on the boundaries of various elements
it's actually very simple. Your equation:
where the right hand side vectorb represents the boundary conditions.
To determineb , set the elements of your basis that determine the value of u on δΩ to whatever values they need to be to satisfy the boundary conditions. In ⟨L[gj],gi⟩ , you should exclude them from the gj but not the gi (the elements of a that correspond to these functions have already been determined, so they shouldn't be included in the matrix equation) . Then, set up
quelle
Here is a method known as basis recombination, which has not been mentioned in the present thread. I'm citing from the book of J.P. Boyd, "Chebyshev and Fourier Spectral Methods", 2nd Ed., Chapter 6.5.:
Next comes my own explanation:
"Inhomogeneous boundary condition" means a condition which contains a constant, e.g.
According to the above program, by choosing a convenient functionB(x) , you get that down to
Once you made all boundary conditions homogeneous in this way, you can turn to your basis expansion (which I assume is done in terms of a product basis):
Now comes the crucial step: by using a basisϕi(x) which already satisfies the BC by itself, i.e. ϕ′i(x)|x=x0=0 for all i , the BC of the (transformed) two-dimensional problem are satisfied automatically! Basis sets of this and similar kind can be found, e.g., by a procedure called "basis recombination" (that is often used in combination with collocation methods).
Note that this is the point where homogeneous boundary conditions really matter, because otherwise one would need to impose further constraints. For example, suppose we would be working with the "=1 " condition above, and, correspondingly, let's try to use a basis with ϕ′i(x)|x=x0=1 . Then
The nice thing about this whole approach is that it is working on a relatively abstract level. Necessary ingredients are only linearity of the BC operator and an ansatz in terms of product basis functions. As such, it is also applicable to approximate methods.
quelle