DARTS open-source reservoir simulation framework

Conference Paper (2024)
Author(s)

I. Saifullin (TU Delft - Applied Geophysics and Petrophysics)

D. Voskov (Stanford University, TU Delft - Reservoir Engineering)

A. Novikov (TU Delft - Reservoir Engineering)

M. Wapperom (TU Delft - Reservoir Engineering)

M. Khait (Stone Ridge Technology)

X. Tian (Guangzhou Institute of Energy Conversion of the Chinese Academy of Sciences)

X. Lyu (China University of Petroleum)

S. De Hoop (Alten)

L. Orozco (The Netherlands eScience Center)

A. Palha (TU Delft - Numerical Analysis, The Netherlands eScience Center)

Y. Chen (TU Delft - Reservoir Engineering)

Research Group
Reservoir Engineering
DOI related publication
https://doi.org/10.3997/2214-4609.202437086
More Info
expand_more
Publication Year
2024
Language
English
Research Group
Reservoir Engineering
Bibliographical Note
Green Open Access added to TU Delft Institutional Repository ‘You share, we take care!’ – Taverne project https://www.openaccess.nl/en/you-share-we-take-care Otherwise as indicated in the copyright section: the publisher is the copyright holder of this work and the author uses the Dutch legislation to make this work public. @en
Volume number
2
Pages (from-to)
942-960
ISBN (electronic)
9798331313319
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

The open Delft Advanced Research Terra Simulator (open-DARTS) framework is an open-source reservoir simulation software. The open-DARTS focused on energy transition applications, such as geothermal energy production and carbon sequestration. It enables the modeling of compositional thermal flow, coupled with a geomechanical solver based on the Finite Volume discretization and adjoints method for inverse modeling. The open-DARTS supports different grid types (structured, corner-point geometry, and unstructured), discrete fracture networks, contact mechanics, and various thermal-chemical interactions. The recently proposed generic nonlinear formulation supports the most general nonlinear PDEs designed for various energy transition applications. The open-DARTS has been implemented in C++ and Python to optimize hardware utilization while ensuring flexibility. The most computationally expensive part is written in C++ and compiled into libraries, which are subsequently exposed to Python using pybind11. This allows the extension and overriding of C++ functions by user-defined Python code. For example, using only a Python interface, one can adjust a timestep strategy, nonlinear solver, or properties output. Besides, the Python interface of open-DARTS provides straightforward coupling with other Python-based numerical modeling packages, including the meshing, file storage, caching, and visualization modules. The open-DARTS core uses the advantages of C++ language, such as efficient low-level memory management, object-oriented programming, compile-time polymorphism, and parallelization with OpenMP. One of the advantages of open-DARTS is the Operator-Based Linearization (OBL) technique, which can resolve challenges associated with complex physics and reduce the computation time, especially for ensemble-based simulations. We would also like to share our experience on the project, repository, and the development workflow configuration using gitlab.com, including the build system (cmake), handling merge requests, automated testing in CI/CD pipelines, documentation management (gitlab.io), wiki utilization, and release publishing. Additionally, Python’s integration into open-DARTS offers the advantage of straightforward installation via PyPI and simplifies defining requirements for users who prefer to avoid compiling code from source files.

Files

86.pdf
(pdf | 1.5 Mb)
- Embargo expired in 05-03-2025
License info not available