Commit Graph

9564 Commits

Author SHA1 Message Date
Kai Bao
49a8c7bfd1 changing the sign of the mass balance equations for ms wells
following the conventions with StandardWell
2019-04-07 14:55:08 +02:00
Kai Bao
23d2097d44 various improvements to the inner iteration of ms wells 2019-04-07 14:54:05 +02:00
Kai Bao
031c19fc78 fixing mistakes due to rebasing. 2019-04-07 14:54:05 +02:00
Kai Bao
e9c0bdba06 using B_avg for the inner iteration for multisegment wells 2019-04-07 14:54:05 +02:00
Kai Bao
1df65913d7 updating the primary variables before calculating accumulation term 2019-04-07 14:54:05 +02:00
Kai Bao
79e51ab724 handling the situation that not all the connections are open
Then Wells struct and well from parser hold different numbers of
connections.

The current approach is a temporary solution. The final approach should
be done through parser side.

Things can be difficult is because that connections can be removed due
to multiple different causes after parsing. How to keep information
always updated is not trivial.
2019-04-07 14:53:38 +02:00
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
Andreas Lauser
4805e9fe05 ebos: run the diagnostics code for relative permeabilities
maybe this needs to be reverted since the code in question can
cause the simulation to abort inadvertently.

As usual, `flow` is unaffected because this functionality is only
called in experimental mode and flow calls it itself.
2019-04-05 16:21:22 +02:00
Andreas Lauser
67a8283000 ebos: call Opm::checkDeck() after parsing
this catches at least some common issues with ECL decks.
2019-04-05 16:21:22 +02:00
Joakim Hove
63f6f34906
Merge pull request #1781 from andlaus/adapt_to_checkDeck_changes
also pass the parseContext and errorGuard to Opm::checkDeck()
2019-04-05 12:07:40 +02:00
Atgeirr Flø Rasmussen
a8d8fb86c3
Merge pull request #1592 from bska/report-segment-res
WellState FIBO: Return Segment Vectors from report()
2019-04-05 10:49:14 +02:00
Kai Bao
e2b8edd968 updating perforation pressure and rates for MSW well 2019-04-05 10:38:01 +02:00
Andreas Lauser
6f1018f11a also pass the parseContext and errorGuard to Opm::checkDeck() 2019-04-04 18:13:36 +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
dce27c6829 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
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
45689f3ade WellState FIBO (test): Add Some Vertical Spacing for Separation
Suggested by: [at]GitPaean
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
Joakim Hove
32feeefae3
Merge pull request #1779 from joakim-hove/use-rft-config
Use RFTConfig() object to query for RFT active wells
2019-04-04 14:05:19 +02:00
Joakim Hove
c9dcfc8be0 Use RFTConfig() object to query for RFT active wells 2019-04-04 07:27:39 +02:00
Tor Harald Sandve
67015480ea
Merge pull request #1778 from hnil/fix_cpr_oil_gas
Fix cpr oil gas
2019-04-03 12:45:23 +02:00
Tor Harald Sandve
ae6edf6a06
Merge pull request #1774 from andlaus/support_THPRESFT
Support THPRESFT
2019-04-03 09:20:53 +02:00
hnil
3a0db3adff fixed indentation 2019-04-03 09:09:57 +02:00
Tor Harald Sandve
c88806a5bc
Merge pull request #1770 from blattms/allow-empty-fipnum-vector
Cater for empty fipnum vectors in output code.
2019-04-02 14:59:34 +02:00
Atgeirr Flø Rasmussen
e8da0e8fd5
Merge pull request #1776 from atgeirr/update-test_equil
Update test_equil.cpp for upstream changes.
2019-04-02 08:20:05 +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
Atgeirr Flø Rasmussen
9f94c2ea9b
Merge pull request #1777 from joakim-hove/update-missing-features
Update missing features
2019-04-01 08:53:54 +02:00
Tor Harald Sandve
2c51bc6219
Merge pull request #1772 from andlaus/ebos_maintainance
ebos: make its core headers self sufficient
2019-03-29 13:49:18 +01: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
Atgeirr Flø Rasmussen
c28d77e087 Update test_equil.cpp for upstream changes. 2019-03-28 15:47:44 +01:00
Andreas Lauser
11439bca80 ebos: some small fixes to EclProblem::checkDeckCompatibility_() 2019-03-28 13:12:29 +01:00
Andreas Lauser
7b967d0498 ebos: implement experimental support for THPRESFT
as usual, `flow` is unaffected.
2019-03-28 13:09:44 +01:00
Tor Harald Sandve
888050613c
Merge pull request #1762 from totto82/refactorBC
Refactor the boundary conditions code
2019-03-27 10:21:58 +01:00
Tor Harald Sandve
2156f15d5f Adapt to new deck specification for the boundary condition 2019-03-27 09:27:03 +01:00
Andreas Lauser
cd681c6445 ebos: make its core headers self sufficient
this is part of the release maintainance. in this context "core
headers" means the ones which do not include the well model headers,
and only those which are concerned with non-exotic functionality,
e.g., the PolyhedralGrid and ALUGrid vanguards are not changed.
2019-03-26 13:17:54 +01:00
Tor Harald Sandve
d1d7d0e0f5
Merge pull request #1769 from andlaus/api_tracking_stub
ebos: add a stub implementation for API tracking
2019-03-26 12:39:32 +01:00