[Opm] About a workflow to read the OPM code.

Atgeirr Rasmussen Atgeirr.Rasmussen at sintef.no
Thu Jul 7 07:05:48 UTC 2016

Hi Richard,

Thanks for your interest in OPM!

The amount of code that goes into building Flow is quite large, and reading it all is not really a feasible project.
That said, it should not be too hard to find the parts that interest you the most. The most central class for Flow
is the BlackoilModelBase class, on which all Flow variants is based (the solvent and polymer versions have their
own model classes that inherit from this one). You'll find it in the opm-simulators module. To see how it works,
start with the nonlinearIteration() method, which is the main entry point, and follow the function calls. One of the
best ways to do this is to compile a debug version of flow (pass "Debug" as CMAKE_BUILD_TYPE to cmake)
and run it in a debugger. You'll find the equations are being set up by the assemble() method, and in particular
the assembleMassBalanceEq() method it calls.

I hope this gets you started. If there are other aspects that are more interesting to you, please tell us. For example
you can find the deck input in opm-parser, fluid properties in opm-material etc.

Good luck!
Atgeirr Flø Rasmussen

7. jul. 2016 kl. 03.45 skrev Ye Li <yli15 at uwyo.edu<mailto:yli15 at uwyo.edu>>:

Hi, all:

Thanks for creating OPM, such a meaningful project.

I have several years experience with reservoir simulation.  I want to read the code of OPM to learn the "black box" behind the reservoir simulation. However, I am stuck and do not know where I should start.

I went through several modules, like ope-common-master, opm-core-master, opt-grid-master, and etc..

If I want to learn the code of OPM FLOW, for example, where should I start and how to follow?

Thanks for your time, and I do appreciate.


Richard Li

Geological Modeling & Simulation
Department of Geology & Geophysics
1000 E. University Avenue
Dept 3006
University of Wyoming
Laramie, WY  82071  USA

yli15 at uwyo.edu<mailto:yli15 at uwyo.edu>
Ph: 307-766-9895
Opm mailing list
Opm at opm-project.org<mailto:Opm at opm-project.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <//opm-project.org/pipermail/opm/attachments/20160707/860a7c3a/attachment.html>

More information about the Opm mailing list