Sensitivity Analysis for the Numerical Simulation of ...

Object Details


XVI International Conference on Computational Methods in Water Resources (CMWR-XVI) Ingeniørhuset

Sensitivity Analysis for the Numerical Simulation of the Transport of Contaminants
Author:estelle marchand <> (inria rocquencourt)
francois clement <> (inria rocquencourt)
Presenter:estelle marchand <> (inria rocquencourt)
Date: 2006-06-18     Track: General Sessions     Session: General

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, ie mass balanced equation, for each radionuclide, and a law of exchange between liquid and solid phases for each radionuclide. We must be able to compute the Jacobian matrix of the function which associates the output concentrations to the parameters. This can be done by direct or inverse methods (direct methods are preferable when output data are more numerous than parameters; otherwise inverse methods are preferable). To differentiate the model we do not want to use finite difference methods. The alternatives are to compute the derivatives obtained "by-hand" or to use an automatic differentiation tool. One object of this presentation is to evaluate the performance of the automatic differentiation tool "adolC" which is able to differentiate C++ code both in direct and inverse modes. For differentiating a solver for the flow equation, this tool has provided some interesting results: the execution times are comparable to those obtained with a code differentiated “by-hand”, for a shorter development time. The major limitation to the use of this tool is the size of the files generated during the execution. The usefulness of this tool will depend on the sort of code we want to differentiate: indications from the experiments carried out this far suggest differentiating "by-hand" programs that use huge exterior libraries or that contain iterative methods; automatic differentiation will be very interesting in the case of programs 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. A solution is to make executables differentiated “by-hand” communicate with executables differentiated automatically by means of an input/output library. We use splitting methods, so our problem is decomposed in quite simple blocs. Communication between these blocs must transmit not only values, but also elementary variations or gradients. The input/output library will also make it possible to control domain decomposition methods.