Computing derivative information of sequentially coupled subsurface models

Rafael J. de Moraes*, José R.P. Rodrigues, Hadi Hajibeygi, Jan Dirk Jansen

*Corresponding author for this work

Research output: Contribution to journalArticleScientificpeer-review

2 Citations (Scopus)
28 Downloads (Pure)


A generic framework for the computation of derivative information required for gradient-based optimization using sequentially coupled subsurface simulation models is presented. The proposed approach allows for the computation of any derivative information with no modification of the mathematical framework. It only requires the forward model Jacobians and the objective function to be appropriately defined. The flexibility of the framework is demonstrated by its application in different reservoir management studies. The performance of the gradient computation strategy is demonstrated in a synthetic water-flooding model, where the forward model is constructed based on a sequentially coupled flow-transport system. The methodology is illustrated for a synthetic model, with different types of applications of data assimilation and life-cycle optimization. Results are compared with the classical fully coupled (FIM) forward simulation. Based on the presented numerical examples, it is demonstrated how, without any modifications of the basic framework, the solution of gradient-based optimization models can be obtained for any given set of coupled equations. The sequential derivative computation methods deliver similar results compared to FIM methods, while being computationally more efficient.

Original languageEnglish
Pages (from-to)1527–1541
Number of pages15
JournalComputational Geosciences
Issue number6
Publication statusPublished - 2018


  • Adjoint method
  • Data assimilation
  • Direct method
  • Gradient-based optimization
  • Life-cycle optimization
  • Sequential coupling


Dive into the research topics of 'Computing derivative information of sequentially coupled subsurface models'. Together they form a unique fingerprint.

Cite this