The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied...

24
The OPM Initiative Kristin M. Flornes

Transcript of The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied...

Page 1: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

The OPM InitiativeKristin M. Flornes

Page 2: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

opm-project.org

Page 3: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

OPM – Open-source simulatorsof Porous Media flow

THE VISION FROM 2009A long-lasting, efficient, and well-maintained, open-source softwarefor flow and transport in porous media.

The resulting software should:› be built on modern software principles,› have functionality supporting multiple application areas,› be easy to extend with new functionality,› be built on open-source code principles,› have a relatively low user threshold.

The software should be used/maintained based on a collaborativeeffort and involve groups with different research focus

Page 4: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

Where are we today?

Application areas: Upscaling, EOR simualtion, CO2 storage, black oilsimulation, visualization,...

Page 5: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

OPM software on GitHub

The software under the OPM umbrella on GitHub now contains partsoriginating from:

› Uni Stuttgart (eWoms)› Sintef, IRIS (dune-cornerpoint, opm-core, opm-porsol,

opm-upscaling, opm-benchmarks, opm-polymer, opm-autodiff)› Statoil (opm-benchmarks, opm-parser, opm-upscaling)› CIPR (opm-verteq)› Ceetron (ResInsight)

Many pieces, nontrivial dependencies.

Page 6: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

GitHub.com/OPM

Page 7: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

Status of OPM Initiative

Atgeirr Flø Rasmussen

SINTEF ICT, Applied Mathematics

May 28 2013

Applied Mathematics May 28 2013

Page 8: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

Overview

opm-core

opm-polymer

The Dune modules

opm-autodiff

Applied Mathematics May 28 2013

Page 9: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

Overview

opm-core

opm-polymer

The Dune modules

opm-autodiff

Applied Mathematics May 28 2013

Page 10: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

OPM software on GitHub

The software under the OPM umbrella on GitHub now containsparts originating from:

I Uni Stuttgart (eWoms)

I Sintef, IRIS (dune-cornerpoint, opm-core, opm-porsol,opm-upscaling, opm-benchmarks, opm-polymer,opm-autodiff)

I Statoil (opm-benchmarks, opm-parser)

I CIPR (opm-verteq)

I Ceetron (ResInsight)

Many pieces, nontrivial dependencies.

Applied Mathematics May 28 2013

Page 11: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

Dependencies

UMFPACK, AGMG etc.Dune core

opm-core

dune-cornerpoint

opm-porsol

opm-upscaling

Dumux/eWoms

opm-polymer

Johansen CO2

MRST

(istl)

(CpGrid)

fluid

Applied Mathematics May 28 2013

Page 12: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

Overview

opm-core

opm-polymer

The Dune modules

opm-autodiff

Applied Mathematics May 28 2013

Page 13: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

The opm-core library

Utilities

I parameter input

I Eclipse deck input

I output: vtk, matlab, Eclipse

I scalar solver, interpolation

I generalized barycentric coordinates

I velocity interpolation

I timers, units, etc.

Grid handling

I struct UnstructuredGrid

I corner-point grid processing

Pressure solvers

I incompressible TPFA

I incompressible mimetic

I compressible TPFA

I compressible TPFA, residualformulation

Transport solvers

I incompressible explicit upwind Euler

I incompressible implicit upwind Euler

I incompressible implicit upwind Eulerwith reordering

I compressible implicit upwind Eulerwith reordering

I black-oil explicit upwind Euler (aspart of pressure solver)

I column gravity segregation solver

Applied Mathematics May 28 2013

Page 14: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

The opm-core library

Well handling

I initialize from deck

I handles most well control types

I group controls

I well constraints

I switching controls

Linear algebra interfaces

I UMFPACK

I dune-istl

I AGMG

Properties

I incompressible fluid

I black-oil fluid

I initialize from parameters or deck

I choice of 3-phase model

Other

I FV time-of-flight and tracerpartitioning calculation

I DG(0/1) time-of-flight and tracerpartitioning calculation

I A CMake-based build system

I Release 2013.03

I Improved documentation

Applied Mathematics May 28 2013

Page 15: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

External dependencies

External dependencies of opm-core:

I BLAS, LAPACK

I BoostI Linear solvers (optional, but at least one)

I UMFPACKI dune-istlI AGMG

I ERT (optional)

We want opm-core to have only easy-to-satisfy dependencies.

Applied Mathematics May 28 2013

Page 16: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

Overview

opm-core

opm-polymer

The Dune modules

opm-autodiff

Applied Mathematics May 28 2013

Page 17: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

The opm-polymer library

A simulator for the two-phase polymer flow problem.

Features:I Polymer model:

I Dead pore spaceI Viscosity modificationI AdsorptionI MixingI Residual reduction

I Gravity

I Wells

I Rock compressibility

I Weak fluid compressibility (no gas)

(More depth in its own presentation)

Applied Mathematics May 28 2013

Page 18: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

Overview

opm-core

opm-polymer

The Dune modules

opm-autodiff

Applied Mathematics May 28 2013

Page 19: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

The dune-cornerpoint module

Implements corner-point grids with the Dune grid interface.

I Depends on opm-core.

I Generic functionality moved to opm-core.

I Some Dune-using groups (Munster, Stuttgart) using/testing.I Process underway with aim to make it a dune core module.

I May include a parallelization effort.I (Unknown status)

Applied Mathematics May 28 2013

Page 20: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

The opm-porsol module

Implements porous media solvers using the Dune grid interface andlinear solvers.

I Now depends on opm-core.

I Generic functionality moved to opm-core.

I Now implements CO2 storage simulator in addition toblack-oil simulator.

I Black-oil simulator gives results similar to commercial product(but is still slower).

Applied Mathematics May 28 2013

Page 21: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

The opm-upscaling module

Implements upscaling features using the solvers provided byopm-core and dune-porsol.

I Implicit transport for steady-state upscaling.

I Steady stream of minor improvements to tools from Statoil.

I Testing and verification ongoing.

Applied Mathematics May 28 2013

Page 22: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

eWoms

Recently released version 2.2.

I A fork of DuMuX.

I Fully implicit methods.

I Compositional, black-oil fluids.

(Ask Andreas...)

Almost no overlap in capabilities with opm-porsol, opm-core...

Applied Mathematics May 28 2013

Page 23: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

Overview

opm-core

opm-polymer

The Dune modules

opm-autodiff

Applied Mathematics May 28 2013

Page 24: The OPM Initiative · OPM – Open-source ... (More depth in its own presentation) Applied Mathematics May 28 2013. Overview opm-core opm-polymer The Dune modules opm-autodi Applied

The opm-autodiff library

A testing-ground for using automatic differentiation (AD) forsimulator construction.

To be considered experimental for now.

Features:

I AD C++ classes for computation with sparse structures

I Interface based on Eigen library (vector and matrixarithmetics)

I Utilities for writing solvers in a vectorized styleI Prototype solvers for:

I Operator-splitting pressure and transport.I Fully implicit black-oil.

Applied Mathematics May 28 2013