Commit Graph

5961 Commits

Author SHA1 Message Date
Kai Bao
c78a59eb1f considering the pressure dependence of the segment volume
segment volume is fixed, while duo to composition and pressure change,
within the fixed segment volume, different amounts of fluids can be
contained.
2019-04-07 14:53:38 +02:00
Kai Bao
972fed602e using a small value drawdown for connection
when crossflow is banned from the well, while the crossflow is happening
for this connection for mutlisegment well.
2019-04-07 14:53:38 +02:00
Kai Bao
04c35c8916 UseMultisegmentWell is defaulted to be true
to make the testing of the multisegment well model easier.
2019-04-07 14:52:18 +02:00
Kai Bao
f8767e09ec cleaning up and fixing the compilation error from rebasing 2019-04-07 14:52:18 +02:00
Kai Bao
9d83affb1b first version of restarting for multisegment well 2019-04-07 14:52:18 +02:00
Kai Bao
0d99686e97 fixing the segment treatment in the init of WellStateFullyImplicitBlackoil 2019-04-07 14:52:18 +02:00
Bård Skaflestad
2932531572
Merge pull request #1782 from GitPaean/upadting_perforation_solution_msw
updating perforation pressure and rates for MSW well
2019-04-05 16:41:43 +02:00
Kai Bao
e2b8edd968 updating perforation pressure and rates for MSW well 2019-04-05 10:38:01 +02:00
Kai Bao
b62dc0b5f2 addressing review comments 2019-04-04 16:22:19 +02:00
Kai Bao
ca69e2334a recovering well restart data for multisegment well
When multisegment wells are involved for RESTART, based on the recovered
segment-related quantities as Opm::data::Segment objects, the segment
phase rates and segment pressure are recovered as part of the
WellStateFullyImplicitBlackoil.
2019-04-04 16:22:19 +02:00
Bård Skaflestad
7523ffe15f Construct Segment-Related Structures in initLegacy()
Forgotten in previous commit.  This restores our ability to run
flow-legacy with the new WellStateFullyImplicitBlackoil::report().

