Commit Graph

221 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
9a2f2c48fd Fixed conditional compilation issues with UMFPACK.
This should fix the issue reported in #208 introduced in #203.
2013-03-19 10:30:27 +01:00
Atgeirr Flø Rasmussen
b32674f3ea Moved ColumnExtract and initState.
ColumnExtract -> opm/core/grid/ and initState -> opm/core/simulator/.
2013-03-18 12:47:23 +01:00
Atgeirr Flø Rasmussen
987aa5b6fd Further reorganising of opm-core.
Deleted some unused code (or moved to opm-porsol), moved all code dealing with
time-of-flight to opm/core/tof, moved code for implicit transport solver to
opm/core/transport/implicit, spu_[im|ex]plicit.[ch] to opm/core/transport/minimal.
2013-03-18 12:38:04 +01:00
Atgeirr Flø Rasmussen
b304105b4f Make initGravity() to private, call from constructor.
Also modify interface of solveGravity() to be minimal,
construcing columns for segregations solver at construction time.
2013-03-15 13:53:37 +01:00
Atgeirr Flø Rasmussen
aadae49b41 Removed unused rock compressibilty objects from interface. 2013-03-15 11:45:53 +01:00
Atgeirr Flø Rasmussen
d13fed6cab Remove unused well objects from TransportSolverTwophaseImplicit. 2013-03-15 11:38:37 +01:00
Atgeirr Flø Rasmussen
e2afd671f0 Make TransportSolverTwophaseReorder inherit TransportSolverTwophaseInterface.
This changes the solve() interface, which requires clients to change.
2013-03-15 11:31:31 +01:00
Atgeirr Flø Rasmussen
7f1a06cfb3 Fixed implicit transport solver interface.
There were significant lifetime issues, now handled by moving
objects inside the class. Work in progress.
2013-03-15 11:15:17 +01:00
Atgeirr Flø Rasmussen
7019eb2c32 Modify solve() interface, fix source term bug in implicit solver. 2013-03-15 08:21:55 +01:00
Atgeirr Flø Rasmussen
aee974ef77 Minor adjustments. 2013-03-15 08:05:23 +01:00
Atgeirr Flø Rasmussen
86b51c80b8 Modified TransportSolverTwophaseInterface::solve(), general cleanup.
Move output arguments last in argument list.
2013-03-14 22:51:44 +01:00
Atgeirr Flø Rasmussen
e532250867 Rename ImplicitTwoPhaseTransportSolver -> TransportSolverTwophaseImplicit. 2013-03-14 22:39:08 +01:00
Atgeirr Flø Rasmussen
d607849293 Rename TwoPhaseTransportSolver -> TransportSolverTwophaseInterface.
To be more consistent with naming practices elsewhere in opm-core.
2013-03-14 22:24:36 +01:00
Atgeirr Flø Rasmussen
4ef30e694d Modified for added files and changed class names. 2013-03-14 21:43:21 +01:00
Atgeirr Flø Rasmussen
c23898efa7 Merge remote-tracking branch 'hnil/hnil_class' into combined.
Conflicts:
	CMakeLists.txt
	examples/sim_wateroil.cpp
	opm/core/grid/cpgpreprocess/geometry.c
	opm/core/transport/reorder/ReorderSolverInterface.hpp
	opm/core/transport/reorder/TofDiscGalReorder.cpp
	opm/core/transport/reorder/TofDiscGalReorder.hpp
	opm/core/transport/reorder/TofReorder.cpp
	opm/core/transport/reorder/TofReorder.hpp
	opm/core/transport/reorder/TransportSolverCompressibleTwophaseReorder.cpp
	opm/core/transport/reorder/TransportSolverTwophaseReorder.cpp
2013-03-14 16:18:39 +01:00
Atgeirr Flø Rasmussen
6e48999ede Removed unused SimpleFluid and SimpleFluid2pWrapper classes. 2013-03-14 13:33:26 +01:00
Atgeirr Flø Rasmussen
34f523339d Adapt include statements to moved headers. 2013-03-14 10:29:42 +01:00
Bård Skaflestad
0eb32742d4 Include <cassert> to bring in declaration of assert() 2013-02-20 12:59:40 +01:00
Bård Skaflestad
a39e5a1366 Use an integer type for "maxit_" counter.
The "maxit_" counter is an upper limit on the number of non-linear
iterations in a single cell.  Declaring this as a "double" is counter
intuitive unless one expects the number to be *really* high.

Present since
  - Commit 93d4bd8 (TransportModelTwophase.hpp)
  - Commit e0d38cf (TransportModelTwophaseCompressible.hpp)
