Atgeirr Flø Rasmussen
6e9a46b34d
Added gasoilratio() to BlackoilState.
2013-05-27 12:53:06 +02:00
Atgeirr Flø Rasmussen
125c573461
Added assert to guard against wrong usage.
2013-05-24 09:21:41 +02:00
Atgeirr Flø Rasmussen
1cf0bb465b
Fix bug in upwinding code.
...
Accidental usage of std::vector's operator< discovered.
2013-05-24 09:20:46 +02:00
Atgeirr Flø Rasmussen
8592ca825a
Added wellRates() member.
2013-05-21 23:54:30 +02:00
Atgeirr Flø Rasmussen
8c92a47b89
Merge remote-tracking branch 'upstream/master' into add-phaseusage-to-interface
2013-05-15 10:10:18 +02:00
Bård Skaflestad
ac33cd6f17
Merge pull request #240 from atgeirr/tof-improvements
...
Ensure (average of) tracers sum to one for DG1.
2013-05-14 02:28:21 -07:00
Bård Skaflestad
3f4c2ea564
Always interpret 'ref_pressure' as a double
...
Otherwise, when specifying (e.g.)
ref_pressure=1.0e-5
(1 Pascal in bars), the value gets reinterpreted as
ref_pressure=1
which is one bar.
2013-05-14 10:19:12 +02:00
Atgeirr Flø Rasmussen
d312f760e1
Add phaseUsage() method to BlackoilPropertiesInterface.
...
Also implement method in derived classes.
2013-05-13 16:20:00 +02:00
Atgeirr Flø Rasmussen
9b56384647
Ensure (average of) tracers sum to one for DG1.
2013-05-13 16:17:41 +02:00
Atgeirr Flø Rasmussen
15ab570cd5
Added limiter for tracer.
2013-04-24 11:27:04 +02:00
Atgeirr Flø Rasmussen
8a894ca686
Add tracer computations (method solveTofTracer()).
...
Same interface as in class TofReorder.
2013-04-24 10:39:50 +02:00
Atgeirr Flø Rasmussen
241f866709
Update doc, only initialize tracerhead_by_cell_ if needed.
2013-04-24 10:36:52 +02:00
Atgeirr Flø Rasmussen
9f6b4e5258
Tracer computations are now fixed and robust.
...
- Handles noisy source terms.
- Works with repeated solve calls (multi-cell block solves).
2013-04-23 15:35:47 +02:00
Atgeirr Flø Rasmussen
643c1e7df0
Implement solveMultiCell() with Gauss-Seidel.
2013-04-23 13:38:47 +02:00
Atgeirr Flø Rasmussen
b82a41df18
Work in progress on tracers.
...
- Changed interface.
- Read tracerheads (tracer start locations) from file in compute_tof_from_files.
- Initialize tracerheads from wells in compute_tof.
2013-04-22 14:02:45 +02:00
Atgeirr Flø Rasmussen
5d58dc4500
Fix typo and minimize formatting changes.
2013-04-22 11:29:59 +02:00
Atgeirr Flø Rasmussen
5578400e72
Removed experimental multi-cell solver code.
...
Since the Gauss-Seidel approach seems to be both simplest and
fastest, all parts dealing with assembling multicell systems
have been removed.
2013-04-22 11:22:23 +02:00
Atgeirr Flø Rasmussen
4fc5770fe2
Optimize multi-cell solve and add new Gauss-Seidel variant.
2013-04-22 11:11:55 +02:00
Atgeirr Flø Rasmussen
b0132b3b05
Make multidim upwind more forgiving of bad grids.
...
Now it will no longer trigger assertation failure when grids are not
edge-conformal (faulted cornerpoint grids processed by our code will
usually not be). Minor algorithm change to handle this.
2013-04-22 11:07:41 +02:00
Atgeirr Flø Rasmussen
52e96825a4
More refined and concise output of block info.
2013-04-17 13:18:22 +02:00
Atgeirr Flø Rasmussen
25a2c3d00b
Implement solveMultiCell() properly.
...
Interface change: solver now requires a linear solver (for the multi-cell blocks only).
Implementation uses new private method assembleSingleCell(), that is a modified copy
of solveSingleCell(). Should refactor.
2013-04-17 12:58:15 +02:00
Atgeirr Flø Rasmussen
f8db9cad66
Bugfix: do not compute MDU terms for noflow faces.
2013-04-17 10:38:08 +02: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
f8e00d0bc6
Make all codes use the same linear interpolation routines.
2013-03-22 15:28:16 +01:00
Atgeirr Flø Rasmussen
8dee94dc0f
Use markup for parameter lists.
2013-03-22 11:09:38 +01:00
Atgeirr Flø Rasmussen
5be528a646
Use markdown for parameter lists.
2013-03-22 10:02:04 +01:00
Atgeirr Flø Rasmussen
1bfcf77b38
Change doxygen syntax to use markdown.
2013-03-22 09:55:12 +01: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
c693c44d25
Fix docs for IncompPropertiesBasic.
2013-03-22 09:26:27 +01:00
Atgeirr Flø Rasmussen
b05fec38fd
Fixes and improvements to transport solver docs.
2013-03-21 14:52:21 +01:00
Atgeirr Flø Rasmussen
213e143c47
Fixes and improvements to time-of-flight solver docs.
2013-03-21 14:51:49 +01:00
Atgeirr Flø Rasmussen
71057d69db
Clean up well docs.
...
Needed to rename structs in legacy_well.h to avoid clash in docs.
2013-03-20 14:14:53 +01:00
Atgeirr Flø Rasmussen
1e02bd9905
Merge pull request #207 from blattms/release-dune-cmake
...
Add support for AMG improvements when using inofficial 2.2 DUNE release with CMake support
2013-03-19 08:11:44 -07:00
Markus Blatt
de22c11d91
Removed compile time warning. In verbose mode the warning will be issued during runtime.
2013-03-19 13:48:02 +01:00
Markus Blatt
71d86b7f08
Fixed compilation with official DUNE release.
2013-03-18 15:36:35 +01:00
Markus Blatt
26ab363783
Adapted the documentation.
2013-03-18 14:34:04 +01:00
Markus Blatt
2c4c4cbb2f
Added a fast amg version of AMG (with one step of Gaus-Seidel smoothing) and AMG with Krylov-cycle.
...
The former is only available when using the inofficial 2.2.1 cmake release.
The latter is currently not optimized.
2013-03-18 14:34:03 +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
c78b7de680
Renamed newwells.h -> wells.h.
...
Also moved implementation file to subdir.
2013-03-18 10:33:34 +01:00
Atgeirr Flø Rasmussen
b14c145f10
Moved deprecated opm/core/well.h -> opm/core/pressure/legacy_well.h
...
Still used by some pressure system assemblers.
2013-03-18 10:23:51 +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
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
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
2eaf60f680
Index into vectors using integers.
...
This commit corrects an error that has been present since the
introduction of function wellsToSrc() in commit a50bb8f but was never
detected. Although the conversion int->double->std::size_t is likely to
be loss-less, it is better to not introduce any more steps than are
actually needed.
2013-02-18 11:49:52 +01:00
Bård Skaflestad
4bf93e31c0
Merge pull request #135 from atgeirr/doc-improvements
...
Doc and comment improvements
2013-02-06 01:26:29 -08: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
7dd4720057
Changed OpenRS->OPM in copyright notices and #include guards.
2013-01-29 13:42:24 +01:00
Bård Skaflestad
95fb0792e5
Bring ParameterGroup interface into scope.
...
The constructor accepts a parameter::ParameterGroup reference and thus
needs a valid interface in scope. Relying on header pollution is
unwise.
2013-01-23 17:35:05 +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
Markus Blatt
c48234c0e4
Finished customizability in terms of steps and prolongateFactor
2013-01-18 14:11:59 +01:00
Markus Blatt
0baa40fb88
Merge remote-tracking branches 'origin/master' and 'upstream/master'
2013-01-18 13:48:55 +01:00
Bård Skaflestad
d9842837b3
Merge remote-tracking branch 'upstream/master'
2013-01-18 13:23:52 +01:00
Bård Skaflestad
d0fa32011b
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
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
Bård Skaflestad
70da461a97
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
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
Bård Skaflestad
1059611c78
Merge pull request #109 from atgeirr/dg-improvements
...
DG time-of-flight improvements
2012-12-19 09:09:33 -08: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
osae
51d2e9de0d
Support for keywords ENPTVD and ENKRVD.
2012-12-17 14:02:30 +01:00
osae
28a3a0770f
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
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
Markus Blatt
87a5ba847e
Merge remote-tracking branch 'upstream/master'
2012-11-22 12:48:02 +01:00
Halvor Møll Nilsen
1be0bd4a20
Corrected include statements after renaming files.
2012-11-16 16:24:54 +01:00
Halvor Møll Nilsen
4a6e10bb08
Continued renaming of transpormodels to transportsolver*reorder
2012-11-16 16:06:01 +01:00
Halvor Møll Nilsen
6b73114430
Changed name of all TransportModels which was reorder solvers
2012-11-16 16:00:56 +01:00
Halvor Møll Nilsen
74cddb0b01
Changes needed to for makeing a simulator using ImplicitTransport. Several changes in names to highlight what is reorder simulator classes
2012-11-16 13:38:03 +01:00
Halvor Møll Nilsen
cfae3edcaf
Changes to try to make naming and classes more consistent. This is a start to make devide models and tranport solvers so that VE models is more easely handled
2012-11-15 13:20:49 +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
Bård Skaflestad
ab71ea4780
Merge branch 'master' into gravity-in-wells
2012-11-05 15:48:07 +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
Bård Skaflestad
a0c8028ea8
Account for gravity in well connection flux calculation
...
We previously ignored effects of gravity in the calculation of the well
connection fluxes (i.e., perforation fluxes). This commit includes
those effects where appropriate.
2012-11-01 13:34:27 +01:00
Markus Blatt
08ecc6988c
Merge remote-tracking branch 'upstream/master'
2012-10-30 16:27:49 +01:00
Halvor Møll Nilsen
e66df86e2d
Changed cmake to make build without ert for now. Small change in WellsManager.cpp
2012-10-30 14:51:12 +01:00
Halvor Møll Nilsen
ae05d3d7e8
Merge from upstream and corrected conflictes.
2012-10-30 13:38:55 +01:00
Halvor Møll Nilsen
036cfacea4
changes to be able to use black oil properties even if rock do not match current grid
2012-10-30 13:28:22 +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
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
Bård Skaflestad
7406847201
Merge branch 'master' into gravity-in-wells
2012-10-25 10:44:17 +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
Bård Skaflestad
f9fe3322b6
Merge branch 'master' into gravity-in-wells
2012-10-24 22:43:25 +02:00
Roland Kaufmann
28661b7342
Remove superfluous construction by std::make_pair
...
Since we know the type of the components, we may just as well create the
pair directly! (Using make_pair invokes compiler bugs in GCC).
2012-10-24 21:22:11 +02:00
Bård Skaflestad
0c599b8868
Fix well classification that was only correct by accident
...
Specifically, the tests
if (!wells->type[self_index] == INJECTOR)
if (!wells->type[self_index] == PRODUCER)
produced the expected results *only* because INJECTOR==0 and PRODUCER==1
in the WellType enumeration, thus (!INJECTOR == PRODUCER) and
(!PRODUCER == INJECTOR).
Installing the (much) more appropriate
if (wells->type[self_index] != INJECTOR)
if (wells->type[self_index] != PRODUCER)
is not only more readable, it is also future-proof and scales better if
we ever introduce new WellTypes (e.g., a MONITOR).
2012-10-24 21:12:29 +02:00
Bård Skaflestad
98fd1f05dd
Merge branch 'master' into gravity-in-wells
2012-10-24 10:09:31 +02:00
Roland Kaufmann
d8dd982408
Make GCC 4.6.3 happy in C++0x mode
...
It complains about not finding a match for the pair<> template class,
because the first parameter (this) is allegedly const. However, this
isn't a const method, so I suspect it is a compiler bug.
In order to move on, I slap on a harmless cast which will make this
particular compiler happy, and which should have no effects elsewhere,
but put it in a #if..#else..#endif macro to avoid warnings on others;
hopefully this also makes it easier to spot and remove in the future.
2012-10-24 09:57:12 +02:00
Bård Skaflestad
8e38cd5f5c
Merge branch 'master' into gravity-in-wells
2012-10-17 13:30:37 +02: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
Bård Skaflestad
5afc290604
Don't compare floating point numbers for equality.
2012-10-16 21:48:38 +02:00
Bård Skaflestad
75f7a725b3
Update documentation accompanying CompletionData structure.
...
Specifically, the 'wdp' member is a scalar value at each well
connection. Phase behaviour is incorporated through other means.
2012-10-16 14:05:33 +02:00
Bård Skaflestad
8a8c29f5ce
Rename CompletionData::gpot -> wdp .
...
This is in preparation of implementing actual gravity support in
(compressible) well-pressure solution.
2012-10-16 13:55:07 +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
Bård Skaflestad
10604d237b
Document public interface of compr_source module.
...
This is Doxygen-style reference documentation only.
2012-10-15 19:49:23 +02:00
Bård Skaflestad
80a14f849b
Reformat to add Doxygen markup where appropriate
2012-10-15 19:15:31 +02:00
Bård Skaflestad
30cb6eaf7f
Document public interface of compr_quant_general module
...
This is Doxygen-style reference documentation only.
2012-10-15 16:08:17 +02:00
Bård Skaflestad
f35663130a
Document public interface of cfs_tpfa_residual module
...
This is Doxygen-style reference documentation only.
2012-10-15 15:21:27 +02:00
Bård Skaflestad
d3f85ea60c
Merge remote-tracking branch 'upstream/master' into ert
...
Conflicts:
Makefile.am
opm/core/grid/cpgpreprocess/preprocess.h
tests/Makefile.am
This brings ert branch up-to-date with current Github master branch.
2012-10-12 00:43:51 +02:00
Markus Blatt
230c6320eb
Merge branch 'master' of https://github.com/OPM/opm-core
2012-10-11 11:25:25 +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
Markus Blatt
b296a4488e
Merge remote-tracking branch 'upstream/master'
2012-10-10 10:25:25 +02:00
kristinf
a740bcfe5f
sign error in total_produced
2012-10-09 15:23:56 +02: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
Bård Skaflestad
d6154d8961
Clone wells object when constructing from existing.
...
This installs a measure of safety on the part of the interface in that
the caller is free to dispose of the wells object upon returning from
the WellsManager constructor.
2012-10-05 10:15:06 +02:00
Halvor Møll Nilsen
044c13e9fb
Added constuctor to WellManager which used Wells struct.
2012-10-05 10:14:55 +02:00
Bård Skaflestad
e5c5a64a4a
New function clone_wells()
...
Used to create a deep copy (clone) of an existing Wells object.
While here, add test case for common Wells object operations.
2012-10-05 10:14:44 +02:00
Markus Blatt
7957198131
Merge remote-tracking branch 'upstream/master'
2012-10-05 10:11:59 +02:00
Atgeirr Flø Rasmussen
108589a286
Merge branch 'master' into reorder_tof
2012-10-05 09:20:37 +02:00
Bård Skaflestad
24504875ea
Reference <grid.h> from canonical location.
...
The header was removed from this directory upon import from the
preexisting "opmtransport" repository.
2012-10-05 00:56:12 +02:00
Bård Skaflestad
4d488c98a7
Unequivocally exclude MATLAB timing printing.
...
It is not actually needed and prevents building when symbol
MATLAB_MEX_FILE is defined.
2012-10-05 00:53:59 +02:00
Markus Blatt
de1e709476
Merge remote-tracking branch 'upstream/master'
2012-10-03 20:01:05 +02:00
Markus Blatt
1105c9b540
Make number of smoothing steps and scaling factor for prolongation of AMG adjustable
2012-10-03 20:01:00 +02:00
Atgeirr Flø Rasmussen
6f31f059d7
Merge branch 'master' into reorder_tof
2012-10-03 10:05:53 +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
Bård Skaflestad
fb8e79857c
Add tentative implementation of surface-rate targets.
...
Not tested at present.
2012-09-26 10:14:45 +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
Roland Kaufmann
ab21d44c9a
Disable warning for using DUNE's FieldVector::size
...
In DUNE 2.2 FieldVector::size changed from being a member to being a
method. A compatibility warning is issued if you include the relevant
headers.
This warning can be silenced for DUNE modules by using passing the
option --enable-fieldvector-size-is-method to ./configure. This patch
effectively does the same, but through a macro definition.
2012-09-24 00:21:06 +02:00
Bård Skaflestad
271b0d800c
Merge remote-tracking branch 'upstream/master' into fix-impedance-mismatch
2012-09-20 15:49:59 +02:00
Bård Skaflestad
b137eb0b65
Interpret `wells != 0 && wells->W == 0'' as
`no wells''.
...
The CompressibleTpfa class always passes a non-null `forces->wells'
object to the constructor, assembly, and reconstruction routines but
uses ``forces->wells->W == 0'' to signify a simulation model without
wells. This is, arguably, an error in the CompressibleTpfa class but
one that does not require a lot of work to support in the
cfs_tpfa_residual module.
Insert the extra tests in an effort to honour the ``liberal in what you
accept, strict in what you produce'' principle.
2012-09-20 15:48:48 +02:00
Bård Skaflestad
bdcd5236bd
Don't crash on models without wells.
...
The user will legitimately want to run models that do not specify wells
(e.g., using boundary conditions). While we do not yet fully support
that configuration (no wells), we absolutely must not crash by
dereferencing null pointers or generating pointers into ::empty()
std::vector<>s.
This commit installs the required guards needed to avoid said failure
mode.
2012-09-20 15:03:38 +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
Xavier Raynaud
680276debf
Fixed documentation.
2012-09-05 14:07:51 +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
Xavier Raynaud
3eda90b7e6
Merge remote-tracking branch 'upstream/master'
2012-09-05 13:35:48 +02:00
Xavier Raynaud
1d98e043a5
Fixed source term (measured at reservoir conditions).
2012-09-05 13:34:25 +02:00
Atgeirr Flø Rasmussen
fa2fc1e914
Merge branch 'master' into reorder_tof
2012-09-05 12:32:38 +02:00
Halvor Møll Nilsen
0f3423cbf4
Added constuctor to WellManager which used Wells struct.
2012-09-05 11:47:38 +02:00
Atgeirr Flø Rasmussen
0f91bc6a34
Massive whitespace cleanup: entire fluid subdir.
2012-09-05 11:28:54 +02:00
Xavier Raynaud
32e1ae249d
Merge remote-tracking branch 'upstream/master'
2012-09-05 10:11:02 +02:00
Xavier Raynaud
3d01a60099
Changed solvegravity interface. Fixed bug.
2012-09-05 10:10:02 +02:00
Xavier Raynaud
8c68fd0373
Add initial guess in root solver for gravity residual.
2012-09-04 15:13:55 +02:00
Xavier Raynaud
55793cc909
Use same search interval in computation of flux and gravity residuals.
2012-09-04 15:01:14 +02:00
Xavier Raynaud
ff78e358f0
Removed unappropriate conversion from water saturation to complete saturation.
2012-09-04 14:22:56 +02:00
Xavier Raynaud
876d23942c
Use porevolume of last step in computation of gravity residual.
2012-09-04 14:21:51 +02:00
Bård Skaflestad
abd8973382
Merge remote-tracking branch 'upstream/master'
2012-09-04 13:58:43 +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
Bård Skaflestad
ca428559ab
Merge remote-tracking branch 'upstream/master'
2012-09-03 13:27:50 +02:00
Atgeirr Flø Rasmussen
109ba09d9d
Merge branch 'master' into nonuniform_fluid_tables
2012-09-03 13:12:11 +02:00
Xavier Raynaud
a8cb519d4e
Fixed comment.
2012-09-03 12:26:22 +02:00
Xavier Raynaud
0701daa4dc
Improve documentation.
2012-09-03 11:29:48 +02:00
Halvor Møll Nilsen
2dede29f20
Introduced posibility to change number of sample points for pvt.
...
Did change the PVTW calculation so derivatives are exact.
Extended the test functions for pvt and relperm
2012-08-31 17:01:07 +02:00
Xavier Raynaud
b4a4e297a8
Added functionality to compute porosity for compressible fluid.
2012-08-29 10:54:21 +02:00
Halvor Møll Nilsen
6852be422c
Added new SatFuncSimple fluid.
...
Introduced a simple fluid which has no problem with strange black oil behavior.
Intended for testing, but for now it is used in SaturationPropsFromDeck.
2012-08-28 16:41:06 +02:00
Halvor Møll Nilsen
94c04f343d
Added param initializer on fluids with param to addjust table length.
...
Moved internal class SatFunc to SatFuncStone2.
2012-08-28 14:27:14 +02:00
Xavier Raynaud
9aa349b1e5
Corrected comment.
2012-08-28 13:12:54 +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
Bård Skaflestad
bf70195448
Merge remote-tracking branch 'upstream/master'
2012-08-27 15:37:07 +02:00
Xavier Raynaud
22372710b8
Merge remote-tracking branch 'atgeirr/master'
2012-08-27 13:32:55 +02:00
Xavier Raynaud
af8a6fa7da
Changed private->protected and added virtual to make class derivation.
2012-08-27 13:19:04 +02:00
Atgeirr Flø Rasmussen
5182fef48d
Switch loop ordering for better cache performance.
2012-08-27 13:17:27 +02:00
Halvor Møll Nilsen
cf9b9cdf20
Started work on supporting 3 phases for wellreport.
2012-08-27 12:22:32 +02:00
Halvor Møll Nilsen
9ef6014964
Addes support for initialisation of three phases using SWOF and SGOF
2012-08-27 12:20:03 +02:00
Atgeirr Flø Rasmussen
931dcc4a3d
Implemented rudimentary solveMultiCell().
...
Simply calls solveSingleCell() once for each cell in block.
2012-08-27 11:26:51 +02:00
Atgeirr Flø Rasmussen
9bb76d74cc
Fixed bug in matrix multiplication (matrix has Fortran element order).
2012-08-27 11:19:22 +02:00
Atgeirr Flø Rasmussen
0a8ac1ddb5
Minor revision, mostly whitespace cleanup and comments.
2012-08-27 09:48:06 +02:00
Bård Skaflestad
a8d75d2b25
Reference <grid.h> from canonical location.
...
The header was removed from this directory upon import from the
preexisting "opmtransport" repository.
2012-08-24 20:31:13 +02:00
Bård Skaflestad
c2a0b51365
Unequivocally exclude MATLAB timing printing.
...
It is not actually needed and prevents building when symbol
MATLAB_MEX_FILE is defined.
2012-08-24 20:31:13 +02:00
Halvor Møll Nilsen
6390cceaa2
Corrected typing pointed out by atgeirr in respose to pullrequest
2012-08-24 20:31:13 +02:00
Halvor Møll Nilsen
7ee5d5e403
added writing of reorder iterations for each cell
2012-08-24 20:31:13 +02:00
Atgeirr Flø Rasmussen
3e9cc74922
Initial commit of tof computation by reordering.
2012-08-24 16:08:26 +02:00
Halvor Møll Nilsen
0da049f4c8
Corrected mistake from moving function calls.
2012-08-24 13:39:42 +02:00
Atgeirr Flø Rasmussen
46fb488410
Minor code cleanup in TransportModelTwophase.
2012-08-24 13:31:23 +02:00
Atgeirr Flø Rasmussen
3dfb2eb29b
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
opm/core/simulator/SimulatorIncompTwophase.cpp
2012-08-24 13:31:05 +02:00
Halvor Møll Nilsen
a26c6779c6
Corrected typing pointed out by atgeirr in respose to pullrequest
2012-08-24 12:52:41 +02:00
Atgeirr Flø Rasmussen
c7bbf1146c
Removed unneeded function numGlobalCells().
2012-08-24 08:18:59 +02:00
Atgeirr Flø Rasmussen
caff665c10
Fixed solveGravity(): now properly modifies surfacevolume.
...
Also:
- solveGravity() interface changed to take surface volume as a parameter,
- gravity vector is now given in initGravity() instead of
solveGravity(), for consistency with the incompressible solver.
2012-08-23 14:45:23 +02:00
Atgeirr Flø Rasmussen
73949f892e
New singularPressure() method propagates singularity information.
2012-08-23 14:03:20 +02:00
Atgeirr Flø Rasmussen
983a29691c
Function cfs_tpfa_residual_assemble() and friends now return singularity flag.
...
The singularity flag is true if there are no pressure conditions and no
compressibility (so the absolute values of the pressure solution will be
arbitrary).
2012-08-23 14:00:04 +02:00
Atgeirr Flø Rasmussen
e96421dbd7
Whitespace cleanup.
2012-08-23 08:59:09 +02:00
Atgeirr Flø Rasmussen
96327164cc
Added computeSurfacevol() method.
...
The method is called by the reordering transport solver after computing
new saturations in order to update the surface volumes.
2012-08-23 08:57:48 +02:00
Atgeirr Flø Rasmussen
010715ad03
Document and check (primitive) for non-miscibility requirement.
2012-08-22 12:31:59 +02:00
Atgeirr Flø Rasmussen
2f03664408
Merge branch 'rock_comp_tpfa'
2012-08-22 11:13:16 +02:00
Xavier Raynaud
9ed0923279
Update surface volume in transport solver.
2012-08-22 10:11:32 +02:00
Xavier Raynaud
660f14df3b
Corrected bug (residual should not be divided by dt).
2012-08-21 17:12:07 +02:00
Xavier Raynaud
52ab67201d
Changed way to get total number of cells.
2012-08-21 17:10:49 +02:00
Xavier Raynaud
712ccb0309
Corrected typo in comment.
2012-08-21 17:09:19 +02:00
Halvor Møll Nilsen
5743225be2
added writing of reorder iterations for each cell
2012-08-21 15:23:46 +02:00
Xavier Raynaud
7e1e1e7951
Fixed sign error and replaced porevol->porevol0.
2012-08-21 10:20:59 +02:00
Halvor Møll Nilsen
50ff22141d
Added writing of timings in param format
2012-08-21 09:57:36 +02:00
Xavier Raynaud
b470ab8d50
Fix initialization bug.
2012-08-20 15:18:24 +02:00
Atgeirr Flø Rasmussen
aa47b1511c
Merge branch 'master' into rock_comp_tpfa
2012-08-17 12:55:41 +02:00
Atgeirr Flø Rasmussen
ded1424cc9
Whitespace cleanup.
2012-08-17 12:40:15 +02:00
Atgeirr Flø Rasmussen
61fdf4a8b6
Bugfix: call *comprock* method only if active rock compressibility.
2012-08-17 10:56:27 +02:00
Atgeirr Flø Rasmussen
d67f49bac8
Class CompressibleTpfa now handles rock compressibility.
2012-08-17 10:38:41 +02:00
Atgeirr Flø Rasmussen
547efbe7d1
Added function cfs_tpfa_res_comprock_assemble().
...
This is intended to handle cases with both fluid and rock compressibility.
2012-08-17 10:36:57 +02:00
Atgeirr Flø Rasmussen
6fb1078cba
Merge remote-tracking branch 'upstream/master'
2012-08-14 15:27:30 +02:00
Atgeirr Flø Rasmussen
ec13b11f9d
Merge remote-tracking branch 'upstream/master'
2012-08-14 11:31:54 +02:00
Atgeirr Flø Rasmussen
f90f313af6
Gravity segregation column solver for compressible case implemented.
2012-08-14 11:25:59 +02:00
Bård Skaflestad
7cad95c6c7
Restore coding conventions.
...
Inadvertently lost in commit 064184b.
2012-08-14 11:05:09 +02:00
Halvor Møll Nilsen
1f7ec7fa39
Changed to extrapolation outside tables for pormult. Added facetags to the grid structure. Changed default fluid to Linear.
2012-08-14 09:36:19 +02:00
Atgeirr Flø Rasmussen
497c45b78b
Constructors of *FromDeck classes now take an UnstructuredGrid.
...
This is a change from taking a vector containing the mapping to
deck-consistent logical cartesian indices. The mapping is contained
in the UnstructuredGrid::global_cell member, and may be null. The
change therefore saves the overhead of constructing a vector as a
copy of the data in the grid or (if null) as an identity mapping.
2012-08-10 10:12:45 +02:00
Atgeirr Flø Rasmussen
6ab7487218
Whitespace cleanup.
2012-07-19 15:34:42 +02:00
Atgeirr Flø Rasmussen
937b85e88f
Bugfix in CompressibleTpfa for gravity case.
...
Gravity acceleration should be a factor in the face gravity potential.
2012-07-19 14:45:15 +02:00
Atgeirr Flø Rasmussen
eb7d46accf
Transport solver partially complete (segregation solver remains).
2012-07-19 14:02:26 +02:00
Bård Skaflestad
52a5aabf57
Use have_boost_redef.hpp rather than direct override.
2012-07-12 14:36:36 +02:00
Bård Skaflestad
81f4ab5dd9
Add partial Doxygen markup to public interfaces.
...
More work needed.
2012-07-03 01:30:18 +02:00
Bård Skaflestad
527f2aef52
Initialise all members in default constructor.
2012-07-02 17:44:16 +02:00
Joakim Hove
368e1813a1
Using Datamapper.h in writeVtkData
2012-06-28 13:20:18 +02:00
Bård Skaflestad
0d3b2abc6a
Anchor Doxygen comments to current line.
...
Existing mark-up (/** ... */) would erroneously apply the documentation
of one field to the one below. Using /**< ... */ avoids this problem.
Found by reading the Doxygen manual more carefully...
2012-06-26 11:44:30 +02:00
Bård Skaflestad
e5e23de0c0
Document the obsolescent well representation.
...
It is still in use by the hybridised pressure solvers.
2012-06-25 00:55:50 +02:00
Bård Skaflestad
ffb538fce0
Add Doxygen-style documentation to all interfaces.
2012-06-24 03:59:18 +02:00
Bård Skaflestad
b9c9f9fbe8
Reference module headers from canonical location.
2012-06-22 19:39:52 +02:00
Bård Skaflestad
dd67e0c717
Insert another <CODE></CODE> pair that was missing.
2012-06-22 15:44:39 +02:00
Bård Skaflestad
77cd800b0c
Merge from upstream.
2012-06-22 15:41:37 +02:00
Bård Skaflestad
1256fb4389
Refine description of csrmatrix_new_elms_pushback()
...
While here, tighten the distinction between <CODE> and non-<CODE>
mark-up.
2012-06-22 15:37:50 +02:00
Bård Skaflestad
ff96f386dc
Use canonical include path to reference header.
2012-06-22 10:17:34 +02:00
Bård Skaflestad
469ddb0468
Re-wrap Doxygen comments introduced in cset 6d9f8b35dd4e.
2012-06-22 02:07:02 +02:00
Bård Skaflestad
3659ca2d68
Document sparse matrix interface.
2012-06-22 02:03:41 +02:00
Halvor M. Nilsen
c7d252f94a
Mearge from upstream
2012-06-20 13:11:46 +02:00
Halvor M. Nilsen
ccbc1d83d5
Changed default for relperm to not set.
2012-06-20 13:11:13 +02:00
Bård Skaflestad
c1c76a48b6
Restore a blank line that was lost in an earlier cset.
2012-06-20 00:38:47 +02:00
Bård Skaflestad
ecda277cb0
Slight normalisation and clean-up of coding style.
...
Notably:
* Replace all remaining <tab>s with (8) spaces.
* Use post-increment for all counters.
* Insert a number of blank lines to highlight important groups.
2012-06-19 18:37:26 +02:00
Halvor M. Nilsen
ace7ebeed9
Merge from upstream
2012-06-19 13:38:51 +02:00
Halvor M. Nilsen
d1f1af8854
Added inizialization of ok, which correct error for solves without wells. The only thing which is check is if the well object have incompressible form.
2012-06-19 13:37:22 +02:00
Bård Skaflestad
fe9cc7f29a
Prune an unused header.
2012-06-19 09:34:34 +02:00
Bård Skaflestad
c4342bd16b
*Control::mode(): Defer control-mode look-up to std::map.
2012-06-19 00:30:32 +02:00
Bård Skaflestad
7fc7972e93
Sort includes.
2012-06-19 00:01:30 +02:00
Bård Skaflestad
5ad262ec84
*Control::mode(): Defer keyword look-up to std::find() algorithm.
...
This is simpler than implementing our own version of the same.
2012-06-18 15:21:27 +02:00
Bård Skaflestad
1795e6b1a7
Document add_well()s "name" parameter.
...
Forgotten in cset 728302a69229.
2012-06-18 10:18:14 +02:00
Bård Skaflestad
6fbf50827f
Add support for storing well names in "Wells" structure.
...
The well name must be passed as a parameter to add_well(), so update
callers accordingly.
2012-06-18 10:15:53 +02:00
Kjetil Olsen Lye
dec0e60bd4
Removed errors on trying to open a shut well (or shut an open well).
2012-06-15 15:16:32 +02:00
Kjetil Olsen Lye
068cbf0605
Handle WellOpen has both open and shut.
2012-06-15 14:29:43 +02:00
Kjetil Olsen Lye
1a37c410fc
Made the grouptree respect the new convention of tilde.
2012-06-15 14:08:28 +02:00
Kjetil Olsen Lye
6f22704406
Correct a const error.
2012-06-15 13:57:35 +02:00
Kjetil Olsen Lye
c0717c0f7c
Added welshut for production wells. Also added wellopen-handling.
2012-06-15 13:49:58 +02:00
Kjetil Olsen Lye
2a631282fc
Added initial shutting of injection wells.
2012-06-15 13:38:07 +02:00
Atgeirr Flø Rasmussen
4689dd2af7
Fix output from SimulatorReport.
2012-06-15 10:51:34 +02:00
Atgeirr Flø Rasmussen
f452c4c33c
WellsManager now handles multiple WELSPECS, WCONINJE, WCONPROD-lines referring to the same well.
...
This is mostly relevant for schedule handling. The last occurence of a well
is the one used.
2012-06-15 10:12:36 +02:00
Atgeirr Flø Rasmussen
98de826397
Moved SimulatorReport class into its own file, for reusability.
2012-06-14 14:13:03 +02:00
Halvor M. Nilsen
5a055ee933
Fixed one use of wells, when wells=NULL
2012-06-14 09:06:58 +02:00
Atgeirr Flø Rasmussen
ba4ba17736
Merged.
2012-06-13 19:45:32 +02:00
Atgeirr Flø Rasmussen
29a400d622
Enable inheritance from IncompTpfa for limited purposes.
2012-06-13 19:45:23 +02:00
Bård Skaflestad
cc054d474d
computeFractionalFlow(): Reuse the output array in all intermediate calculations.
...
This eliminates a number of free-store operations and data movements.
2012-06-13 17:07:56 +02:00
Atgeirr Flø Rasmussen
e041407c81
Bugfixes: correct sign for pressure increment, initialise rock_comp.
2012-06-13 10:34:15 +02:00
Atgeirr Flø Rasmussen
4e4e652279
Added constructor for incompressible cases.
...
Also added computeStaticData() helper called by both constructors.
It is still possible to use the other constructor for an incompressible case,
by passing a null pointer for the rock_comp argument.
2012-06-12 15:24:31 +02:00
Atgeirr Flø Rasmussen
c7a9e84be6
Reindent.
2012-06-12 15:22:23 +02:00
Atgeirr Flø Rasmussen
cc1038bcdc
Merged.
2012-06-12 11:17:02 +02:00
Atgeirr Flø Rasmussen
88c7b84f4e
Removed unused code.
2012-06-12 11:16:43 +02:00
Atgeirr Flø Rasmussen
14f560a295
Major simplification of IncompTpfa interface.
...
Most significant changes:
- Single solve() call used for all cases (with or without gravity,
with or without rock compressibility). This is intentionally
similar to CompressibleTpfa::solve().
- Constructor take a property object and computation of necessary total
mobilities etc. moved inside class.
- Optional constructor args for rock compressibility, gravity, wells,
boundary conditions (null pointer accepted) and source terms (empty
vector accepted).
- Nonlinear iterations for the compressible rock case now handled inside
IncompTpfa. This part intentionally made similar to CompressibleTpfa.
2012-06-12 10:27:48 +02:00
Atgeirr Flø Rasmussen
59db0f7ca9
Fix comment.
2012-06-12 10:14:26 +02:00
Bård Skaflestad
3864afe8e2
Constructor: Move common failure mode to end of if-else chain.
...
While here, add a failure mode pertaining to solvers that are
supported by the system but disabled at configure time.
2012-06-11 17:54:23 +02:00
Atgeirr Flø Rasmussen
024bbacce9
More minor code cleanup.
2012-06-11 14:52:18 +02:00
Kjetil Olsen Lye
c42b24612b
Removed a debug print statement in the WellsGroup-code.
2012-06-11 13:16:39 +02:00
Atgeirr Flø Rasmussen
5ca2dc99e8
Whitespace (and other minor) cleanup.
2012-06-11 10:59:23 +02:00
Atgeirr Flø Rasmussen
cc7250628e
Improved documentation.
2012-06-09 18:11:02 +02:00
Atgeirr Flø Rasmussen
61995b97be
Changed interface of solve() and solveGravity() to accept full saturation (both phases) input.
2012-06-09 14:56:29 +02:00
Atgeirr Flø Rasmussen
e503fd054e
Removed default null argument for wells in IncompTpfa constructor.
2012-06-07 13:34:05 +02:00
Bård Skaflestad
77d92e18be
Don't mix declarations and definitions.
2012-06-07 10:28:02 +02:00
Xavier Raynaud
b2c5772728
set up correctly a flag in ifs_tpfa.c
2012-06-07 09:29:56 +02:00
Xavier Raynaud
2504399cb8
merge.
2012-06-06 15:19:02 +02:00
Xavier Raynaud
c81a840382
Added possibility to set tolerance for linear solvers.
2012-06-06 15:14:46 +02:00
Atgeirr Flø Rasmussen
63bc18a4cc
Added some documentation.
2012-06-06 13:42:25 +02:00
Atgeirr Flø Rasmussen
611cd53380
Reorganized, added opm/core/wells/ and opm/core/simulator/.
2012-06-05 15:42:49 +02:00
Atgeirr Flø Rasmussen
bc3fb37837
Allow specifying well rates to be zero.
2012-06-05 13:02:47 +02:00
Atgeirr Flø Rasmussen
d1a4fa6dcd
Made many methods private, and added some documentation.
2012-05-30 15:10:59 +02:00
Atgeirr Flø Rasmussen
30324f84e6
Made the virtual methods private.
2012-05-30 15:10:38 +02:00
Atgeirr Flø Rasmussen
c9c2794176
Add some missing docs for parameters.
2012-05-30 15:09:57 +02:00
Atgeirr Flø Rasmussen
299ea28afe
Reordering 2p transport solver now takes full saturation (all phases) as input.
2012-05-30 14:39:09 +02:00
Atgeirr Flø Rasmussen
ad2dff642b
Initial version of compressible transport. Work in progress.
2012-05-28 09:12:09 +02:00
Atgeirr Flø Rasmussen
379cebb550
Improve error message.
2012-05-25 10:13:08 +02:00
Bård Skaflestad
264d8dda0c
solve(): Don't generate pointers into ::empty() vector<>s.
2012-05-24 16:08:21 +02:00
Bård Skaflestad
4b6b8c0def
Realign function prototypes. No functional changes.
2012-05-24 14:36:53 +02:00
Bård Skaflestad
7970d426ef
csc_deallocate(): Remove useless non-NULL checks. Free(NULL) is a no-op.
2012-05-24 13:23:38 +02:00
Atgeirr Flø Rasmussen
5c15895e74
Implemented more error policies for regula falsi solver. Use in reorder code.
...
We have switched to WarnAndContinueOnError instead of ThrowOnError,
to reduce the annoyance factor when suffering from a minor error in
a long simulation run.
2012-05-24 10:21:38 +02:00
Atgeirr Flø Rasmussen
733129a1a9
Policy-based design enables custom error handling in scalar regula falsi.
2012-05-24 10:02:14 +02:00
Bård Skaflestad
664e0eadef
initBlackoilSurfvol(): Use loop order consistent with column-major ordering.
2012-05-21 21:03:43 +02:00
Bård Skaflestad
36d21ec747
Fix spelling: Furhtermore -> Furthermore.
2012-05-21 20:04:04 +02:00
Bård Skaflestad
e53ec76d78
Re-adjust comment white-space.
2012-05-21 20:01:55 +02:00
Bård Skaflestad
fa2d0904b5
Enforce singular agreement.
2012-05-21 20:00:08 +02:00
Bård Skaflestad
71a3ac9e17
Fix misprint concerning the valid components.
...
These are 0..*ncompoents-1, not 0..*ncomponents inclusive.
2012-05-21 19:58:02 +02:00
Bård Skaflestad
5b9ff02633
Mention that the flux parameter is assumed to include the boundary.
2012-05-21 19:56:46 +02:00
Bård Skaflestad
8b979e3c44
Merge from upstream.
2012-05-21 19:27:58 +02:00
Bård Skaflestad
c99a9a798a
Add doxygen documentation of compute_sequence*().
2012-05-21 19:20:32 +02:00
Bård Skaflestad
7c7c4f1b31
Assert that the number of strongly connected components is in [1 .. nc].
2012-05-21 18:53:08 +02:00
Atgeirr Flø Rasmussen
c6c92c0466
Some initial testing of CompressibleTpfa done.
...
Fixed bug in pressure update from increments.
Change injection wellperf_phasemob_ to be same as cell mobilities.
Improve iteration reporting.
2012-05-21 16:42:03 +02:00
Atgeirr Flø Rasmussen
780a47f651
Initialize WellState::bhp() to cell pressures of first perforation.
2012-05-21 16:39:05 +02:00
Bård Skaflestad
1eeafa1918
White-space adjustments. Mostly splitting long lines in declarations.
2012-05-21 16:37:06 +02:00
Bård Skaflestad
874e6f6bce
M-x whitespace-cleanup
2012-05-21 15:27:32 +02:00
Bård Skaflestad
0b19ec6370
Remove long-disabled code.
2012-05-21 15:27:19 +02:00
Bård Skaflestad
dea3741c1b
Prefer std::vector<> over explicit malloc()s.
2012-05-21 15:26:46 +02:00
Bård Skaflestad
7d57530df5
Implement compute_sequence*() in terms of compute_reorder_sequence_graph().
...
While here, insert various white-space adjustments.
2012-05-21 15:23:36 +02:00
Bård Skaflestad
2e02731ed8
Clean up implementation.
...
Specifically: Remove an unused header (stdio.h), replace <stdlib.h> by
its C++ counterpart (<cstlib>), and reference malloc() and free() from
the std:: namespace.
2012-05-21 15:01:53 +02:00
Bård Skaflestad
2006f3e3f8
Partly doxygenise the tarjan() function.
2012-05-21 14:49:51 +02:00
Atgeirr Flø Rasmussen
bc8d3160d0
Update comments in implementation file.
2012-05-21 14:48:09 +02:00
Atgeirr Flø Rasmussen
182c4718b0
Improve solver output in Newton iterations.
2012-05-21 14:08:38 +02:00
Atgeirr Flø Rasmussen
bccb7381fd
Added initBlackoilSurfvol() function.
2012-05-21 14:03:56 +02:00
Atgeirr Flø Rasmussen
7e9690ece3
Bugfix: set nphases properly.
2012-05-21 14:03:33 +02:00
Atgeirr Flø Rasmussen
f9436a1bef
Initialize size of wellperf_gpot_ properly.
2012-05-21 13:13:13 +02:00
Atgeirr Flø Rasmussen
857d6b774d
Finished untested version of CompressibleTpfa.
2012-05-21 12:58:42 +02:00
Atgeirr Flø Rasmussen
39eab74dc8
Added loop control and reporting to CompressibleTpfa.
2012-05-21 12:48:54 +02:00
Atgeirr Flø Rasmussen
5ed467f441
Added tolerance and maxiter arguments to CompressibleTpfa.
2012-05-21 11:24:12 +02:00
Atgeirr Flø Rasmussen
fb5113836c
Fixed a bug in non-linear Gauss-Seidel column segregation solver.
...
With columns containing an odd number of cells, middle cell would
get solved twice, and the second time with incorrect s0.
We still solve twice, but with correct s0.
2012-05-21 11:11:06 +02:00
Atgeirr Flø Rasmussen
5abf755e2d
Sending *dynamic* pressures to assembly function...
2012-05-21 10:47:21 +02:00
Atgeirr Flø Rasmussen
9aa0c89603
Sending initial pressures to assembly function.
2012-05-21 10:36:10 +02:00
Atgeirr Flø Rasmussen
18a0d0cf9f
Added initialization of face pressures.
2012-05-21 10:19:12 +02:00
Atgeirr Flø Rasmussen
cd72a50977
Added initFacePressure() function.
2012-05-21 10:10:52 +02:00
Atgeirr Flø Rasmussen
2ad94fc573
Evaluation of dynamic properties for CompressibleTpfa.
2012-05-21 10:10:35 +02:00
Atgeirr Flø Rasmussen
fa0d166f14
Work in progress on CompressibleTpfa.
...
- Changed contstruction, now takes property object.
- Well potentials done.
2012-05-18 11:10:31 +02:00
Kjetil Olsen Lye
5fb14c94cb
merge.
2012-05-16 17:00:09 +02:00
Xavier Raynaud
f252f59e5c
Added necessary #include.
2012-05-16 16:08:48 +02:00
Atgeirr Flø Rasmussen
1d1755bafe
Work in progress on compressible pressure solver.
2012-05-16 15:49:02 +02:00
Atgeirr Flø Rasmussen
fd25a20b9d
Started adding necessary parameters to pressure solver. Work in progress.
2012-05-16 14:38:55 +02:00
Atgeirr Flø Rasmussen
ac1e43b643
Added WellState class.
2012-05-16 14:37:55 +02:00
Atgeirr Flø Rasmussen
07b04825fd
Fix bug related to arithmetic if operator ( ? : ).
2012-05-16 14:15:50 +02:00
Atgeirr Flø Rasmussen
a6c71288aa
Merged.
2012-05-16 12:55:05 +02:00
Atgeirr Flø Rasmussen
d15a952cdd
Added initStateBasic() overload taking BlackoilPropertiesInterface props.
2012-05-16 12:54:48 +02:00
Atgeirr Flø Rasmussen
af8a32c560
Silence a warning.
2012-05-16 12:52:58 +02:00
Atgeirr Flø Rasmussen
cb03044d62
Renamed initTwophaseStateBasic() -> initStateBasic().
2012-05-16 12:33:42 +02:00
Atgeirr Flø Rasmussen
f6efbf386c
Renamed initStateTwophaseFromDeck() -> initStateFromDeck().
...
- Made initStateFromDeck() into a template taking arbitrary properties.
Implementation detail:
- initWaterOilContact() was also templatized on props.
- initHydrostaticPressure() is now overloaded on prop interface types.
2012-05-16 11:37:31 +02:00
Bård Skaflestad
e29364e3cc
Don't #include EclipseGridInspector for the side effect of <tr1/array>
2012-05-16 11:13:38 +02:00
Atgeirr Flø Rasmussen
203ebe6273
Remove unneeded debug output.
2012-05-16 09:24:34 +02:00
Bård Skaflestad
b2770d1414
WCONINJE: Distinguish injectors based on first character only.
...
This is the completion of change-set e6015b19c4e8 from WellsGroup.cpp .
2012-05-16 00:50:23 +02:00
Bård Skaflestad
562c133dff
toInjectorType(): Pass parameter as "reference-to-const" rather than copied object.
2012-05-15 17:22:05 +02:00
Bård Skaflestad
156bf0a560
toInjectorType(): Distinguish types based on first characters only.
...
The manual states that injection types in the "WCONINJE" keyword need
only be specified using a single character.
2012-05-15 17:19:35 +02:00
Bård Skaflestad
83274c4027
compute_cell_contrib(): Advance derivative pointer for each connection.
...
Failing to do this operation resulted in incorrect matrices in cases
with anisotropic tensors and/or non-cube cells. The error has been
present since the inception of this implementation.
2012-05-15 14:34:56 +02:00
Atgeirr Flø Rasmussen
71207f04c9
Merged.
2012-05-15 13:21:02 +02:00
Atgeirr Flø Rasmussen
7df0023038
Added WellReport::push() overload taking BlackoilPropertiesInterface.
2012-05-15 12:50:02 +02:00
Atgeirr Flø Rasmussen
7700716d32
Added utility functions for compressible fluid case.
2012-05-15 12:49:15 +02:00
Atgeirr Flø Rasmussen
0d88b83546
Added satRange() method to BlackoilPropertiesInterface.
2012-05-15 12:48:16 +02:00
Bård Skaflestad
8ed2e18e15
assignPermeability(): Don't build an Inspector to count global cells.
...
Thus, assingPermeability() is applicable to simulation decks that
aren't based on corner-point descriptions (e.g., the (DXV,DYV,DZV)
grid type).
2012-05-15 12:07:04 +02:00
Bård Skaflestad
43bb6eac78
WellsManager(): Support grids that do not define "global_cell"
...
Assume that the "global_cell" in that case corresponds to the identity
mapping.
2012-05-15 11:54:59 +02:00
Kjetil Olsen Lye
e26f90d9cb
merge.
2012-05-15 10:47:39 +02:00
Atgeirr Flø Rasmussen
ead94905db
Merged.
2012-05-14 21:49:24 +02:00
Atgeirr Flø Rasmussen
c0d43a69bd
Now computePorevolume() takes a porosity array instead of a property object.
...
This is to make it compatible with blackoil properties.
An alternative would be to give [Incomp|Blackoil]PropertiesInterface a
common base class (RockInterface?) with the common rock-related methods.
2012-05-14 21:47:10 +02:00
Kjetil Olsen Lye
90f8a780da
added possibility to add wells to wellcollection without using deck
2012-05-14 16:10:37 +02:00
Atgeirr Flø Rasmussen
a6034be47d
Merged.
2012-05-14 11:29:06 +02:00
Atgeirr Flø Rasmussen
d4e530eb3c
Added surfaceDensity() method to BlackoilPropertiesInterface.
2012-05-14 11:28:05 +02:00
Atgeirr Flø Rasmussen
6f0f9ff188
Added surfaceDensity() method to IncompPropertiesInterface.
2012-05-14 11:21:13 +02:00
Atgeirr Flø Rasmussen
27eecd954e
Added preliminary sketch of compressible tpfa solver.
...
This solver is:
- using the residual based assembler,
- aiming to include the nonlinear Newton iterations
(therefore also the (re-)evaluation of fluid data).
2012-05-14 10:53:50 +02:00
Bård Skaflestad
cd4026f6c4
matrix(): Reduce likelihood of reintroducing error fixed in cset 91ad967a15a0.
...
Specifically, rename loop variables i1->row and i2->col to better
reflect purpose.
2012-05-11 16:31:05 +02:00
Bård Skaflestad
86ab541f66
Fix silly mistake: Multiplying from the right scales columns, not rows.
2012-05-11 16:26:41 +02:00
Bård Skaflestad
02d3601072
Merge from upstream.
2012-05-11 16:08:06 +02:00
Bård Skaflestad
64b47cd304
Comment on the various stages in producing dA/dp result.
2012-05-11 16:07:01 +02:00
Atgeirr Flø Rasmussen
8b27b4a05d
Minor doc update.
2012-05-11 15:10:02 +02:00
Bård Skaflestad
9e41d1860d
Hide output that's presumably diagnostic behind (undefined) macro.
2012-05-11 15:07:10 +02:00
Bård Skaflestad
29cb30ed58
matrix(): Honour chain rule of differentiation.
...
The original implementation of change-set 90d8dd8c8040 contained a
crucial misprint leading to incorrect results for all compressible
fluids.
2012-05-11 14:26:48 +02:00
Atgeirr Flø Rasmussen
0a2c9ff000
Update doc.
2012-05-11 13:02:48 +02:00
Atgeirr Flø Rasmussen
0677f58026
Simplified data structure for extracted columns.
2012-05-11 09:37:12 +02:00
Bård Skaflestad
a865f01478
comprock_increment(): Don't proceed to mult_csr() unless OK.
2012-05-10 22:29:41 +02:00
Atgeirr Flø Rasmussen
a4b32311b2
Fix indexing bug in well handling code for incremental (Newton) pressure assembly.
2012-05-10 15:31:51 +02:00
Atgeirr Flø Rasmussen
1aa5d6b293
Silence a warning.
2012-05-10 15:30:33 +02:00
Kjetil Olsen Lye
10b738c7e3
Merge.
2012-05-10 12:50:22 +02:00
Xavier Raynaud
8842943794
Make compressible pressure solver compatible with well management.
2012-05-10 12:38:29 +02:00
Kjetil Olsen Lye
f24d286f18
Added error handling to pressure solver.
2012-05-10 09:55:34 +02:00
Bård Skaflestad
0cd6a0a0c6
Realign pointer offsets to provide additional visual cues.
2012-05-09 22:39:28 +02:00
Bård Skaflestad
a920b472e2
Fix copy-paste misprint in comment.
2012-05-09 20:17:10 +02:00
Bård Skaflestad
3ab9390921
Delete trailing whitespace introduced in change-set b39f2340f248 .
2012-05-09 20:15:10 +02:00
Bård Skaflestad
1672ae8c29
COMPDAT: Extract location from WELSPECS if defaulted.
...
This behaviour is dictated by the ECLIPSE specification.
2012-05-09 20:14:29 +02:00
Bård Skaflestad
9809afb3a8
Whitespace adjustment. No functional changes.
2012-05-09 19:21:52 +02:00
Bård Skaflestad
56802231ce
Re-align variable declarations various assemble*() methods.
2012-05-09 19:21:00 +02:00
Bård Skaflestad
97ed64f438
Call malloc() once, at pimpl construction time, rather than in each *_increment().
...
It's slightly wasteful, however. Maybe we can just reuse h->x for the
mult_csr_matrix() output?
2012-05-09 19:15:41 +02:00
Bård Skaflestad
00b1ce27f0
Follow file conventions in mult_csr_matrix().
2012-05-09 19:07:59 +02:00
Bård Skaflestad
323914eaba
Don't expose a (presently) internal function.
2012-05-09 18:58:17 +02:00
Bård Skaflestad
d23c93e661
Merge from upstream.
2012-05-09 18:56:09 +02:00
Bård Skaflestad
8909664bd7
Report first well whose connections are outside grid.
2012-05-09 18:44:08 +02:00
Bård Skaflestad
6a7c6cfeb0
Convert Residual-based solver to conventions of <newwells.h>.
...
Almost a mechanical translation.
2012-05-09 16:26:41 +02:00
Bård Skaflestad
eda46d4fbe
Add a query method to answer whether or not the deck defines any wells.
2012-05-09 16:09:13 +02:00
Kjetil Olsen Lye
5d0148a080
Added correct handling of VREP and REIN keyword. No longer generates a warning, just a friendly hint.
2012-05-09 16:03:21 +02:00
Kjetil Olsen Lye
84eb849ed2
merge.
2012-05-09 15:56:30 +02:00
Kjetil Olsen Lye
ff9fb38596
Used voidage_replacment correctly in applyExplicitReinjectionControls
2012-05-09 15:55:59 +02:00
Kjetil Olsen Lye
bf3273b115
Included voidage_replacment in injection specification.
2012-05-09 15:54:25 +02:00
Kjetil Olsen Lye
f8d92c0535
Added initial support for VREP.
2012-05-09 15:43:43 +02:00
Xavier Raynaud
1892f80af2
merge
2012-05-09 15:15:13 +02:00
Xavier Raynaud
f7e2d88fd9
Added Newton compressible fluid solver.
2012-05-09 15:06:13 +02:00
Kjetil Olsen Lye
8ad72d5d1c
Added explicit number of ControlMode.
2012-05-09 14:26:30 +02:00
Kjetil Olsen Lye
d46d191a81
Introduced a hack to make it possible to test reinjection without supporting surface rate controls.
2012-05-09 13:58:25 +02:00
Kjetil Olsen Lye
12e4125081
Multiplied with reinjection_fraction_target, as is proper.
2012-05-09 13:15:53 +02:00
Kjetil Olsen Lye
3d07b954e2
Made relevant methods in WellCollection and WellsManager to call the reinjection control functions
2012-05-09 13:03:37 +02:00
Kjetil Olsen Lye
622d8ac767
Added helpful comment.
2012-05-09 12:58:29 +02:00
Kjetil Olsen Lye
621c87d8c7
Added simple reinjection to group control (explicit)
2012-05-09 12:57:36 +02:00
Kjetil Olsen Lye
3eeee29edb
Added summation method to find total produced rates in a given group.
2012-05-09 12:35:26 +02:00
Kjetil Olsen Lye
c2ce4d9bce
Corrected some basic logic tests.
2012-05-09 11:29:13 +02:00
Kjetil Olsen Lye
b5d474beca
Added failure checking for solve method.
2012-05-09 11:28:56 +02:00
Bård Skaflestad
ece387d1ae
Remove a variable rendered unused by change-set 5a9bf9f4a8b9.
2012-05-09 11:27:23 +02:00
Bård Skaflestad
0bd3e033b9
Flatten loops and prefer memcpy() to manual copying.
2012-05-09 11:21:47 +02:00
Bård Skaflestad
da51ca4ef0
Correct inaccuracy in WellControls::distr description.
...
The distribution is specified per control, not per well.
2012-05-09 11:11:47 +02:00
Atgeirr Flø Rasmussen
5253ce7fbe
Merged.
2012-05-08 16:00:54 +02:00
Kjetil Olsen Lye
88b8ddebd2
merge.
2012-05-08 12:25:29 +02:00
Kjetil Olsen Lye
8c6ea2895b
Changed some minor bugs in the refactored code in wells_example
2012-05-08 12:23:58 +02:00
Bård Skaflestad
9e5b5be59b
Delete trailing whitespace.
2012-05-08 12:04:59 +02:00
Bård Skaflestad
6b96d48677
Fix a likely indexing error leading to non-unit strides.
2012-05-08 12:03:50 +02:00
Kjetil Olsen Lye
c9d96d81b8
Refactored some computations into seperate methods in wells_example.cpp
2012-05-08 11:04:15 +02:00
Kjetil Olsen Lye
a28311cb7c
Inserted reservoir max rate into the group structure
2012-05-07 14:28:33 +02:00
Atgeirr Flø Rasmussen
962a3b6445
Added shut well support to ifs_tpfa.
...
This was done using the convention that for a well w in W,
W.ctrls[w]->current < 0
means that it should be treated as shut. This allows us to keep the matrix
structure related to wells constant, without needing to remake it when wells
shut or open.
2012-05-04 08:15:06 +02:00
Kjetil Olsen Lye
8702852524
Made reservoir rates have a small error tolerated
2012-05-03 16:04:48 +02:00
Kjetil Olsen Lye
6ee088550f
Properly negate target for group control in WellNode
2012-05-03 15:44:51 +02:00
Kjetil Olsen Lye
66b4122be9
merge
2012-05-03 15:35:59 +02:00
Kjetil Olsen Lye
da92997b7b
Made a maximum number of iterations in wells_test
2012-05-03 15:35:44 +02:00
Atgeirr Flø Rasmussen
1c8e21ae08
Rename parameter init_sat -> init_saturation (docs already used this name).
2012-05-03 13:48:59 +02:00
Atgeirr Flø Rasmussen
0aae87cf16
Rewrote wellsToSrc() to be a little more accepting and correct.
2012-05-03 13:45:19 +02:00
Atgeirr Flø Rasmussen
8b33bd261d
Remove unused variable.
2012-05-03 13:32:30 +02:00
Atgeirr Flø Rasmussen
104372bbdc
Fixed signs of production rate constraints (should be negative).
2012-05-03 13:29:02 +02:00
Atgeirr Flø Rasmussen
361593fa45
Fix bug in use of perforation data, and check that well contstruction calls succeed.
2012-05-03 12:49:37 +02:00
Atgeirr Flø Rasmussen
373a4f2689
Fix recently created bug in append_well_controls().
2012-05-03 12:48:56 +02:00
Kjetil Olsen Lye
18ace3c137
Made REIN a warning rather than a throw, just to get something up and running
2012-05-02 16:59:42 +02:00
Kjetil Olsen Lye
72afe774b0
Fixed applyGroupControls to handle zero guide rates
2012-05-02 16:54:49 +02:00
Kjetil Olsen Lye
8eb9b55759
Fixed small reading bug in well structure
2012-05-02 16:30:48 +02:00
Kjetil Olsen Lye
da85405dfa
Removed calculateGuideRates and made all guide rate dependent code calculate the guide rate dynamically
2012-05-02 15:41:05 +02:00
Kjetil Olsen Lye
fe51b96a7e
Final fixes for new well structure (to make it compile)
2012-05-02 13:02:59 +02:00
Atgeirr Flø Rasmussen
9416042f5a
Major restructuring to improve support for groups, multiple controls etc. Work in progress.
2012-05-02 09:39:05 +02:00
Atgeirr Flø Rasmussen
d7512bdeb6
Add all present controls to wells, not just the active one.
...
Some restructuring to support more proper well handling, esp. group control
and surface rate controls in general.
2012-05-02 09:38:18 +02:00
Atgeirr Flø Rasmussen
432b9d4473
Whitespace and comment changes only.
2012-05-02 09:27:34 +02:00
Atgeirr Flø Rasmussen
3a31bbee30
Changed enums, variable names and defaults.
2012-05-02 09:26:36 +02:00
Atgeirr Flø Rasmussen
c234c0b42a
Follow changes to header file.
2012-05-02 09:25:52 +02:00
Atgeirr Flø Rasmussen
2d7d52bec1
Refined and reordered control enum, added guide rates.
2012-05-02 09:25:19 +02:00
Atgeirr Flø Rasmussen
6e9091bc4d
Updated computeTransportSource() and wellsToSrc() to match changes in Wells data structure.
2012-05-02 09:24:34 +02:00
Atgeirr Flø Rasmussen
88a24ef839
Verify that RESERVOIR_RATE controlled wells have specified total rate.
2012-04-26 15:03:55 +02:00
Atgeirr Flø Rasmussen
6d4f0fe293
Updated pressure solver after changes to well data structure.
2012-04-26 14:49:25 +02:00