Adjoint-based sensitivity analysis

NM Navid Mohammad Mirzaei
WH Wenrui Hao
LS Leili Shahriyari
ask Ask a question
Favorite

We performed Adjoint-based Sensitivity Analysis (ABSA).90 Suppose we have a general system consisting of N number of PDEs

where the solution x can be considered an implicit function of the parameters θ. Suppose we have a quantity of interest J(x), and we are interested to know its sensitivity to the parameters, i.e., Jθ. The direct way to do so is to perturb the parameters and see how they affect the quantity of interest. This method is not generally a bad approach, especially if θ is low-dimensional. However, it can quickly become impossible computationally if θ is a high-dimensional vector. Moreover, if the Equation 50 is time-dependent, it can significantly add to the computational burden, and our problem is a time and space-dependent PDE system with 82 parameters. A way to circumvent this issue is to use ABSA. The idea of this method is to obviate the dependence of Jθ on the solution x as much as possible. From Equation 50, we can immediately deduce that

or more generally,

holds for all vectors ψRN. Now, if we slightly perturb θ, it will cause a slight perturbation in x and J, i.e.:

By the way of the chain rule, this can be rewritten using Equation 52 as:

So if we set (∗) equal to zero, we have achieved our goal. In fact, the equation

is known as the adjoint equation. Since Fx is non-singular by the implicit function theorem, it is guaranteed to give us a vector ψ which makes (∗) from the Equation 54 zero. Therefore, using the solution ψ from Equation 55 we can rewrite Equation 54 completely independent of x as follows:

Note that we still need to calculate x for a nominal set of parameters θ from Equation 50 to be able to get ψ from the adjoint equation. But, this needs to be done only once, and after that, the sensitivity calculation is independent of the solution. Computationally, we utilized a FEniCS package called dolfin-adjoint, which makes these calculations much easier.91

Do you have any questions about this protocol?

Post your question to gather feedback from the community. We will also invite the authors of this article to respond.

post Post a Question
0 Q&A