mirror of
https://github.com/OPM/opm-upscaling.git
synced 2025-02-25 18:45:23 -06:00
Add SVN infrastructure for upscaling solvers.
This commit is contained in:
commit
cef76ee3e6
22
Makefile.am
Normal file
22
Makefile.am
Normal file
@ -0,0 +1,22 @@
|
||||
# $Id: duneproject 5842 2010-01-20 18:48:34Z joe $
|
||||
|
||||
# we need the module file to be able to build via dunecontrol
|
||||
EXTRA_DIST=dune.module
|
||||
|
||||
SUBDIRS = src m4 dune doc
|
||||
|
||||
if BUILD_DOCS
|
||||
# TODO: set up documentation tree automatically
|
||||
#SUBDIRS += doc
|
||||
endif
|
||||
|
||||
# don't follow the full GNU-standard
|
||||
# we need automake 1.5
|
||||
AUTOMAKE_OPTIONS = foreign 1.5
|
||||
|
||||
# pass most important options when "make distcheck" is used
|
||||
DISTCHECK_CONFIGURE_FLAGS = --with-dune-common=$(DUNE_COMMON_ROOT) --with-dune-grid=$(DUNE_GRID_ROOT) --with-dune-istl=$(DUNE_ISTL_ROOT) --with-dune-cornerpoint=$(DUNE_CORNERPOINT_ROOT) --with-dune-porsol=$(DUNE_PORSOL_ROOT) CXX="$(CXX)" CC="$(CC)"
|
||||
|
||||
include $(top_srcdir)/am/top-rules
|
||||
include $(top_srcdir)/am/global-rules
|
||||
|
73
README
Normal file
73
README
Normal file
@ -0,0 +1,73 @@
|
||||
Preparing the Sources
|
||||
=========================
|
||||
|
||||
Additional to the software mentioned in README you'll need the
|
||||
following programs installed on your system:
|
||||
|
||||
automake >= 1.5
|
||||
|
||||
autoconf >= 2.50
|
||||
|
||||
libtool
|
||||
|
||||
Getting started
|
||||
---------------
|
||||
|
||||
If these preliminaries are met, you should run
|
||||
|
||||
dunecontrol all
|
||||
|
||||
which will find all installed dune modules as well as all dune modules
|
||||
(not installed) which sources reside in a subdirectory of the current
|
||||
directory. Note that if dune is not installed properly you will either
|
||||
have to add the directory where the dunecontrol script resides (probably
|
||||
./dune-common/bin) to your path or specify the relative path of the script.
|
||||
|
||||
On your project and all uninstalled DUNE source modules found the script
|
||||
will then calls the GNU autoconf/automake to create a ./configure-script
|
||||
and the Makefiles. Afterwards that configure script will be called and the
|
||||
modules will be build using make all
|
||||
|
||||
Most probably you'll have to provide additional information to dunecontrol
|
||||
(e. g. compilers, configure options) and/or make options.
|
||||
|
||||
The most convenient way is to use options files in this case. The files
|
||||
defining three variables:
|
||||
|
||||
AUTOGEN_FLAGS flags passed to autogen
|
||||
CONFIGURE_FLAGS flags passed to configure
|
||||
MAKE_FLAGS flags passed to make
|
||||
|
||||
An example options file might look like this:
|
||||
|
||||
#use this options to autogen, configure and make if no other options are given
|
||||
AUTOGEN_FLAGS="--ac=2.50 --ac=1.8" #Forces automake 2,50 and autoconf 1.8
|
||||
CONFIGURE_FLAGS="CXX=g++-3.4 --prefix=/install/path" #force g++-3.4 as compiler
|
||||
MAKE_FLAGS=install #Per default run make install instead of simply make
|
||||
|
||||
If you save this information into example.opts you can path the opts file to
|
||||
dunecontrol via the --opts option, e. g.
|
||||
|
||||
dunecontrol --opts=example.opts all
|
||||
|
||||
To get a full list of available configure flags just run
|
||||
|
||||
dunecontrol configure --help
|
||||
|
||||
after running at least
|
||||
dunecontrol autogen
|
||||
|
||||
More info
|
||||
---------
|
||||
|
||||
See
|
||||
|
||||
dunecontrol --help
|
||||
|
||||
for further options.
|
||||
|
||||
|
||||
The full build-system is described in the dune-common/doc/buildsystem (SVN version) or under share/doc/dune-common/buildsystem if you installed DUNE!
|
||||
|
||||
$Id: duneproject 5842 2010-01-20 18:48:34Z joe $
|
||||
|
33
configure.ac
Normal file
33
configure.ac
Normal file
@ -0,0 +1,33 @@
|
||||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
AC_PREREQ(2.50)
|
||||
DUNE_AC_INIT # gets module version from dune.module file
|
||||
AM_INIT_AUTOMAKE
|
||||
AC_CONFIG_SRCDIR([src/dune_upscaling.cc])
|
||||
AM_CONFIG_HEADER([config.h])
|
||||
|
||||
|
||||
# we need no more than the standard DE-stuff
|
||||
# this module depends on dune-common dune-grid dune-istl dune-cornerpoint dune-porsol
|
||||
# this implies checking for [dune-common], [dune-grid], [dune-istl], [dune-cornerpoint], [dune-porsol]
|
||||
DUNE_CHECK_ALL
|
||||
|
||||
# implicitly set the Dune-flags everywhere
|
||||
AC_SUBST(AM_CPPFLAGS, $DUNE_CPPFLAGS)
|
||||
AC_SUBST(AM_LDFLAGS, $DUNE_LDFLAGS)
|
||||
LIBS="$DUNE_LIBS"
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
src/Makefile
|
||||
doc/Makefile
|
||||
doc/doxygen/Makefile
|
||||
doc/doxygen/Doxyfile
|
||||
dune/Makefile
|
||||
dune/upscaling/Makefile
|
||||
m4/Makefile
|
||||
dune-upscaling.pc
|
||||
])
|
||||
AC_OUTPUT
|
||||
# finally print the summary information
|
||||
DUNE_SUMMARY_ALL
|
12
doc/Makefile.am
Normal file
12
doc/Makefile.am
Normal file
@ -0,0 +1,12 @@
|
||||
|
||||
SUBDIRS = doxygen
|
||||
CURDIR = doc
|
||||
BASEDIR = ..
|
||||
|
||||
# add list of html files to generate from wml
|
||||
PAGES=
|
||||
|
||||
docdir=$(datadir)/doc/dune-upscaling
|
||||
|
||||
include $(top_srcdir)/am/webstuff
|
||||
include $(top_srcdir)/am/global-rules
|
30
doc/doxygen/Doxylocal
Normal file
30
doc/doxygen/Doxylocal
Normal file
@ -0,0 +1,30 @@
|
||||
# This file contains local changes to the doxygen configuration
|
||||
# please us '+=' to add file/directories to the lists
|
||||
|
||||
# The INPUT tag can be used to specify the files and/or directories that contain
|
||||
# documented source files. You may enter file names like "myfile.cpp" or
|
||||
# directories like "/usr/src/myproject". Separate the files or directories
|
||||
# with spaces.
|
||||
|
||||
INPUT += @top_srcdir@/dune/
|
||||
# see e.g. dune-grid for the examples of mainpage and modules
|
||||
# INPUT += @srcdir@/mainpage # @srcdir@/modules
|
||||
|
||||
# The EXCLUDE tag can be used to specify files and/or directories that should
|
||||
# excluded from the INPUT source files. This way you can easily exclude a
|
||||
# subdirectory from a directory tree whose root is specified with the INPUT tag.
|
||||
|
||||
# EXCLUDE += @top_srcdir@/dune/upscaling/test
|
||||
|
||||
# The EXAMPLE_PATH tag can be used to specify one or more files or
|
||||
# directories that contain example code fragments that are included (see
|
||||
# the \include command).
|
||||
|
||||
# EXAMPLE_PATH += @top_srcdir@/src
|
||||
|
||||
# The IMAGE_PATH tag can be used to specify one or more files or
|
||||
# directories that contain image that are included in the documentation (see
|
||||
# the \image command).
|
||||
|
||||
# IMAGE_PATH += @top_srcdir@/dune/upscaling/pics
|
||||
|
7
doc/doxygen/Makefile.am
Normal file
7
doc/doxygen/Makefile.am
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
BASEDIR=../..
|
||||
CURDIR=doc/doxygen
|
||||
|
||||
include $(top_srcdir)/am/doxygen
|
||||
include $(top_srcdir)/am/global-rules
|
||||
|
15
dune-upscaling.pc.in
Normal file
15
dune-upscaling.pc.in
Normal file
@ -0,0 +1,15 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
CXX=@CXX@
|
||||
CC=@CC@
|
||||
DEPENDENCIES=@REQUIRES@
|
||||
|
||||
Name: @PACKAGE_NAME@
|
||||
Version: @VERSION@
|
||||
Description: dune-upscaling module
|
||||
URL: http://dune-project.org/
|
||||
Requires: dune-common dune-grid dune-istl dune-cornerpoint dune-porsol
|
||||
Libs: -L
|
||||
Cflags: -I
|
10
dune.module
Normal file
10
dune.module
Normal file
@ -0,0 +1,10 @@
|
||||
################################
|
||||
# Dune module information file #
|
||||
################################
|
||||
|
||||
#Name of the module
|
||||
Module: dune-upscaling
|
||||
Version: 0.1
|
||||
Maintainer: atgeirr@sintef.no
|
||||
#depending on
|
||||
Depends: dune-common dune-grid dune-istl dune-cornerpoint dune-porsol
|
3
dune/Makefile.am
Normal file
3
dune/Makefile.am
Normal file
@ -0,0 +1,3 @@
|
||||
SUBDIRS = upscaling
|
||||
|
||||
include $(top_srcdir)/am/global-rules
|
4
dune/upscaling/Makefile.am
Normal file
4
dune/upscaling/Makefile.am
Normal file
@ -0,0 +1,4 @@
|
||||
upscalingincludedir = $(includedir)/dune/upscaling
|
||||
upscalinginclude_HEADERS = upscaling.hh
|
||||
|
||||
include $(top_srcdir)/am/global-rules
|
6
dune/upscaling/upscaling.hh
Normal file
6
dune/upscaling/upscaling.hh
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef DUNE_upscaling.hh
|
||||
#define DUNE_upscaling.hh
|
||||
|
||||
// add your classes here
|
||||
|
||||
#endif // DUNE_upscaling.hh
|
8
m4/Makefile.am
Normal file
8
m4/Makefile.am
Normal file
@ -0,0 +1,8 @@
|
||||
M4FILES = dune-upscaling.m4
|
||||
|
||||
aclocaldir = $(datadir)/aclocal
|
||||
aclocal_DATA = $(M4FILES)
|
||||
|
||||
EXTRA_DIST = $(M4FILES)
|
||||
|
||||
include $(top_srcdir)/am/global-rules
|
17
m4/dune-upscaling.m4
Normal file
17
m4/dune-upscaling.m4
Normal file
@ -0,0 +1,17 @@
|
||||
dnl -*- autoconf -*-
|
||||
# Macros needed to find dune-upscaling and dependent libraries. They are called by
|
||||
# the macros in ${top_src_dir}/dependencies.m4, which is generated by
|
||||
# "dunecontrol autogen"
|
||||
|
||||
# Additional checks needed to build dune-upscaling
|
||||
# This macro should be invoked by every module which depends on dune-upscaling, as
|
||||
# well as by dune-upscaling itself
|
||||
AC_DEFUN([DUNE_UPSCALING_CHECKS])
|
||||
|
||||
# Additional checks needed to find dune-upscaling
|
||||
# This macro should be invoked by every module which depends on dune-upscaling, but
|
||||
# not by dune-upscaling itself
|
||||
AC_DEFUN([DUNE_UPSCALING_CHECK_MODULE],
|
||||
[
|
||||
DUNE_CHECK_MODULES([dune-upscaling],[upscaling/upscaling.hh])
|
||||
])
|
42
src/Makefile.am
Normal file
42
src/Makefile.am
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
SUBDIRS =
|
||||
|
||||
noinst_PROGRAMS = dune_upscaling
|
||||
|
||||
dune_upscaling_SOURCES = dune_upscaling.cc
|
||||
|
||||
dune_upscaling_CPPFLAGS = $(AM_CPPFLAGS) \
|
||||
$(DUNEMPICPPFLAGS) \
|
||||
$(UG_CPPFLAGS) \
|
||||
$(AMIRAMESH_CPPFLAGS) \
|
||||
$(ALBERTA_CPPFLAGS) \
|
||||
$(ALUGRID_CPPFLAGS)
|
||||
# The libraries have to be given in reverse order (most basic libraries
|
||||
# last). Also, due to some misunderstanding, a lot of libraries include the
|
||||
# -L option in LDFLAGS instead of LIBS -- so we have to include the LDFLAGS
|
||||
# here as well.
|
||||
dune_upscaling_LDADD = \
|
||||
$(DUNE_LDFLAGS) $(DUNE_LIBS) \
|
||||
$(ALUGRID_LDFLAGS) $(ALUGRID_LIBS) \
|
||||
$(ALBERTA_LDFLAGS) $(ALBERTA_LIBS) \
|
||||
$(AMIRAMESH_LDFLAGS) $(AMIRAMESH_LIBS) \
|
||||
$(UG_LDFLAGS) $(UG_LIBS) \
|
||||
$(DUNEMPILIBS) \
|
||||
$(LDADD)
|
||||
dune_upscaling_LDFLAGS = $(AM_LDFLAGS) \
|
||||
$(DUNEMPILDFLAGS) \
|
||||
$(UG_LDFLAGS) \
|
||||
$(AMIRAMESH_LDFLAGS) \
|
||||
$(ALBERTA_LDFLAGS) \
|
||||
$(ALUGRID_LDFLAGS) \
|
||||
$(DUNE_LDFLAGS)
|
||||
|
||||
# don't follow the full GNU-standard
|
||||
# we need automake 1.5
|
||||
AUTOMAKE_OPTIONS = foreign 1.5
|
||||
|
||||
# pass most important options when "make distcheck" is used
|
||||
DISTCHECK_CONFIGURE_FLAGS = --with-dune-common=$(DUNE_COMMON_ROOT) --with-dune-grid=$(DUNE_GRID_ROOT) --with-dune-istl=$(DUNE_ISTL_ROOT) --with-dune-cornerpoint=$(DUNE_CORNERPOINT_ROOT) --with-dune-porsol=$(DUNE_PORSOL_ROOT) CXX="$(CXX)" CC="$(CC)"
|
||||
|
||||
include $(top_srcdir)/am/global-rules
|
||||
|
27
src/dune_upscaling.cc
Normal file
27
src/dune_upscaling.cc
Normal file
@ -0,0 +1,27 @@
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
#include <iostream>
|
||||
#include"dune/common/mpihelper.hh" // An initializer of MPI
|
||||
#include"dune/common/exceptions.hh" // We use exceptions
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
try{
|
||||
//Maybe initialize Mpi
|
||||
Dune::MPIHelper& helper = Dune::MPIHelper::instance(argc, argv);
|
||||
std::cout << "Hello World! This is dune-upscaling." << std::endl;
|
||||
if(Dune::MPIHelper::isFake)
|
||||
std::cout<< "This is a sequential program." << std::endl;
|
||||
else
|
||||
std::cout<<"I am rank "<<helper.rank()<<" of "<<helper.size()
|
||||
<<" processes!"<<std::endl;
|
||||
return 0;
|
||||
}
|
||||
catch (Dune::Exception &e){
|
||||
std::cerr << "Dune reported error: " << e << std::endl;
|
||||
}
|
||||
catch (...){
|
||||
std::cerr << "Unknown exception thrown!" << std::endl;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user