Commit Graph
100 Commits
Author SHA1 Message Date
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
Atgeirr Flø Rasmussen 4fb45f0e64 Moved fluid -> props and subdirs.
This is a non-compiling commit.
2013-03-14 09:56:48 +01:00
Atgeirr Flø Rasmussen bb944b7e52 Moved writeECLData and writeVtkData to opm/core/io subdirs. 2013-03-08 08:06:18 +01:00
Atgeirr Flø Rasmussen a154183b9d Moved opm/core/eclipse/* to opm/core/io/eclipse/*. 2013-03-07 22:59:06 +01:00
Atgeirr Flø Rasmussen 358e9287f7 Fix error in doc. 2013-03-07 15:14:24 +01:00
Atgeirr Flø Rasmussen f9cfb7d12d Make destructor of CompressibleTpfa virtual. 2013-03-07 15:14:01 +01:00
Atgeirr Flø Rasmussen 7dd4720057 Changed OpenRS->OPM in copyright notices and #include guards. 2013-01-29 13:42:24 +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 e368094cd0 Merge remote-tracking branch 'upstream/master' into dg-improvements 2013-01-21 09:59:31 +01:00
Atgeirr Flø Rasmussen 13f945f081 Added test for DG basis classes.
Only 2d so far.
2013-01-17 14:35:50 +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 e5ff636860 Merge branch 'master' into dg-improvements 2013-01-08 16:01:52 +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
Atgeirr Flø Rasmussen 6a23ebe449 Add methods sequence() and components(). 2013-01-08 11:04:07 +01:00
Atgeirr Flø Rasmussen db7fe12a45 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 bfa52cc5f2 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 583c905a43 Bugfix: take minimum of allowed slopes, not maximum. 2013-01-04 19:59:05 +01:00
Atgeirr Flø Rasmussen 76868ebc1c Added parameter compute_tracer. Defaults to false.
Triggers tracer computation and output, in addition to time-of-flight.
2013-01-03 14:08:09 +01:00
Atgeirr Flø Rasmussen 8cb2ea4c94 Added solveTofTracer() method. 2013-01-03 14:07:51 +01:00
Atgeirr Flø Rasmussen 538e1eab5f Limiter now works reasonably well.
Case with no inflow faces should be checked.
2012-12-20 18:03:08 +01:00
Atgeirr Flø Rasmussen 3e723bc965 Added limiter for DG1, parameter 'use_limiter'.
The limiter is experimental and unfinished, untested work in progress.
Limiter is therefore inactive by default.

Also fixed a minor bug: use_cvi_ was not initialized.
2012-12-18 14:15:31 +01:00
Atgeirr Flø Rasmussen 94b128d6b6 Bugfix: use sufficient quadrature order. 2012-12-18 14:12:56 +01:00
Atgeirr Flø Rasmussen 5e04ec1448 Modify precision for quadrature depending on use of CVI method. 2012-12-06 10:18:57 +01:00
Atgeirr Flø Rasmussen 534f8f8bb6 No longer ignores boundary fluxes.
This means that the class does expect source terms that are just that, and not
'transport source' terms that include boundary inflows (like the transport
solvers expect). This is also consistent with the behaviour of the DG version.
2012-12-05 10:39:00 +01:00
Atgeirr Flø Rasmussen 8fce539d3d Adapt to moved [Cell|Face]Quadrature classes.
Also fix a minor issue with potentially buggy error output after LAPACK failure.
2012-12-04 16:11:05 +01:00
Atgeirr Flø Rasmussen 6324408357 Update CompressibleTpfa wellbore gravity handling.
Should now be in sync with cfs_tpfa_residual C interface. Simple well
gravity model implemented.
More flexibility in well gravity models would be a natural future extension.
2012-11-06 19:28:22 +01:00
Atgeirr Flø Rasmussen 7deba2cce0 Bugfix tof computations with multidimensional upwinding.
Cell tof depends on downwind face tof in a more complicated way
with multidim upwinding, this was not done correctly.
2012-11-05 14:26:00 +01:00
Atgeirr Flø Rasmussen a124d2e3be Implemented multidimensional upwinding.
The 'SMU' variant is chosen for its smoothness.
2012-10-30 13:10:50 +01:00
Atgeirr Flø Rasmussen 1272575f1f Add use_multidim_upwind parameter. 2012-10-30 10:32:29 +01:00
Atgeirr Flø Rasmussen d2b935d74f Merge branch 'tof_utilities' into multidim_upwind 2012-10-30 10:25:23 +01:00
Atgeirr Flø Rasmussen bd013a7d4d Added parameters for controlling use of multidim upwinding.
For now, you will simply get SPU even with use_multidim_upwind=true.
2012-10-29 17:23:17 +01:00
Atgeirr Flø Rasmussen 0f01da85c2 Merge branch 'master', remote-tracking branch 'upstream/master' into tof_utilities 2012-10-29 08:46:26 +01:00
Atgeirr Flø Rasmussen 43162d7d99 Increased number of digits in output. 2012-10-29 08:27:59 +01:00
Atgeirr Flø Rasmussen 29b2bcad45 Added new tof computation utility.
This program assumes that grid, porosity, flux field and sources are
available to read from files. It does not compute any flux field itself.
2012-10-25 14:47:26 +02:00
Atgeirr Flø Rasmussen 17ffcc77aa Merge pull request #84 from bska/fix-equality-comparisons
Fix well classification that was only correct by accident
2012-10-25 01:08:48 -07:00
Atgeirr Flø Rasmussen 88af4a4ce3 Fix output in case of LAPACK error.
Make copy of matrix before calling dgesv, since it will overwrite it.
2012-10-17 12:40:43 +02:00
Atgeirr Flø Rasmussen 49af5dcd7b Use new velocity interpolation interface.
The class TransportModelTracerTofDiscGal now uses
VelocityInterpolationInterface, and acts as a factory
internally, choosing an interpolation method depending on
the parameter 'use_cvi'.
2012-10-16 11:11:33 +02:00
Atgeirr Flø Rasmussen ca15ce6eec Fix comment. 2012-10-10 14:12:38 +02:00
Atgeirr Flø Rasmussen 89eee7e220 Bugfix: order of function arguments.
Order of arguments for computePhaseFlowRatesPerWell() was wrong.
This fix was done previously for SimulatorCompressibleTwophase,
but the incompressible sim was ignored.

Also added an ASSERT that may help catch some misuse.
2012-10-10 14:09:09 +02:00
Atgeirr Flø Rasmussen c8498b76b6 Merge pull request #59 from kristinf/dev
sign error in total_produced

Looks correct.
2012-10-10 04:49:06 -07:00
Atgeirr Flø Rasmussen 31d17a0dcd Whitespace cleanup. 2012-10-09 12:21:17 +02:00
Atgeirr Flø Rasmussen 76259dcd0f Improve docs and give more info on error. 2012-10-09 09:54:54 +02:00
Atgeirr Flø Rasmussen 36721602b2 Add timing of topological sort. 2012-10-09 09:54:26 +02:00
Atgeirr Flø Rasmussen 256a5496b1 Merge branch 'master' into reorder_tof 2012-10-08 16:16:05 +02:00
Atgeirr Flø Rasmussen 9e90dcebe5 Fix sign of production rate controls.
In the Wells struct, production rate control targets must be negative
(and injection rate control targets are always positive).
In the WellsGroup classes, there are separate variables for injection
and production, and all rates are positive. Therefore, upon adding or
modification of a production rate control, the negated value must
be used.
2012-10-08 14:27:56 +02:00
Atgeirr Flø Rasmussen a635140500 Merge branch 'master' into reorder_tof 2012-10-08 13:52:59 +02:00
Atgeirr Flø Rasmussen 108589a286 Merge branch 'master' into reorder_tof 2012-10-05 09:20:37 +02:00
Atgeirr Flø Rasmussen 352869feb2 Merge branch 'master' into ert
Conflicts:
	Makefile.am
2012-10-05 09:20:04 +02:00
Atgeirr Flø Rasmussen 6f31f059d7 Merge branch 'master' into reorder_tof 2012-10-03 10:05:53 +02:00
Atgeirr Flø Rasmussen d22a1b6c03 Merge branch 'master' into ert
Conflicts:
	opm/core/grid/cpgpreprocess/preprocess.h
2012-10-03 10:00:58 +02:00
Atgeirr Flø Rasmussen a9783eefc7 Add explanatory comment. 2012-10-02 15:46:33 +02:00
Atgeirr Flø Rasmussen 5acbf00b14 Update compressible transport solver for new src convention.
Namely, that inflowing transport sources are water *surface* volumes,
not water *reservoir* volumes.
2012-10-02 14:37:18 +02:00
Atgeirr Flø Rasmussen 4f276a8870 Bugfix: size of vector for A should be np*np. 2012-10-02 14:35:28 +02:00
Atgeirr Flø Rasmussen 017663cc5b Change interface for (blackoil) computeInjectedProduced().
Also use new computeInjectedProduced() and computeTransportSource()
functions in SimulatorCompressibleTwophase.
2012-10-02 11:12:23 +02:00
Atgeirr Flø Rasmussen 17c1be6541 Modified functions dealing with transport source.
In preparation for switching to new convention for inflow
sources in the compressible case: source being surface volumes,
not reservoir volumes.
2012-10-01 16:40:47 +02:00
Atgeirr Flø Rasmussen 6fb248d403 Update WellState::perfPress() after pressure solve. 2012-10-01 16:40:10 +02:00
Atgeirr Flø Rasmussen 0eb54ca90a Added perfPress() to WellState. 2012-10-01 16:39:35 +02:00
Atgeirr Flø Rasmussen 78835b57b8 Merge branch 'master' into ert 2012-09-30 15:08:49 +02:00
Atgeirr Flø Rasmussen f6b2306dab Work in progress: degree 2 quadratures.
Also, changed quadrature degrees used to get exact quadratures for all terms.
2012-09-28 14:44:04 +02:00
Atgeirr Flø Rasmussen cf38936c99 Merge branch 'master' into reorder_tof 2012-09-27 11:19:56 +02:00
Atgeirr Flø Rasmussen d83ab5856d Fix: forgotten multiply by cell volume in a quadrature. 2012-09-27 09:49:36 +02:00
Atgeirr Flø Rasmussen 04a76988d9 Add sink term contribution. 2012-09-26 15:15:04 +02:00
Atgeirr Flø Rasmussen 93094ebeec Fix argument order in call. 2012-09-26 14:21:00 +02:00
Atgeirr Flø Rasmussen 99a12a7edc Initial version of DG(1) for tof implemented.
Basis functions, quadratures and velocity interpolation are basic versions,
not handling any higher than DG(1) for now. These are currently in helper
classes and functions. The code in the main solver class is written with
the aim of supporting DG(n) generally.
2012-09-26 13:30:54 +02:00
Atgeirr Flø Rasmussen bbc5ed5c68 Merge branch 'master' into reorder_tof 2012-09-26 09:08:26 +02:00
Atgeirr Flø Rasmussen 6a01298312 Merge branch 'master' into ert
Conflicts:
	Makefile.am
2012-09-26 09:07:57 +02:00
Atgeirr Flø Rasmussen 1a227dbf86 Added skeleton of general order DG tof solver. 2012-09-26 08:58:03 +02:00
Atgeirr Flø Rasmussen b9a2c14113 Add proper support for source terms.
This fixes the problem with infinite tofs at sinks.
2012-09-25 14:00:17 +02:00
Atgeirr Flø Rasmussen ddf177b4c5 Merge branch 'master' into reorder_tof 2012-09-25 10:13:46 +02:00
Atgeirr Flø Rasmussen 9f69e9fa51 Guard against input error.
If no valid threephase_model is input, throw instead of crashing.
2012-09-24 17:09:50 +02:00
Atgeirr Flø Rasmussen 56e81968e3 Add support for new three-phase relperm option to BlackoilPropertiesFromDeck.
New parameter option added: 'threephase_model' can now be 'gwseg'.
2012-09-24 16:43:00 +02:00
Atgeirr Flø Rasmussen e3388575d6 Fix treatment of WELOPEN keyword.
Now you can actually shut and open wells with WELOPEN. The following
caveats apply:
 - this may interact improperly with group controls,
 - dynamic usage of WCONINJE/WCONPROD should not be mixed with WELOPEN.
2012-09-20 14:35:03 +02:00
Atgeirr Flø Rasmussen 50a23c0f5d Support shut wells in compressible tpfa solver. 2012-09-20 14:34:33 +02:00
Atgeirr Flø Rasmussen 2017481a58 Improve diagnostic output if crossflow is detected. 2012-09-20 14:33:57 +02:00
Atgeirr Flø Rasmussen 8dc958044f Merge branch 'master' into ert 2012-09-18 09:18:40 +02:00
Atgeirr Flø Rasmussen 65447604ae Typo fix. 2012-09-14 20:56:08 +02:00
Atgeirr Flø Rasmussen 67b5f007fd Made initialization from SWAT/SGAS etc. more robust and general. 2012-09-14 10:40:36 +02:00