Commit Graph

116 Commits

Author SHA1 Message Date
Andreas Lauser
19e5d5cea2 convert THROW to OPM_THROW 2013-09-05 13:04:37 +02:00
Andreas Lauser
d11db08084 include iostream in the files which use std::cerr or std::cout
for some of these files this is needed to make to keep it compiling
after the next patch because the new ErrorMacros.hpp file will no
longer implicitly includes <iostream>. for the remaining files it is
just good style.

While at it, the includes for most of these files have been ordered in
order of decreasing abstraction level.
2013-09-05 13:04:37 +02:00
Roland Kaufmann
e41c56d0da Remove subdirectory from SuiteSparse include
SuiteSparse may or may not be installed in a suitesparse/ directory.

FindSuiteSparse will look in a suitesparse/ subdirectory when trying
to locate umfpack.h, but it will add the full directory to the compiler
command-line (e.g. `-I/usr/include/suitesparse`) and not that of the
parent. Since the parent is usually included too, it is not noticed
that it is advertedly using another include paths than its own.

However, if we have SuiteSparse installed in a non-system location,
using the subdirectory in the `#include` statement may now cause an
error, even though configuration actually found SuiteSparse!
2013-08-25 09:35:51 +02:00
Roland Kaufmann
ada41cc792 Remove bindings to AGMG from library
AGMG is now under a closed-source license, meaning that results
obtained with this solver is not freely reproducible by others.
Its use is therefore discouraged.

As of version 2.3, the DUNE AMG parts are competitive, so there
is a free and open alternative.
2013-08-13 23:25:04 +02:00
Bård Skaflestad
c50b62fe5a Merge pull request #308 from rolk/308_agmg
Resurrect support for AGMG library

This is an interim milestone that may serve as point from which to 
resurrect the AGMG suppert fully if the AGMG author ever decides to 
re-release the software under an open licence.
2013-08-13 14:17:38 -07:00
Andreas Lauser
70949c6edb use std::shared_ptr instead of boost::shared_ptr
our policy is that we only use boost if necessary, i.e., if the oldest
supported compiler does not support a given feature but boost
does. since we recently switched to GCC 4.4 or newer, std::shared_ptr
is available unconditionally.
2013-08-08 13:25:58 +02:00
Roland Kaufmann
51546a5c5f Function has a different name in the parallel vs. serial version 2013-08-07 01:13:08 +02:00
Júlio Hoffimann
8385a9bcbb Remove trailing whitespaces 2013-07-28 08:34:13 -03:00
Markus Blatt
4a9dd8c483 Fixes setting the verbosity for AGMG.
If verbosity is true, we set the iprint parameter such that the
output is print to standard out. If not, we use a negative number
such that only error messages are printed to standard out.
2013-07-05 12:19:57 +02:00
Roland Kaufmann
002e22b9ec Zero-initialize structure to avoid returning undefined
The compiler will otherwise complain that we are returning undefined
data. There is no way for the client code to know whether this was
the case.
2013-07-05 10:59:52 +02:00
Bård Skaflestad
d332129676 Merge pull request #274 from blattms/non-tr1
Changed std::tr1 occurences to boost.
2013-07-04 12:01:51 -07:00
Markus Blatt
68eb3fbcb1 Changed std::tr1 occurences to boost.
std::tr1 might not be supported by all compilers and will eventually
be dropped by others. Using boost instead makes this more
portable.
2013-07-04 16:04:35 +02:00
Atgeirr Flø Rasmussen
34f2d637ab Merge pull request #263 from bska/remove-redef-kluge
Disable build kluge that is no longer pertinent
2013-06-24 06:02:10 -07:00
Markus Blatt
4f41c2ac72 Fixed unused parameters and whitespace issues. 2013-06-21 12:49:35 +02:00
Bård Skaflestad
33320270fc Disable build kluge that is no longer pertinent
The <have_boost_redef.hpp> header was introduced (commit 82369f9) as
a work-around for a particular interaction in the Autotools-based
setup of OPM-Core and the Dune core modules.  Notably, Dune's
"Enable" trick for Boost failed on some older Autoconf systems.  Now
that we're using CMake, however, that kluge is no longer needed
because we (OPM-Core) always

  #define HAVE_BOOST 1

i.e., as an explict true/false value.

