Commit Graph

2637 Commits

Author SHA1 Message Date
Arne Morten Kvarving
77f733d424 added: license 2013-01-22 13:42:40 +01:00
Atgeirr Flø Rasmussen
40f9970eb8 Merge pull request #117 from bska/master
Release preparation: Fix out-of-bounds indexing in context of shut wells
2013-01-18 04:30:26 -08:00
Bård Skaflestad
6fffbe97d5 Merge remote-tracking branch 'upstream/master' 2013-01-18 13:23:52 +01:00
Bård Skaflestad
a93532e1ce Opm::WellState::init(): Handle shut wells
This is a minor bugfix to account for the presence of shut wells
(characterised by "ctrls[w]->current < 0").  The existing code would
lead to indexing outside the "ctrls" array in the context of a shut
well.
2013-01-18 13:23:37 +01:00
Bård Skaflestad
8b482cadda Merge pull request #116 from atgeirr/master
More DG time-of-flight improvements.
2013-01-16 06:54:19 -08: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
Bård Skaflestad
a197dbdd0b Merge pull request #111 from atgeirr/dg-improvements
Further improvements to limiters for DG time-of-flight computations
2013-01-08 07:45:40 -08:00
Atgeirr Flø Rasmussen
c6087791d4 Merge branch 'master' into dg-improvements 2013-01-08 16:01:52 +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
Bård Skaflestad
21e62ecab9 Merge pull request #110 from atgeirr/dg-improvements
Improvements for time-of-flight and tracer computations
2013-01-03 08:25:11 -08:00
Atgeirr Flø Rasmussen
990a944711 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
564b13d0c1 Added solveTofTracer() method. 2013-01-03 14:07:51 +01:00
Atgeirr Flø Rasmussen
0f861e64ed Limiter now works reasonably well.
Case with no inflow faces should be checked.
2012-12-20 18:03:08 +01:00
Bård Skaflestad
8f47facf82 Merge pull request #109 from atgeirr/dg-improvements
DG time-of-flight improvements
2012-12-19 09:09:33 -08:00
Atgeirr Flø Rasmussen
7f91bb47e3 Merge pull request #103 from osae/endscale
Scaling of relperm functions - oil/water systems.
2012-12-18 05:54:10 -08:00
Atgeirr Flø Rasmussen
668aba9942 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
d8de94a5da Bugfix: use sufficient quadrature order. 2012-12-18 14:12:56 +01:00
osae
d1aada8d81 Support for keywords ENPTVD and ENKRVD. 2012-12-17 14:02:30 +01:00
osae
cf5eab8794 Loop index. 2012-12-17 13:58:20 +01:00
Atgeirr Flø Rasmussen
b66920203d Ensure correct output in case of Lapack error.
Make sure that we output the original values, since Lapack may overwrite those
used in the call.
2012-12-17 11:07:40 +01:00
Atgeirr Flø Rasmussen
389a943f34 Bugfix: multiply by edge length in 2d face quadrature weights. 2012-12-14 13:17:36 +01:00
Atgeirr Flø Rasmussen
ff1bfc810a Implemented 2d quadrature rules for degree 1 and 2 (order 2 and 3).
Also added cartesian 2d cell testcase.
2012-12-14 12:22:56 +01:00
osae
7510ded183 Fixed loop index and added parameter check. 2012-12-07 14:52:00 +01:00
osae
d5edb42b31 Removed tabs. 2012-12-07 14:52:00 +01:00
osae
f41b82da3d Scaling of relperm functions - oil/water systems.
opm/core/eclipse/EclipseGridParser.cpp
opm/core/eclipse/EclipseGridParser.hpp
- New keywords: ENDSCALE SCALECRS SWCR SWL SWU SOWCR KRW KRWR KRO KRORW

opm/core/eclipse/SpecialEclipseFields.hpp
- Parsers for ENDSCALE and SCALECRS.

opm/core/fluid/BlackoilPropertiesFromDeck.cpp
- Consistency check: ENDSCALE implemented for SatFuncSimple only.

opm/core/fluid/SatFuncGwseg.hpp
opm/core/fluid/SatFuncSimple.hpp
opm/core/fluid/SatFuncStone2.hpp
- Accomodate "default" values for scalable parameters.
- For SatFuncGwseg and SatFuncStone2 the associated functionality not
  yet supported and the variables are dummies to satisfy the compiler.

opm/core/fluid/SatFuncSimple.cpp
- Initialisation for scalable parameters.
- Evaluation of relperms: Use (1-so) for evaluation of oil-relperms.
  (For scaled arguments sw and so do not necessarily add to one.)
- TODO: SatFuncGwseg.cpp and SatFuncStone2.cpp for oil-water systems.

opm/core/fluid/SaturationPropsFromDeck.hpp
- Struct to accomodate cell-wise scaling factors.
- Two flags indicating scaling and method.
- Methods for parameter initialisation and scaled relperm computation.

opm/core/fluid/SaturationPropsFromDeck_impl.hpp
- Initialize scaling options and relevant cell-wise scaling factors.
- Relperm evaluation modified for possible end point scaling.
2012-12-07 14:52:00 +01:00
Atgeirr Flø Rasmussen
91f9b3c2de Modify precision for quadrature depending on use of CVI method. 2012-12-06 10:18:57 +01:00
Bård Skaflestad
a8e5986649 Merge pull request #108 from atgeirr/separate-quadrature-from-dg
Separate quadrature from dg
2012-12-05 10:53:09 -08:00
Atgeirr Flø Rasmussen
ec716fe1d8 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
1c51623f48 Add test program for quadratures.
So far only tests on a single cartesian 3D cell.
2012-12-04 20:57:09 +01:00
Atgeirr Flø Rasmussen
980d6eb482 CellQuadrature works only for 3D, enforce it. 2012-12-04 20:56:05 +01:00
Atgeirr Flø Rasmussen
8132cb21b9 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