Each repository on GitHub is considered a separate module. The dependency relations between them are not completely trivial, and change over time.
The figure below shows the current situation, as the code exists now on GitHub.
There are two changes since the most recent release, namely that opm-simulators now depend on ewoms, and that opm-core now depends on opm-grid instead of the other way around.
The figure below shows the situation for the most recent release, release 2016.10.
The most important change since the release before is that opm-output no longer depends on opm-core, in fact the opposite is true: opm-core now depends on opm-output.
The figure below shows the situation for the previous release, release 2016.04.
The current set of modules are:
Contains the OPM build system (CMake modules and scripts), as well as some basic, common C++ code (error macros, logging facilities).
Reading industry-standard reservoir simulation input decks (Eclipse format), including complex schedules, as well as multipliers and modifiers.
Facilities for creating output in various formats from simulator programs, such as Eclipse summary and restart files.
Saturation and PVT functions.
(Formerly called dune-cornerpoint.) Contains CpGrid, a corner-point grid class, and PolyhedralGrid, a grid class for general polyhedral unstructured grids. Both using the Dune grid interface. Also now contains the UnstructuredGrid C struct and associated functions, functions for processing corner-point grids, the GridManager class and other grid utilities that used to be in opm-core.
Contains a wide variety of utilities, well treatment, solvers for pressure, two-phase transport, time-of-flight and tracers, simulator support classes, linear algebra interfaces and property classes.
(Formerly called opm-autodiff.) Contains a library for automatic differentiation (the AutoDiffBlock class), and solvers for various problems: IMPES, two-phase incompressible transport, a reordering-based two-phase polymer solver, and fully implicit black-oil. In particular the Flow reservoir simulator is in this module, as well as its more experimental variants Flow-solvent and Flow-polymer.
(Now includes what used to be in opm-porsol.) Various utilities and solvers used for flow-based upscaling of both permeability (single-phase upscaling) and relative permeability (two-phase upscaling), including capability for steady-state upscaling.
Toolbox containing a wide variety of simulators for porous media problems using (mostly) fully implicit formulations, including some compositional models.