Therefore, we need no longer include <have_boost_redef.hpp> .  The
header will be removed at a later time.
2013-06-20 23:14:39 +02:00
Markus Blatt
b3f24972cc Fixed spelling 2013-06-20 17:01:35 +02:00
Markus Blatt
c87b98abbb Unifies the way how AMG is called.
After this patch one can set the prolongation factor for all
AMG calls and the number of smoothing steps for all except
of FastAMG that currently only supports on step.
2013-06-20 16:55:07 +02:00
Markus Blatt
5072014198 Merge remote-tracking branch 'upstream/master'
Conflicts:
	opm/core/linalg/LinearSolverIstl.cpp
2013-06-19 14:55:50 +02:00
Andreas Lauser
884c5ab027 make config.h the first header to be included in any compile unit
this is required for consistency amongst the compile units which are
linked into the same library and seems to be forgotten quite
frequently.
2013-04-10 12:56:14 +02:00
Markus Blatt
7db4a83e96 Removed compile time warning. In verbose mode the warning will be issued during runtime. 2013-03-19 13:48:02 +01:00
Markus Blatt
67e89c7568 Fixed compilation with official DUNE release. 2013-03-18 15:36:35 +01:00
Markus Blatt
b5e6757038 Adapted the documentation. 2013-03-18 14:34:04 +01:00
Markus Blatt
0658b787b7 Added a fast amg version of AMG (with one step of Gaus-Seidel smoothing) and AMG with Krylov-cycle.
The former is only available when using the inofficial 2.2.1 cmake release.
The latter is currently not optimized.
2013-03-18 14:34:03 +01:00
Markus Blatt
87f9cf8c77 Use 1e-8 as residual tolerance similar to istl. Added verbosity mode. 2013-03-18 14:34:03 +01:00
Markus Blatt
8e72b758ed Finished customizability in terms of steps and prolongateFactor 2013-01-18 14:11:59 +01:00
Markus Blatt
3a7bafcb42 Merge remote-tracking branch 'upstream/master' 2012-10-03 20:01:05 +02:00
Markus Blatt
8b4fd5e5e4 Make number of smoothing steps and scaling factor for prolongation of AMG adjustable 2012-10-03 20:01:00 +02:00
Roland Kaufmann
398f58323f Disable warning for using DUNE's FieldVector::size
In DUNE 2.2 FieldVector::size changed from being a member to being a
method. A compatibility warning is issued if you include the relevant
headers.

This warning can be silenced for DUNE modules by using passing the
option --enable-fieldvector-size-is-method to ./configure. This patch
effectively does the same, but through a macro definition.
2012-09-24 00:21:06 +02:00
Bård Skaflestad
f8825976f0 Restore original method spacing.
No functional changes.
2012-08-14 11:26:07 +02:00
Bård Skaflestad
0841cea042 Restore coding conventions.
Inadvertently lost in commit 064184b.
2012-08-14 11:05:09 +02:00
Bård Skaflestad
5986b4a24d Re-adjust Doxygen layout for commit 9d9691a. 2012-08-14 11:03:33 +02:00
Bård Skaflestad
9d9691a927 Fix misprints in Doxygen comment. 2012-08-14 11:01:39 +02:00
Bård Skaflestad
56cd291080 Replace <tab>s by eight spaces.
While here, fix a misprint in comment.
2012-08-14 11:00:47 +02:00
Bård Skaflestad
7a48d13424 Remove an unused header.
We don't need <string> to define the public interface of
LinearsSolverAGMG.
2012-08-14 10:57:06 +02:00
Halvor Møll Nilsen
064184bd0c Changed to extrapolation outside tables for pormult. Added facetags to the grid structure. Changed default fluid to Linear. 2012-08-14 09:36:19 +02:00
Bård Skaflestad
20b0c8f83b Use have_boost_redef.hpp rather than direct override. 2012-07-12 14:36:36 +02:00
Bård Skaflestad
5d4e216cec Anchor Doxygen comments to current line.
Existing mark-up (/** ... */) would erroneously apply the documentation
of one field to the one below.  Using /**< ... */ avoids this problem.