2013-02-19 11:27:54 +01:00
Bård Skaflestad
edeb9d7551 Replace an assignment with intended equality test
This corrects a latent error that has been present since the inception
of this module.
2013-02-01 16:30:45 +01:00
Bård Skaflestad
089988aa16 Eliminate redundant explicit type conversion.
The pointers in question are already type 'int *'.  There is no need to
explicitly convert them to that type too.
2013-02-01 16:25:46 +01:00
Bård Skaflestad
cf922e73ce Eliminate release-mode build warning.
The 'cbottom' variable is only used within an assert().  Don't define
the variable in release (i.e., "NDEBUG") mode.
2013-02-01 16:15:35 +01:00
Bård Skaflestad
8f6be16ac3 Use portable method of zeroing vector of ints.
The memset() technique is only applicable to platforms for which
numerical zero is represented by all bits zero.
2013-02-01 16:06:39 +01:00
Atgeirr Flø Rasmussen
b719bc8b1e Added evalFunc() method.
This public method is not virtual, and implemented in the base class using calls to
the virtual methods. Not yet used by the DG solver.
2013-01-23 09:51:30 +01:00
Atgeirr Flø Rasmussen
5bdaeeafa0 Refactored applyMinUpwindLimiter(). 2013-01-23 09:50:25 +01:00
Atgeirr Flø Rasmussen
940f1299a9 Add methods totalFlux() and minCornerVal().
Also started refactoring applyMinUpwindLimiter() using the
added methods.
2013-01-21 14:55:27 +01:00
Atgeirr Flø Rasmussen
dc50e61a01 Use functionAverage() instead of direct coefficient access.
This fixes the issue with limiters on multilinear basis.
2013-01-21 11:09:43 +01:00
Atgeirr Flø Rasmussen
de66f358b0 Added functionAverage() method to DGBasis classes. 2013-01-21 11:09:07 +01:00
Atgeirr Flø Rasmussen
1113e65eec Refactored limiter functions.
The two limiter functions were very similar, and were unified in a single
method, with a bool argument to choose method variety.
2013-01-21 10:46:06 +01:00
Atgeirr Flø Rasmussen
c3f9e64c9c Complete separation of basis func classes.
Also:
 - Add use_tensorial_basis parameter allowing run-time choice of basis.
 - Remove degree argument from solveTof() method, degree is instead obtained
   from parameters in constructors. Modified compute_tof* programs to match.
2013-01-16 15:13:45 +01:00
Atgeirr Flø Rasmussen
fb060da933 Implement (empty) virtual destructor, make methods public. 2013-01-16 15:11:46 +01:00
Atgeirr Flø Rasmussen
564db5df87 Increased quadrature order in a term.
This is for the benefit of bi/tri-linear basis functions, as stated
in the comments.
2013-01-16 13:45:15 +01:00
Atgeirr Flø Rasmussen
33cc611ced Moved DG basis to separate classes in its own file.
Also introduced interface (base) class and changed the api, not used yet by the tof solver.
2013-01-16 13:38:02 +01:00
Atgeirr Flø Rasmussen
52c164040a Add methods addConstant() and multiplyGradient() to multilinear basis.
Not tested yet, though.
2013-01-15 20:44:28 +01:00
Atgeirr Flø Rasmussen
d822b92e1c Implement limiters with addConstant() and multiplyGradient().
This is instead of directly manipulating the coefficients, requiring
assumptions on the basis used.
2013-01-15 13:52:44 +01:00
Atgeirr Flø Rasmussen
ae2016e063 Added addConstant() and multiplyGradient() methods.
So far only to class DGBasisBoundedTotalDegree.
2013-01-15 13:44:18 +01:00
Atgeirr Flø Rasmussen
b5a2556df7 Added class DGBasisMultilin.
Multilinear DG1 basis functions added. Will not work with current limiter.
2013-01-15 13:42:05 +01:00
Atgeirr Flø Rasmussen
4000eeaef6 Reduce source sum failure from error to warning.
Should extend to sum over sources and boundaries before reinstating.
2013-01-15 13:39:35 +01:00
Atgeirr Flø Rasmussen
a2f2fcdfbb Renamed class DGBasis -> DGBasisBoundedTotalDegree. 2013-01-15 13:37:39 +01:00
Atgeirr Flø Rasmussen
6e716db0f9 Do not require unnecessary high quadrature precision. 2013-01-15 13:33:55 +01:00
Atgeirr Flø Rasmussen
d670f37131 Added (disabled) extra output for debugging purposes.
Enable by defining EXTRA_VERBOSE.
2013-01-15 13:17:43 +01:00
Atgeirr Flø Rasmussen
b25f81cf58 Do not assume that the first basis function is the constant 1.
Properly integrate b_i * porosity over the cell for all basis functions b_i.
2013-01-15 13:10:09 +01:00
Atgeirr Flø Rasmussen
33e9952074 Added MinUpwindAverage limiter method, made it default. 2013-01-08 16:00:17 +01:00
Atgeirr Flø Rasmussen
9df613913e Documented new available limiting options in constructor doc. 2013-01-08 13:34:50 +01:00
Atgeirr Flø Rasmussen
67fc1074de Change constructor to take ParameterGroup argument.
Also make tof to limit against >= 0.0, for case when upstream cell values go
below zero.

Disabled some debug output.
2013-01-08 13:14:26 +01:00
Atgeirr Flø Rasmussen
d6596a87af Improvements to DG1 flux limiter.
Skeleton in place for increased flexibility in methods and usage.
(So far behaviour choices are hardcoded, though.)
Added relative flux thresholding to existing limiter to avoid flux noise
strongly affecting solution. For example no-flow boundaries could be treated
as inflow boundaries and make the minimum upwind face limiter meaningless.
2013-01-08 11:04:43 +01:00
Atgeirr Flø Rasmussen
86eb45bd88 Add methods sequence() and components(). 2013-01-08 11:04:07 +01:00
Atgeirr Flø Rasmussen
cf9fdbbd76 Simplify and correct implementation of limiter.
Now we check all corners' tof values for the cell under consideration,
not just the inflow face corners'.
2013-01-07 15:48:47 +01:00
Atgeirr Flø Rasmussen
7e49c1a475 Bugfix, again: it was correct to take the maximum, reinstating.
There is a different problem that needs fixing, however:
Flux inaccuracies (for example on boundaries) may tag some
face as inflow face for a cell, even if it should have been
no-flow. This may let the cell avoid limiting, even though it
should have been limited according to the proper inflow faces.
2013-01-07 15:10:43 +01:00
Atgeirr Flø Rasmussen
59441f188a Bugfix: take minimum of allowed slopes, not maximum. 2013-01-04 19:59:05 +01:00