10.4122/1.1000000223
Marchand, Estelle
Estelle
Marchand
estelle.marchand@inria.fr
Clement, Francois
Francois
Clement
francois.clement@inria.fr
Marchand, Estelle
Estelle
Marchand
estelle.marchand@inria.fr
Sensitivity Analysis for the Numerical Simulation of the Transport of Contaminants
XVI International Conference on Computational Methods in Water Resources
2006
2006
The questions of safety and uncertainties are central to feasibility studies for an
underground waste storage site. One of the important points to be considered is the
problem of the evaluation of concentration uncertainties which are due to input
parameter uncertainties. These concentration uncertainties can be obtained by
probabilistic methods. These methods give good results and are relatively easy to
implement, but they are expensive because they require a large number of simulations.
The method of deterministic sensitivities is much less demanding in computing time.
This gain in computing time is accompanied by a deterioration of the quality of the
information obtained, but because of its much lower cost, it still deserves to be
developed.
The mathematical model consists of a flow equation based on Darcy's law - we assume
that the Darcy velocity is stationary -, a transport equation, i. e. a mass balance
equation, for each radionuclide, and a law of exchange between liquid and solid
phases for each radionuclide.
The deterministic sensitivity analysis is based on the first order approximation
given by the Jacobian matrix of the function which associates the output
concentrations to the input parameters. This differentiation computation can be done
either by direct methods (preferable when the number of input parameters is low) or
by reverse methods (preferable when the number of output concentrations is low); and
since we avoid finite difference methods for their lower precision, we have two
alternatives: implement "by hand" the derivatives or use an automatic differentiation
tool. The latter uses either source code transformation or operator overloading.
The main goal of this presentation is to give an evaluation of the
performance of the automatic differentiation tool "adolC" which is able to
differentiate C++ code both in direct and reverse modes. Here, we consider the
simpler case of just the (3D) flow equation, and the main result is that this tool
has shown both precision and efficiency comparable with those obtained from a code
differentiated by hand, but for a shorter development time. The major limitations to
the use of "adolC" is the size of files automatically generated during the execution
and the handling of huge outside libraries. Hence, the first experiments carried out
thus far suggest differentiating "by hand" parts that use libraries or that contain
iterative methods and using automatic differentiation for parts for which the list of
operations realized during the execution depends strongly, but not iteratively, on
the parameters, for example for the computation of upwinded schemes. Fortunately it
is possible to combine manual and automatic differentiation, and that is what we do.