Hello everyone,
I would like to know what is actually going on when we use Newton’s method to solve (for example non-linear) variational problem.
Suppose we have a functional F[u, w] = \int_{\Omega} f(u, w) dx representing the weak form of an interest, where u(x) is an unknown function and w(x) is the test function defined on the same space as u . According to the definition of functional derivative of F w.r.t. u in some direction v(x) (a function defined on the same space as u(x)) one should write
where \delta F is the variation on F or functional differential and \frac{\delta F}{\delta u} is the functional derivative. On the other hand we have a Gateaux derivative definition for F w.r.t. u
As far as I understand it D_v F[u] is equal to \delta F and is just another way of writing functional differential.
According to the UFL documentation Python function ufl.derivative()
computes the the functional differential \delta F. Since the form F[u,w] is the weak form of the interest, the ufl.derivative(F, u, v)
gives us another form that is called (at least in the tutorials on solving non-linear problems) Jacobian of this weak form F[u, w]. That is used to solve the initial non-linear problem using Newton’s method. According to this method one has to solve subsequent linear problems of the form Ax=b where A is the obtained Jacobian of the weak form and b is euqal to - F[u, w] so that we have
where \delta u is the same as v.
The last formula confuses me a lot because according to the Newton’s method the Jacobian has to be a functional derivative, but in FEniCS we supply a functional differential as a Jacobian. And to my understanding if we do the latter and want to follow the Newton’s approach we should solve the next formulation
but not the
What have I missed?