Collection of utilities, solvers and other components.
Go to file
Bård Skaflestad 42e1fc6d10 Merge pull request #155 from rolk/153_datafiles
Make `make test` work on release builds
2013-02-20 05:20:57 -08:00
cmake Merge pull request #155 from rolk/153_datafiles 2013-02-20 05:20:57 -08:00
Documentation Move stylesheets into Documentation/ folder 2013-02-11 23:08:27 +01:00
examples Remove Autotools 2013-02-12 00:18:24 +01:00
m4 Catch up to ERT library reorganisation 2013-02-05 15:19:36 +01:00
opm/core Merge branch 'cmake' 2013-02-12 00:18:19 +01:00
tests Remove superfluous local variable 2013-02-12 00:18:24 +01:00
tutorials Remove Autotools 2013-02-12 00:18:24 +01:00
.gitignore Reinstate figure directory for documentation 2013-02-11 23:06:38 +01:00
CMakeLists.txt Merge pull request #155 from rolk/153_datafiles 2013-02-20 05:20:57 -08:00
configure Allow CMake program to be specified with env. var. 2013-02-15 13:51:53 +01:00
COPYING added: license 2013-01-22 13:42:40 +01:00
CTestConfig.cmake Remove hardcoded project names and directories 2013-02-11 23:08:28 +01:00
Doxyfile.in Move stylesheets into Documentation/ folder 2013-02-11 23:08:27 +01:00
dune.module Revert clever setting of version number in dune.module 2013-02-11 23:06:37 +01:00
GNUmakefile Only start parallel make if user hasn't already 2013-02-11 23:08:27 +01:00
README Use TinyXML instead of LibXML2 2013-02-15 13:51:52 +01:00

Open Porous Media Core Library
==============================

These are release notes for opm-core.


CONTENT
-------

opm-core is the core library within OPM and contains the following 

* Eclipse deck input and preprosessing
* Fluid properties (basic PVT models and rock properties)
* Grid handling (cornerpoint grids, unstructured grid interface)
* Linear Algebra (interface to different linear solvers)
* Pressure solvers (various discretization schemes, flow models)
* Simulators (some basic examples of simulators based on sequential splitting schemes)
* Transport solvers (various discretization schemes, flow models)
* Utilities (input and output processing, unit conversion)
* Wells (basic well handling)


LICENSE
-------

The library is distributed under the GNU General Public License,
version 3 or later (GPLv3+).


PLATFORMS
---------

The opm-core module is designed to run on Linux platforms. It is also
regularly run on Mac OS X. No efforts have been made to ensure that
the code will compile and run on windows platforms.


DEPENDENCIES FOR DEBIAN BASED DISTRIBUTIONS (Debian Squeeze/Ubuntu Precise)
---------------------------------------------------------------------------

# packages necessary for building
sudo apt-get install -y build-essential gfortran cmake cmake-data util-linux

# packages necessary for documentation
sudo apt-get install -y doxygen ghostscript texlive-latex-recommended pgf

# packages necessary for version control
sudo apt-get install -y git-core

# basic libraries necessary for both DUNE and OPM
sudo apt-get install -y libboost-all-dev libsuperlu3-dev libsuitesparse-dev

# for server edition of Ubuntu add-apt-repository depends on
sudo apt-get install python-software-properties

# add this repository for necessary backports (required for Ubuntu Precise)
sudo add-apt-repository -y ppa:opm/ppa
sudo apt-get update

# parts of DUNE needed
sudo apt-get install libdune-common-dev libdune-istl-dev libdune-grid-dev

# libraries necessary for OPM
sudo apt-get install -y libtinyxml-dev

Note: You should compile the OPM modules using the same toolchain that
      was used to build DUNE. Otherwise, you can get strange ABI errors.


DEPENDENCIES FOR SUSE BASED DISTRIBUTIONS
-----------------------------------------

# libraries
sudo zypper in libblas3 liblapack3 libboost libtinyxml-devel libumfpack

# tools
sudo zypper in gcc cmake git doxygen

# DUNE libraries
sudo zypper ar http://download.opensuse.org/repositories/science/openSUSE_12.2/science.repo
sudo zypper in dune-common dune-istl


DEPENDENCIES FOR RHEL BASED DISTRIBUTIONS
-----------------------------------------

# packages necessary for building
sudo yum install make gcc-c++ gcc-gfortran cmake28 util-linux

# packages necessary for documentation
sudo yum install doxygen ghostscript texlive

# packages necessary for version control
sudo yum install git

# basic libraries necessary for both DUNE and OPM
sudo yum install boost-devel suitesparse-devel blas-devel lapack-devel

# libraries necessary for OPM
sudo yum install tinyxml-devel


DOWNLOADING
-----------

For a read-only download:
git clone git://github.com/OPM/opm-core.git

If you want to contribute, fork OPM/opm-core on github.


BUILDING
--------

There are two ways to build the opm-core library:

1. As a stand-alone library.
 cd opm-core
 ./configure
 make

If you want to install the library:

 sudo make install

2. As a dune module.
 - Put the opm-core directory in the same directory
   as the other dune modules to be built (e.g. dune-commmon,
   dune-grid). Note that for Ubuntu you can install Dune
   from the ppa as outlined above.
 - Run dunecontrol as normal. For more information on
   the dune build system, see
   http://www.dune-project.org/doc/installation-notes.html


DOCUMENTATION
-------------

Efforts have been made to document the code with Doxygen.
In order to build the documentation, enter the command

 make doc

in the topmost directory.