Streamline simulation of a reactive advective flow with discontinuous flux function

Masoud Ghaderi Zefreh, Halvor M. Nilsen, Knut Andreas Lie, Xavier Raynaud, Florian Doster

Research output: Contribution to journalArticlepeer-review

2 Citations (Scopus)
68 Downloads (Pure)

Abstract

Reactive transport in porous media with dissolution and precipitation has important applications in oil and gas industry and ground-water remediation. In this work, we present a simulation method for reactive flow in porous media of two salts that share an ion. The method consists of a front-tracking solver that uses the Riemann solutions of the underlying set of hyperbolic partial differential equations. In addition to the discontinuities stemming from the nonlinearities of the flux function, the flux function for the corresponding advection reaction equation also admits discontinuities for a heterogeneous medium. Here, we solve the Riemann problem for the governing nonlinear hyperbolic system with a discontinuous flux function. We use mass balance across the interface and the non-decreasing sequence of velocity of waves to seek the unique solution for this problem. Furthermore, a model is provided for mixing of streamlines at the well to estimate the amount of precipitate. In the use of streamline methods, we have modified the definition of time-of-flight to allow the model to be easily utilised for the heterogeneous case. The simulation method is applied to model dissolution through injection of an unsaturated fluid. It is shown that the first dissolution shock, which causes induced precipitation due to the co-ion effect, results in accumulation of precipitate at the well.
Original languageEnglish
Pages (from-to)255–271
Number of pages17
JournalComputational Geosciences
Volume23
Early online date8 Sept 2018
DOIs
Publication statusPublished - Apr 2019

Fingerprint

Dive into the research topics of 'Streamline simulation of a reactive advective flow with discontinuous flux function'. Together they form a unique fingerprint.

Cite this