Thanks to Kai Bao for alerting me to the issue.
2019-04-04 16:22:19 +02:00
Bård Skaflestad
55e452c605 Well State FIBO: Report() Segment Results by Seg-Numbers
This commit adds a new data member, seg_number_, that maps a linear
segment index (0 .. #segments - 1) to the appropriate segment number
(segment ID).  This ensures that member function report() is able to
produce segment results in terms of user-assigned segment numbers
rather than linear indices internal to the simulator and its state
variables.  This, in turn, decouples the well state object from the
output (summary/restart) code and makes the restart facility more
self contained.

Rewrite the unit test for WellStateFullyImplicitBlackoil to account
for the new indexing scheme when assigning the synthetic segment
results.

While here, also abide by the file's naming convention for data
members and locals.
2019-04-04 16:22:19 +02:00
Bård Skaflestad
e958ee1139 WellState FIBO: Initialize 'nseg_' in init()
Needed to guarantee that numSegments(wellID) returns sensible values
for wellID = numWells()-1 in the case of no multi-segment wells.
2019-04-04 16:22:19 +02:00
Bård Skaflestad
2418df701f WellState FIBO: Return Segment Vectors from report()
This commit extends class WellStateFullyImplictBlackoil to report
segment-related quantities as Opm::data::Segment objects (included
in Opm::data::WellRates objects).  All wells have at least a top
segment in the context of WellState FIBO, so there is a meaningful
value to report for each well.

We put the extraction of segment-related quantities into a new
helper function

    WellStateFullyImplicitBlackoil::reportSegmentResults()

to avoid cluttering up the body of report() more than absolutely
needed.

The primary use-case for this is assigning appropriate values to
items 8 through 11 of restart vector RSEG.  In turn, this will
enable restoring these quantities from a restart file.
2019-04-04 16:22:19 +02:00
Bård Skaflestad
519e6ad174 Make WellStateFIBO Header Self Contained
In particular, include Schedule.hpp since commit 222241b made the
init() member function depend on Schedule but failed to add the
requisite header.
2019-04-04 16:22:19 +02:00
hnil
3a0db3adff fixed indentation 2019-04-03 09:09:57 +02:00
hnil
30368ca7c5 Merge branch 'master' of https://github.com/OPM/opm-simulators into fix_cpr_oil_gas 2019-04-01 12:57:18 +02:00
hnil
88beff7a9d Fixed pressure equation for case where water is not pressent, often used for co2 simulations 2019-04-01 12:55:06 +02:00
Joakim Hove
66b7d1596a Remove ECHO and NOECHO from list of unsupported keywords 2019-03-29 12:27:11 +01:00
Joakim Hove
798c20a886 Remove EDITNNC from list of unsupported keywords 2019-03-29 12:26:54 +01:00
Joakim Hove
a9f680119a Remove WTEST from list of unsupported keywords 2019-03-29 12:26:35 +01:00
Joakim Hove
415694f206 Remove RPTSCHED from list of unsupported keywords 2019-03-29 12:26:15 +01:00
Tor Harald Sandve
17c249fa46
Merge pull request #1765 from andlaus/minor_cleanups
Minor cleanups
2019-03-26 12:38:50 +01:00
Joakim Hove
e16b19adc7
Merge pull request #1764 from joakim-hove/move-events
Move events
2019-03-21 14:51:52 +01:00
Joakim Hove
27c78eb3dc Extract NEW_WELL event from Schedule 2019-03-21 14:49:49 +01:00
Andreas Lauser
f1d3be27a7 ISTLSolverEbos: fix valgrind complaint that isIORank_ is not initialized
like most of the rest of the code, we now simply assume that rank 0
does all printing.
2019-03-21 12:35:26 +01:00
Joakim Hove
222241b3b3 Extract production update events from Schedule 2019-03-21 11:45:29 +01:00
Atgeirr Flø Rasmussen
f18477ce71
Merge pull request #1757 from atgeirr/improve_cpr_mod
Improve CPR solver
2019-03-21 11:19:10 +01:00
Atgeirr Flø Rasmussen
19b78b78c0 Updated after review comments. 2019-03-20 10:24:44 +01:00
Andreas Lauser
685a193558 make the branch self contained
Concretely this avoids having to patch eWoms by adding a generic
`Opm::transposeDenseMatrix()` template function instead of relying on
the dense matrix class to provide a `transpose()` method.
2019-03-19 15:09:19 +01:00
hnil
41acbcf861 change verbosity level setting for cpr to be more finegrained 2019-03-19 14:38:40 +01:00
hnil
b27e56e386 fixed bug in scaling of rhs for cpr 2019-03-19 14:32:32 +01:00
hnil
31f4c01938 Changes to make CPR able to use general indexing. 2019-03-15 11:27:38 +01:00
Arne Morten Kvarving
bedd88bc77 remove unused variables 2019-03-14 15:21:59 +01:00
Arne Morten Kvarving
d8d8050de9 convert to unix eol
unmark sources as executable
2019-03-14 13:37:05 +01:00
Arne Morten Kvarving
e1db2d2344 simplify: use dotproduct in DRS for vector 2019-03-14 11:52:21 +01:00
Arne Morten Kvarving
f98be9d43b simplify: use matrix-vector product in DRS for matrix 2019-03-14 11:52:21 +01:00
Arne Morten Kvarving
41ff0da2b4 fixed: drs without matrix-add-well-contributions 2019-03-14 11:52:21 +01:00
Arne Morten Kvarving
e05e5e4f0e Fix indenting 2019-03-14 11:52:21 +01:00
Atgeirr Flø Rasmussen
111feead14 Formatting fixes and removing unused code. 2019-03-14 11:22:07 +01:00
Atgeirr Flø Rasmussen
6ee5406a9f Formatting and indentation fixes. 2019-03-14 10:37:46 +01:00
Atgeirr Flø Rasmussen
4eb44b4808 Remove unused code and fix indentation changes. 2019-03-14 10:05:20 +01:00
Franz G. Fuchs
25299b7a0a correct exception handling in wells for parallel runs 2019-03-13 15:19:31 +01:00
hnil
40537f1999 Changes to make cpr work 2019-03-12 13:55:11 +01:00
Joakim Hove
485db348f0 Move well includes to subdirectory Well/ 2019-03-07 15:30:33 +01:00
Kai Bao
3c88cb2f9d correcting the sign of the accumulation term of StandardWell
Following the sign of the production rates.

And also keep the primary variables updated when calculating the
explicit quantities.
2019-03-06 09:48:30 +01:00
Andreas Lauser
c37bc1cf38 flow: hide a few unused eWoms parameters
these parameters where introduced with support for the TUNIING keyword
in `ebos`. since `flow` implements its own time stepping these
parameters are unused and should thus be hidden from view in it.
2019-03-04 13:58:38 +01:00
Andreas Lauser
21f5c1fbd3 ISTLSolverEbos: throw NumericalIssue instead of LinearSolverProblem
the former is caught by `ebos`, while the latter isn't. Alternatively,
this can be fixed by deriving `LinearSolverProblem` from
`NumericalIssue`, if preferred.
2019-03-04 13:58:38 +01:00
Andreas Lauser
0a9d6a0760 include missing header files
this makes the well model and the equil initializer header more autonomous.
2019-03-04 13:58:38 +01:00
Andreas Lauser
f36680bf3a EclProblem: Rename NewtonRawTolerance to NewtonTolerance
this property is not used by `flow` because `flow` implements its own
Newton method, but it not renaming the property prevents `flow` from
building.
2019-03-01 10:48:06 +01:00