Andreas Lauser
64107ecc1b
PVT properties: allow them to be temperature dependent
...
Note that this patch does not introduce any real temperature
dependence but only changes the APIs for the viscosity and for the
density related methods. Note that I also don't like the fact that
this requires so many changes to so many files, but with the current
design of the property classes I cannot see a way to avoid this...
2014-12-01 20:06:31 +01:00
Andreas Lauser
749d0e838d
incorperate the review comments/decisions for multi-region PVT
...
the largest change is that all classes below opm/core/props/pvt take
the PVT region index as an argument, the higher-level ones (i.e.,
BlackoilProps*) take cell indices.
2014-06-04 11:11:35 +02:00
Atgeirr Flø Rasmussen
dcaac93e23
Remove unneeded term, fixing oil injecting behaviour.
...
The 'comp_term' is supposed to be a total divergence term, which is supposed
to be zero for incompressible flow. It was added for improved robustness in
stagnant areas, but as implemented it would not be computed properly for
oil injection scenarios, due to the convention for two-phase transport
source terms (positive terms are inflow of first phase [water], negative
terms are total outflow).
2013-10-04 13:16:02 +02:00
Andreas Lauser
d6fa31b452
convert users of the ASSERT and the ASSERT2 macros to standard assert()
2013-09-05 13:04:37 +02:00
Andreas Lauser
cb76a0fd7f
convert THROW to OPM_THROW
2013-09-05 13:04:37 +02:00
Andreas Lauser
408d3389c3
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
Júlio Hoffimann
c077912466
Remove trailing whitespaces
2013-07-28 08:34:13 -03:00
Andreas Lauser
40fe2abf04
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
Atgeirr Flø Rasmussen
3d382f8220
More minor doc fixes.
2013-03-22 09:45:00 +01:00
Atgeirr Flø Rasmussen
00e8606994
Fix minor doc errors.
2013-03-22 09:26:45 +01:00
Atgeirr Flø Rasmussen
b05fec38fd
Fixes and improvements to transport solver docs.
2013-03-21 14:52:21 +01:00
Atgeirr Flø Rasmussen
f9f5cbf321
Moved ColumnExtract and initState.
...
ColumnExtract -> opm/core/grid/ and initState -> opm/core/simulator/.
2013-03-18 12:47:23 +01:00
Atgeirr Flø Rasmussen
5b132acc70
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
17ac731a0e
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
da985748d0
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
28fc68cf71
Modify solve() interface, fix source term bug in implicit solver.
2013-03-15 08:21:55 +01:00
Atgeirr Flø Rasmussen
dad6990d1d
Minor adjustments.
2013-03-15 08:05:23 +01:00
Atgeirr Flø Rasmussen
bdb8d48115
Modified TransportSolverTwophaseInterface::solve(), general cleanup.
...
Move output arguments last in argument list.
2013-03-14 22:51:44 +01:00
Atgeirr Flø Rasmussen
11015c11ef
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
87c8d0dc28
Modified for added files and changed class names.
2013-03-14 21:43:21 +01:00
Atgeirr Flø Rasmussen
e99e023980
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
b73a33f4af
Adapt include statements to moved headers.
2013-03-14 10:29:42 +01:00
Bård Skaflestad
beaac0d089
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
967403996a
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
267ec64ae8
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
b8e840e81e
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
62a8a7f527
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
977e8a19e2
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
f99fd9254b
Refactored applyMinUpwindLimiter().
2013-01-23 09:50:25 +01:00
Atgeirr Flø Rasmussen
604be45871
Add methods totalFlux() and minCornerVal().
...
Also started refactoring applyMinUpwindLimiter() using the
added methods.
2013-01-21 14:55:27 +01:00
Atgeirr Flø Rasmussen
e02bf4f312
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
1093e09d65
Added functionAverage() method to DGBasis classes.
2013-01-21 11:09:07 +01:00
Atgeirr Flø Rasmussen
763d14ce4d
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
862c489cc3
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
dc7385204a
Implement (empty) virtual destructor, make methods public.
2013-01-16 15:11:46 +01:00
Atgeirr Flø Rasmussen
5288b84bdc
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
f539c4d183
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
954ebfa837
Add methods addConstant() and multiplyGradient() to multilinear basis.
...
Not tested yet, though.
2013-01-15 20:44:28 +01:00
Atgeirr Flø Rasmussen
b61bb494dc
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
5ac24f9b8d
Added addConstant() and multiplyGradient() methods.
...
So far only to class DGBasisBoundedTotalDegree.
2013-01-15 13:44:18 +01:00
Atgeirr Flø Rasmussen
406965124a
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
e24795ba94
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
5548fd85f9
Renamed class DGBasis -> DGBasisBoundedTotalDegree.
2013-01-15 13:37:39 +01:00
Atgeirr Flø Rasmussen
81c8870ba8
Do not require unnecessary high quadrature precision.
2013-01-15 13:33:55 +01:00
Atgeirr Flø Rasmussen
7f05b1bb0e
Added (disabled) extra output for debugging purposes.
...
Enable by defining EXTRA_VERBOSE.
2013-01-15 13:17:43 +01:00
Atgeirr Flø Rasmussen
dd2e01ce9e
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
89516931e4
Added MinUpwindAverage limiter method, made it default.
2013-01-08 16:00:17 +01:00
Atgeirr Flø Rasmussen
53932a8184
Documented new available limiting options in constructor doc.
2013-01-08 13:34:50 +01:00
Atgeirr Flø Rasmussen
a0827ab02d
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
832072a5cb
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