Work Package 3 -Validation and certification of numerical results

Experimental results are usually accompanied by errors bars, which are crucial information for assessing the quality of the results. This is not yet the case in molecular simulation, where errors have various origins:

  • the imperfections of the model (model error),
  • its discretization in finite bases or grids, often using numerical quadrature schemes (discretization error),
  • the calculation of the solution by iterative algorithms whose convergence is controlled by stopping criteria (algorithmic error),
  • their implementation in software that may contain bugs (implementation errors), and uses finite-precision floating-point arithmetic (arithmetic errors errors),
  • possible hardware failures (hardware error),
  • if the model or numerical method is stochastic in nature (simulation of disordered materials, quantum Monte Carlo, Langevin molecular dynamics), statistical errors are also present.

Only the latter source of error is usually provided in published molecular simulation results. The objective of this Work Package is to mathematically analyze and quantify the other sources of error with a twofold objective:

  1. to bound the total error to the computed physical quantities of interest, thus allowing the accuracy of the final result to be estimated,
  2. to optimize the computer resources needed to achieve a given accuracy on the final result through error balancing techniques.

This requires advanced techniques of mathematical and numerical analysis (functional analysis, operator theory, spectral theory, nonlinear partial differential equations, linear algebra, numerical optimization), and computer science (proofs of programs, floating-point arithmetics). In addition to the construction and implementation of a posteriori error estimators for first-principle molecular simulation, one of the objective of Work Package 3 is the development of the density functional toolbox, DFTK, a library of Julia routines. The unique feature of this code is its emphasis on simplicity and flexibility to facilitate methodological development and interdisciplinary collaboration.