Collection of utilities, solvers and other components.
Go to file
Roland Kaufmann f4350098ed Use precompiled headers to compile C++ modules
On an average system this will cut around 15% of the total build time.
Unfortunately, including Boost headers in the precompiled header takes
longer time to generate and then read in each module, than just
including the necessary headers in each module.

Use Noel Llopis' list_precomp.py at
http://www.gamesfromwithin.com/wp-content/uploads/bin/list_precomp_py.txt
to analyse which headers are included the most and are candidates for
inclusion.
2013-02-11 22:38:00 +01:00
cmake/Modules Module to precompile headers 2013-02-11 22:38:00 +01:00
examples Fix build if ERT is installed in non-default location 2012-11-08 13:59:19 +01:00
lib/pkgconfig Provide pkgconfig files for library 2012-09-21 13:07:00 +02:00
m4 Don't use '==' when '=' is equally good 2012-10-25 00:22:22 +02:00
opm/core Use precompiled headers to compile C++ modules 2013-02-11 22:38:00 +01:00
tests Include configuration file without directory spec. 2013-02-11 22:36:49 +01:00
tutorials Put figure generation program with number generation programs 2013-02-11 22:37:59 +01:00
.gitignore Ignore version output 2013-02-11 22:37:57 +01:00
CMakeLists.txt Use precompiled headers to compile C++ modules 2013-02-11 22:38:00 +01:00
configure Test for directory existence before getting canonical path 2013-02-11 22:38:00 +01:00
configure.ac Provide CMake config mode files for custom builds 2012-10-19 14:14:15 +02:00
Doxyfile.in Disable generation of LaTeX/PDF documentation 2013-02-11 22:37:59 +01:00
DoxygenLayout.xml Added doxygen configuration files (remove Doxyfile from .hgignore). 2012-04-10 17:22:14 +02:00
dune.module Set version number to 1.0 in anticipation of release 2013-02-11 22:37:58 +01:00
GNUmakefile Don't print directory trail 2013-02-11 22:38:00 +01:00
Makefile.am Added class WachspressCoord. 2012-10-29 14:55:44 +01:00
opm-core-config-version.cmake.in Use custom version scheme instead of fragile CMake one 2013-02-11 22:37:59 +01:00
opm-core-config.cmake.in Search for ERT and include in build if found 2013-02-11 22:37:56 +01:00
opm-core.pc.in Provide pkgconfig files for library 2012-09-21 13:07:00 +02:00
opmcore-config.cmake.in Add conventional library export variable 2012-10-29 09:36:41 +01:00
README Warn that OPM should not be built differently from DUNE. 2012-10-24 12:51:50 +02:00
style.css Added css file, change font and size of formulas. 2012-04-12 18:10:18 +02: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 pkg-config libtool \
                        automake autoconf

# 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 libxml2-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 blas libblas3 lapack liblapack3 libboost libxml2 umfpack

# tools
sudo zypper in gcc automake autoconf 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


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
 autoreconf -i
 ./configure
 make -j -l 0.9
If you want to install the library:
 make install
or (if installing to /usr/local or similar)
 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
$ doxygen
in the topmost directory.