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
Atgeirr Flø Rasmussen
fa6b772972
Changed well initialization and property calculation.
...
Bhp is now initialized to bhp target for bhp-controlled wells.
Mobilities and pvt properties are now calculated from
well perforation pressure and injection specifications for
injectors, producers still use cell properties as before.
2012-09-14 09:53:11 +02:00
Atgeirr Flø Rasmussen
bdcf0291e0
Fix error message.
2012-09-14 09:52:13 +02:00
Atgeirr Flø Rasmussen
026863c95d
Merge branch 'master' into reorder_tof
2012-09-05 14:21:47 +02:00
Atgeirr Flø Rasmussen
9c77d12f8d
Merge branch 'master' into ert
...
Conflicts:
Makefile.am
configure.ac
examples/Makefile.am
opm/core/GridManager.cpp
opm/core/eclipse/EclipseGridParser.cpp
opm/core/grid/cpgpreprocess/preprocess.h
tests/Makefile.am
2012-09-05 13:36:19 +02:00
Atgeirr Flø Rasmussen
fa2fc1e914
Merge branch 'master' into reorder_tof
2012-09-05 12:32:38 +02:00
Atgeirr Flø Rasmussen
0f91bc6a34
Massive whitespace cleanup: entire fluid subdir.
2012-09-05 11:28:54 +02:00
Atgeirr Flø Rasmussen
f68c289e9d
Merge branch 'master' into nonuniform_fluid_tables
...
Conflicts:
opm/core/fluid/BlackoilPropertiesFromDeck.cpp
opm/core/fluid/BlackoilPropertiesFromDeck.hpp
opm/core/fluid/SaturationPropsFromDeck.cpp
2012-09-04 13:34:30 +02:00
Atgeirr Flø Rasmussen
23ae62f8dc
Constified some local variables.
2012-09-04 13:15:26 +02:00
Atgeirr Flø Rasmussen
0f9d572f9a
Fix stride bug in WellReport::push(). Use convert::to().
2012-09-04 13:12:06 +02:00
Atgeirr Flø Rasmussen
14aab769f2
Fix stride bug in SGAS/SWAT init.
2012-09-04 13:06:13 +02:00
Atgeirr Flø Rasmussen
7c7609698f
Added proper Doxygen tags.
2012-09-04 12:52:17 +02:00
Atgeirr Flø Rasmussen
0101e1f575
Updated doc to match new parameter names.
...
New parameters are (default):
pvt_tab_size (200)
sat_tab_size (200)
threephase_model ("simple") [also accepts "stone2"].
2012-09-04 11:49:05 +02:00
Atgeirr Flø Rasmussen
03f6f43160
Merge branch 'master' into nonuniform_fluid_tables
...
Conflicts:
Makefile.am
opm/core/fluid/BlackoilPropertiesFromDeck.hpp
opm/core/fluid/SaturationPropsFromDeck.cpp
opm/core/fluid/SaturationPropsFromDeck.hpp
opm/core/fluid/blackoil/BlackoilPvtProperties.cpp
opm/core/fluid/blackoil/BlackoilPvtProperties.hpp
opm/core/fluid/blackoil/SinglePvtDead.cpp
This merge combines three more-or-less orthogonal features
for saturation tables: the option to use StoneII or Simple
three-phase behaviour, the option to fit a spline or not,
and finally setting the number of samples used (if spline
fitting).
Interfaces have changed, the most top-level one being
that BlackoilPropertiesFromDeck::init() now also takes
a ParameterGroup argument.
2012-09-04 11:42:31 +02:00
Atgeirr Flø Rasmussen
e9c4c2499c
Documented parameters.
2012-09-03 15:09:55 +02:00
Atgeirr Flø Rasmussen
4e1647bb62
Formatting fixes.
2012-09-03 15:07:03 +02:00
Atgeirr Flø Rasmussen
489501b49b
Documented new constructor. Fixed layout.
2012-09-03 14:16:54 +02:00
Atgeirr Flø Rasmussen
c2d41a6639
Whitespace cleanup and adding a check for #phases <= 3.
2012-09-03 14:04:52 +02:00
Atgeirr Flø Rasmussen
913054c473
Added more checks in 3-phase init code.
2012-09-03 13:54:50 +02:00
Atgeirr Flø Rasmussen
c409fcccce
Merge remote-tracking branch 'hnil/master'
2012-09-03 13:40:33 +02:00
Atgeirr Flø Rasmussen
109ba09d9d
Merge branch 'master' into nonuniform_fluid_tables
2012-09-03 13:12:11 +02:00
Atgeirr Flø Rasmussen
7a79bd1872
Enable choice of spline-smoothed saturation props (or not).
2012-08-27 17:56:01 +02:00
Atgeirr Flø Rasmussen
214546ece9
Merge branch 'master' into reorder_tof
2012-08-27 17:02:50 +02:00
Atgeirr Flø Rasmussen
d9cff689b4
Added class SinglePvtDead, add parameter 'props_use_spline' to simulators.
...
Recall that the class that used to be called SinglePvtDead has
been renamed to SinglePvtDeadSpline. If 'props_use_spline' is true,
that class is used (this is the default), which makes a monotone
spline that is uniformly, densely sampled. The new class simply
uses linear interpolation in the input tables.
2012-08-27 16:48:21 +02:00