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