... | @@ -250,7 +250,7 @@ int main() { |
... | @@ -250,7 +250,7 @@ int main() { |
|
### Differentiation
|
|
### Differentiation
|
|
Insbesondere in Newtonverfahren für nichtlineare PDEs und Rosenbrock-Verfahren für die Zeitintegration (nichtlinearer Gleichungen), wird die Jacobimatrix eines Differentialoperators benötigt. Den kann man häufig auf die Ableitung der Koeffizientefunktionen zurückführen. Siehe aus Motivation auch das Nonlinear Demo [Nonlinear example](nonlinear_example). Grundlage der Implementierung könnte sein, dass die Terme automatisch differenziert werden Als Beispiel soll hier ein einfaches Polynom als Term dienen:
|
|
Insbesondere in Newtonverfahren für nichtlineare PDEs und Rosenbrock-Verfahren für die Zeitintegration (nichtlinearer Gleichungen), wird die Jacobimatrix eines Differentialoperators benötigt. Den kann man häufig auf die Ableitung der Koeffizientefunktionen zurückführen. Siehe aus Motivation auch das Nonlinear Demo [Nonlinear example](nonlinear_example). Grundlage der Implementierung könnte sein, dass die Terme automatisch differenziert werden Als Beispiel soll hier ein einfaches Polynom als Term dienen:
|
|
|
|
|
|
![expr(u) = u^4](/uploads/174c8b00fb3fd51973c71b5be94473b5/eqn4.png)
|
|
expr(u) = u^4
|
|
|
|
|
|
Um nach `u` zu differenzieren, müssen wir dem zugrundeliegenden DOFVector einen Namen geben:
|
|
Um nach `u` zu differenzieren, müssen wir dem zugrundeliegenden DOFVector einen Namen geben:
|
|
|
|
|
... | | ... | |