Collection of utilities, solvers and other components.
Go to file
Roland Kaufmann ad4e9064f7 Write pkgconfig files as well as CMake
Note that using pkg-config is NOT recommended because of:

1. It doesn't know which language you are using, so language-specific
   options such as -std=c++11 or -std=c99 cannot be passed along. Yet,
   the build will corrupt if you don't get these correct.

2. It has no means of communicating which defines that should be set
   in config.h, effectively disabling them all, possibly leading to
   inconsistencies between the library and the executable.
2013-02-11 23:06:27 +01:00
cmake/Modules Write pkgconfig files as well as CMake 2013-02-11 23:06:27 +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 Update import of ERT-Eclipse headers to new location 2013-02-11 22:38:02 +01:00
tests Restructure tests directory to unit tests 2013-02-11 22:38:01 +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 Move writing of config module to library routine 2013-02-11 22:38:02 +01:00
configure Enable printing of compiler command-lines 2013-02-11 22:38:01 +01:00
configure.ac Move old pkgconfig file out of the way temporarily 2013-02-11 23:02:49 +01:00
CTestConfig.cmake Enable CDash testing 2013-02-11 22:38:01 +01: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.in Create DUNE module file from CMake properties 2013-02-11 22:38:00 +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 Write pkgconfig files as well as CMake 2013-02-11 23:06:27 +01:00
opmcore-config.cmake.in Add conventional library export variable 2012-10-29 09:36:41 +01:00
opmcore.pc.in Move old pkgconfig file out of the way temporarily 2013-02-11 23:02:49 +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.