1
$\begingroup$

I'm trying to build a numerical solution for a parameter estimation problem of reaction-diffusion equation, using the adjoint method.

To summarize it, I'm trying to minimize the function $$ G=\frac{1}{2}\int_\Omega{(u(T,x)-u_f)^2d\Omega} + \frac{1}{2}\int_\Omega{D^2d\Omega}+ \frac{1}{2}\int_\Omega{k^2d\Omega} $$

subject to

\begin{align} F = \partial_t u - \nabla(D\nabla u) - ku(1-u) = 0 \\ u(0,x) = u_0 \\ u(t,x) = 0 ~\forall x\in\Gamma :=\partial\Omega \end{align}

where $u$ is the tumor density function, $\Omega$ is the space domain of the problem and $D$, $k$ are the unknown diffusion and proliferation terms (to optimize in order to find the minimal $G$).

Thank to GoHookie's help, I have now a proper derivation of the Lagrangian $$ L = G - \lambda F $$ giving me an expression of the total derivative of $G$ w.r.t the unknown parameters $D$ and $k$

$$ \frac{\partial L}{\partial D}(\delta D) = \int_\Omega\int_t^T{(\frac{D}{T}-\nabla \lambda\nabla u)\delta Dd\Omega dt} \\ \frac{\partial L}{\partial k}(\delta k) = \int_\Omega\int_t^T{(\frac{k}{T}-\lambda u(1-u))\delta k d\Omega dt} $$

Since the problem is non-linear, I have to use an iterative optimization methods, which requires me also to provide an expression of the Hessian of $G$.

Using again an adjoint method, leads to calculate the various second derivatives of $L$ w.r.t $u, D$ and $k$.

I think I can manage it except for the case of $$ \frac{\partial^2 L}{\partial u\partial D}(\delta u,\delta D) = -\int_\Omega\int_t^T{(\nabla \lambda\nabla \delta u)\delta Dd\Omega dt} $$

since then, I think I need to factorize this expression both for $\delta u$ and $\delta D$ (i.e. transform the expression in something like $\int_\Omega\int_0^T{\left( J(u,\lambda,\nabla u,\nabla \lambda)\delta u\delta \lambda\right) d\Omega dt}$ ) but none of the divergence theorem, Green theorem or integration by part methods seems to help me doing this factorization.

Any help ?

Thx

$\endgroup$
  • $\begingroup$ there was an error in my initial derivation of the gradient equations. you should see the updated answer for the correct formulation of $\partial L/\partial k$ and $\partial L / \partial D$. $\endgroup$ – GoHokies Jan 14 '18 at 12:46
  • $\begingroup$ The expression for the second derivative in question looks correct to me. But I don't understand what you mean by "I think I need to factorize this expression". Can you explain what you mean by that? $\endgroup$ – Wolfgang Bangerth Jan 14 '18 at 15:27
  • 2
    $\begingroup$ @davidguez You're guessing wrong; this is exactly what you get. What you do with it is another question -- in general, you can't get an explicit Hessian, you can only use this to compute the action of the Hessian in a direction $\delta D$. Luckily, this is all you need for a Krylov method such as CG, which allows you to iteratively solve the Newton step (approximately). The keyword to Google is Newton--Krylov (or Krylov--Newton) method. $\endgroup$ – Christian Clason Jan 14 '18 at 21:00
  • 1
    $\begingroup$ @davidguez for large-scale problems, Gâteaux second derivatives (Hessian-vector products) come at a significant computational cost. You'll want to check if this overhead pays off in terms of solution accuracy / convergence speed. if it does not, I suggest you look into an alternative method that uses only first-order derivative information, such as Gauss-Newton or BFGS. $\endgroup$ – GoHokies Jan 15 '18 at 8:00
  • 1
    $\begingroup$ @davidguez To build a full matrix, you indeed insert every basis vector into this expression. Which basis vector depends on your discretization -- for linear finite elements, the basis vectors are hat functions centered on each node, whose gradient is well-defined. Note that $\delta u$ is the variation in $u$ and hence lies in the same space -- so if $\nabla u$ makes sense in your original PDE, so does $\nabla \delta u$. $\endgroup$ – Christian Clason Jan 15 '18 at 8:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.