Found by reading the Doxygen manual more carefully...
2012-06-26 11:44:30 +02:00
Bård Skaflestad
46389f85e3 Insert another <CODE></CODE> pair that was missing. 2012-06-22 15:44:39 +02:00
Bård Skaflestad
13738e32fe Merge from upstream. 2012-06-22 15:41:37 +02:00
Bård Skaflestad
c155c221e9 Refine description of csrmatrix_new_elms_pushback()
While here, tighten the distinction between <CODE> and non-<CODE>
mark-up.
2012-06-22 15:37:50 +02:00
Bård Skaflestad
484bd7a92e Use canonical include path to reference header. 2012-06-22 10:17:34 +02:00
Bård Skaflestad
27abf3f740 Re-wrap Doxygen comments introduced in cset 6d9f8b35dd4e. 2012-06-22 02:07:02 +02:00
Bård Skaflestad
47a8aab621 Document sparse matrix interface. 2012-06-22 02:03:41 +02:00
Bård Skaflestad
6f8dc0e0dc Constructor: Move common failure mode to end of if-else chain.
While here, add a failure mode pertaining to solvers that are
supported by the system but disabled at configure time.
2012-06-11 17:54:23 +02:00
Bård Skaflestad
ac38491883 Implement *Tolerance() methods from LinearSolverInterface
See cset f08b1fb48d19 for additional details.
2012-06-06 16:35:36 +02:00
Xavier Raynaud
187957397c merge. 2012-06-06 15:19:02 +02:00
Xavier Raynaud
38562a5d7a Added possibility to set tolerance for linear solvers. 2012-06-06 15:14:46 +02:00
Bård Skaflestad
0a8eafc307 Implement dtor to avoid linker errors. 2012-06-06 09:46:17 +02:00
Bård Skaflestad
79c437ab40 Fix another misprint from early implementation. 2012-06-06 00:30:12 +02:00
Bård Skaflestad
61a5f3d1e5 Fix misprint left over from early development. 2012-06-06 00:27:10 +02:00
Bård Skaflestad
ca7b4a5da3 Add simple gateway to Notay's AGMG solver package.
Hook up to build, but don't expose through the LinearSolverFactory.
Only build tested.

Won't be built unless the user explicitly enables AGMG support.
2012-06-06 00:26:10 +02:00
Bård Skaflestad
bb95c7ec69 csc_deallocate(): Remove useless non-NULL checks. Free(NULL) is a no-op. 2012-05-24 13:23:38 +02:00
Atgeirr Flø Rasmussen
96dfbf8d5d Fix bug: mistakenly swapped macros. 2012-04-13 16:36:51 +02:00
Atgeirr Flø Rasmussen
abab8dd711 Added LinearSolverFactory class. 2012-04-13 16:33:51 +02:00
Atgeirr Flø Rasmussen
477cc66a84 Work around mismatch between our HAVE_BOOST and what dune-istl expects.
In our config.h, HAVE_BOOST is defined (empty).
In dune-istl it is expected to be defined to 0 or 1.
2012-04-13 15:37:11 +02:00
Atgeirr Flø Rasmussen
6370906f8c Suppressed multiple warnings. 2012-03-28 16:39:04 +02:00
Xavier Raynaud
e887518487 Added general linear lapack solver. Updated test for band matrices. 2012-03-23 15:44:32 +01:00
Xavier Raynaud
7fa98bc5ae Added solver for band matrix and a test example. 2012-03-15 16:17:16 +01:00
Bård Skaflestad
a0862a6ee0 Untabify. 2012-03-01 15:22:26 +01:00
Atgeirr Flø Rasmussen
f02e1e9ff7 Added interface and test for lapack tridiagonal solver. 2012-03-01 14:36:10 +01:00
Atgeirr Flø Rasmussen
b863ac37fd Removed copied text accidentally left in. 2012-02-21 22:02:16 +01:00
Atgeirr Flø Rasmussen
fe91b1ba70 Fixed class comments, LinearSolverUmfpack::solve() properly returns a report. 2012-02-21 21:54:46 +01:00
Atgeirr Flø Rasmussen
d9ed7cadad Made the solve() methods const. 2012-02-21 21:36:09 +01:00
Atgeirr Flø Rasmussen
af260d3d75 Added LinearSolverInterface and two subclasses, using Umfpack and Istl. 2012-02-21 21:27:15 +01:00
Atgeirr Flø Rasmussen
23a61cb167 Changed code to use new include path: <opm/core/...> 2011-12-12 11:28:09 +01:00
Atgeirr Flø Rasmussen
4655108f98 Moved code from opmcore/ to opm/core/ 2011-12-12 11:13:54 +01:00