Joakim Hove
ce78326ac1
WellTestState::openAllCompletions -> WellTestState::open_completions
2021-10-07 14:53:06 +02:00
Joakim Hove
0c40771c7a
Merge pull request #3579 from joakim-hove/template-on-content-type
...
WTEST: only count actually closed wells.
2021-10-07 09:27:41 +02:00
Markus Blatt
011fb1034e
Merge pull request #3571 from atgeirr/allow-non-world-comm
...
Replacing use of MPI_COMM_WORLD with a variable communicator.
2021-10-06 15:52:17 +02:00
Joakim Hove
4816762b66
Well testing: only count actually closed wells. Change in opm-common
2021-10-06 15:32:17 +02:00
Joakim Hove
eb2ca4798c
Templatize over content type instead of full argument type
2021-10-06 12:11:44 +02:00
Atgeirr Flø Rasmussen
09a5320e21
Silence unused variable warning.
2021-10-06 08:52:06 +02:00
Joakim Hove
f27a82ebc3
Use plain WellTestState::hasWellClosed() without reason
2021-10-05 16:52:16 +02:00
Atgeirr Flø Rasmussen
d1391de639
Minor whitespace fixes.
2021-10-05 13:59:16 +02:00
Elyes Ahmed
65f0e4e7f0
Replacing calling Communication with a header
2021-10-05 13:07:52 +02:00
Elyes Ahmed
0202b00d59
clean up after review
2021-10-05 13:07:52 +02:00
Elyes Ahmed
f53c597f90
Replacing use of MPI_COMM_WORLD with a variable communicator.
2021-10-05 13:07:52 +02:00
Tong Dong Qiu
68adf85f52
Create and use scale kernel for relaxation of ILU
2021-10-05 10:49:21 +02:00
Tor Harald Sandve
afdfe55bbc
restrict maximum number of times a well can switch to the same control
2021-10-04 10:12:39 +02:00
Joakim Hove
122678e5ea
Remove unused function argument
2021-10-01 08:34:58 +02:00
Joakim Hove
2f94f0436b
Remove irrelevant private functions
2021-10-01 08:34:27 +02:00
Joakim Hove
38d327b447
Add Some documentation to WellState
2021-10-01 08:26:41 +02:00
Joakim Hove
09920c8f54
Merge pull request #3562 from OPMUSER/master
...
Keyword Validation Fixes: GCONINJE, WTEST and AQUCT
2021-09-30 17:15:19 +02:00
Joakim Hove
2168b8c296
Merge pull request #3563 from totto82/openComp
...
open completions after well event
2021-09-30 16:43:39 +02:00
Tor Harald Sandve
1e547ff714
Merge pull request #3564 from totto82/moveCom
...
communicate before usage not after
2021-09-30 14:34:15 +02:00
Tor Harald Sandve
623ff2c3ce
communicate before usage not after
2021-09-30 11:54:56 +02:00
Tor Harald Sandve
dc8c9021b5
open completions after well event
2021-09-30 11:40:34 +02:00
Joakim Hove
6e37b9ae05
Merge pull request #3559 from joakim-hove/wtest-config-empty
...
Use WellTestConfig.empty() instead of size()
2021-09-30 10:31:17 +02:00
OPMUSER
be7395a137
Keyword Validation Fixes: GCONINJE, WTEST and AQUCT
...
Keyword Validation Fixes: GCONINJE, WTEST and AQUCT. Just minor edsits
2021-09-30 16:14:40 +08:00
Tor Harald Sandve
cb9254636b
rename and cleanup
2021-09-30 09:01:07 +02:00
Tor Harald Sandve
bc8da79779
stop checking operability in the beginning of an timestep
2021-09-30 08:47:47 +02:00
Tor Harald Sandve
c9e93e6155
stop updating operability during iterations
2021-09-30 08:47:47 +02:00
Bård Skaflestad
e80408d1ed
Merge pull request #3560 from totto82/fixTime
...
fix date for large time steps also for the interface functions
2021-09-29 22:19:46 +02:00
Tor Harald Sandve
06878a8ca8
fix date for large time steps
2021-09-29 15:43:20 +02:00
Joakim Hove
d0c9f70839
Merge pull request #3556 from joakim-hove/flow-main-catch
...
Call MPI_Abort() in main catch all clause
2021-09-29 15:11:46 +02:00
Joakim Hove
21c2dd0c1d
Use WellTestConfig.empty() instead of size()
2021-09-29 15:05:23 +02:00
Joakim Hove
fc139e844e
Use const reference
2021-09-29 11:07:21 +02:00
Joakim Hove
a527dc7fdd
Remove stale TODO
2021-09-28 23:45:40 +02:00
Joakim Hove
3aaaa23ed1
Implement connection rate summation in SingleWellState
2021-09-28 23:45:40 +02:00
Joakim Hove
86a0662381
Use std::reference_wrapper<> for parallel well info
2021-09-28 21:42:57 +02:00
Joakim Hove
cf340644b2
Add ParallelWellInfo member to SingleWellState
2021-09-28 21:42:57 +02:00
Joakim Hove
5d3e56baa3
Call MPI_Abort() in main catch all clause
2021-09-28 20:53:38 +02:00
Joakim Hove
56afec81b4
Merge pull request #3548 from joakim-hove/broadcast-udq+action
...
Broadcast UDQState and Action state after restart loading
2021-09-28 19:31:53 +02:00
Bård Skaflestad
0b8778e432
Merge pull request #3547 from totto82/makeWTESTrobust
...
Make wtest more robust
2021-09-28 12:06:10 +02:00
Atgeirr Flø Rasmussen
e5c85e88ce
Merge pull request #3552 from fgfuchs/cuda_improvements
...
cusparsesolver wrong size and type in cols,rows fixed
2021-09-28 11:41:17 +02:00
Tor Harald Sandve
c790b14753
Make WTEST more robust
...
Only open wells that are solvable, operable and economical
2021-09-28 10:07:12 +02:00
Joakim Hove
8943e90e17
Broadcast UDQState and Action state after restart loading
2021-09-28 09:54:15 +02:00
Joakim Hove
ef12186d78
Remove unused query/switch code for GLO - it is always on
2021-09-27 14:11:54 +02:00
Franz Georg Fuchs
a0ccd1e754
cusparsesolver wrong size and type in cols,rows fixed
2021-09-27 13:53:26 +02:00
Markus Blatt
88ae5b5963
Merge pull request #3545 from blattms/fix-parallel-try-catch
...
[bugfix] Fix deadlocks because of parallel try-catch for some CO2 storage cases
2021-09-27 13:02:34 +02:00
Bård Skaflestad
b63a4ea3a3
Merge pull request #3546 from totto82/fixWSOL
...
updateWsolvent only after well container is created
2021-09-24 13:41:47 +02:00
Tor Harald Sandve
9381b0857b
updateWsolvent only after well container is created
2021-09-24 12:09:02 +02:00
Markus Blatt
5be027348a
Fix buggy interplay of parallel exceptions and communication.
...
There cannot happen any collective blocking communication within a
parallel try-catch clause if exceptions might be thrown before the
communication. The communication has to either be reached by all
processes or no processes.
2021-09-24 10:17:13 +02:00
Markus Blatt
f64230e462
Remove parallel try-catch from prepareTimeStep because of nestedness.
...
Although not declared as such, prepareTimeStep seems to be an internal
function (despite usage in a test) and hence error control can be done
in code calling it.
There was the following problem with the try-catch approach taken:
The calling site `BlackoilWellModel::assemble` looked like this:
```
OPM_BEGIN_PARALLEL_TRY_CATCH();
{
if (iterationIdx == 0) {
calculateExplicitQuantities(local_deferredLogger); // no parallel try-catch
prepareTimeStep(local_deferredLogger); //includes parallel try-catch
}
updateWellControls(local_deferredLogger, /* check group controls */ true);
// Set the well primary variables based on the value of well solutions
initPrimaryVariablesEvaluation();
maybeDoGasLiftOptimize(local_deferredLogger);
assembleWellEq(dt, local_deferredLogger);
}
OPM_END_PARALLEL_TRY_CATCH_LOG(local_deferredLogger, "assemble() failed: ",
terminal_output_);
```
calculateExplicitQuantities had no parallel-try-catch clause inside,
but prepareTimeStep had one.
Unfortunately, calculateExplicitQuantities might throw (on some
processors). In that case non-throwing processors will try to trigger a
collective communication (to check for errors) in
prepareTimeStep. While the one throwing will move to the
OPM_END_PARALLEL_TRY_CATCH_LOG macro at the end and also trigger a different
collective communication. Booom, we have a deadlock.
With this patch there is no (nested parallel)-try-catch clause in the
functions called. (And if an exception is thrown in prepareTimeStep, it
will be logged as being an assemble failure).
The other option would have been to add parallel-try-catch clauses
to all functions called. That would have created a lot more
synchronization points limiting scalability even further.
2021-09-24 10:15:28 +02:00
Markus Blatt
3cda8a2fdb
Added missing parallel try-catch clause for updatePrimaryIntensities.
...
As Problem::updatePrimaryIntensities might throw we need to do this
to prevent dealocks in parallel run in case problem occurs.
2021-09-24 09:25:44 +02:00
Markus Blatt
a927f8e23b
Unify parallel try-catch clauses with Macros and catch everything.
...
Not a big fan of Macros but here at least they seem ot be the only
option. The problem is that the catch clauses must all catch the same
exceptions that have a entry in ExceptionType, because they might be
nested. In addition we did not have a catch all clause, which is added
now and is needed in case a called method throws an unexpected exception.
2021-09-24 09:25:44 +02:00
Bård Skaflestad
1dc3832966
Merge pull request #3540 from hakonhagland/python_set_sched
...
Initialize blackoil simulator from Opm::Schedule shared with Python.
2021-09-23 13:32:31 +02:00
Håkon Hægland
7a394df43f
Include <stdexcept> header to use std::logic_error()
...
And some minor stylistic changes.
2021-09-23 13:13:23 +02:00
Håkon Hægland
4c5245196b
Changed calling convention for shared pointers.
...
Expect non-reference type shared pointers arguments instead of references
to shared pointer. This will make it clear to the caller that the called
function is making a copy of the pointer for its own use and not trying
to modify the original pointer of the caller.
2021-09-22 23:49:13 +02:00
Joakim Hove
f581208fa0
Load Action state from restart file
2021-09-22 12:43:10 +02:00
Joakim Hove
a11e3222bd
Merge pull request #3534 from joakim-hove/use-single-well-state
...
Use single well state
2021-09-22 12:35:15 +02:00
Tor Harald Sandve
b294ea5d8b
Merge pull request #3490 from totto82/targUpdate
...
Update well rates from target during well/group control update
2021-09-22 12:26:29 +02:00
Tor Harald Sandve
a18e3f4136
Merge pull request #3541 from totto82/updateGPmaint
...
update gpmain before not after timestep
2021-09-22 10:42:11 +02:00
Håkon Hægland
5ad65c70ee
Initialize blackoil simulator from schedule shared with Python.
...
Adds a new constructor to Main.hpp that takes shared pointers to Deck,
EclipseState, Schedule, and SummaryConfig. This makes it possible to
share these variables with Python without worrying about lifetime issues
of the underlying C++ objects. For example, a Python script can first
create an opm.io.schedule.Schedule object which is modified from Python.
Then, assume the same Python script creates an
opm.simulators.BlackOilSimulator which is initialized with the same
schedule object. Since the underlying C++ object is a shared pointer,
the Schedule object in Python may go out of scope (get deleted by Python)
without having the C++ schedule object being deleted. And the Python
BlackOilSimulator may continue to be used after the Python Schedule object
has been deleted since it still has a valid C++ schedule object.
2021-09-21 15:52:59 +02:00
Tor Harald Sandve
2f86231b8d
Merge pull request #3531 from totto82/aquctAndCo2Store
...
support aquct and co2store
2021-09-21 14:17:58 +02:00
Tor Harald Sandve
eb4997a011
update gpmain before not after timestep
2021-09-21 14:03:35 +02:00
Joakim Hove
b2ac3eaa59
Merge pull request #3535 from totto82/storePrevWellTestState
...
add well_test_state to WGState
2021-09-21 11:44:58 +02:00
Joakim Hove
30bd1d6314
Merge pull request #3537 from totto82/openWellWtest
...
update status after WTEST
2021-09-21 11:42:22 +02:00
Tor Harald Sandve
50cf80910b
support aquct and co2store
2021-09-21 11:08:10 +02:00
Tor Harald Sandve
cebe557b15
Merge pull request #3536 from totto82/scalarMobIPR
...
use getMobilityScalar in updateIPR
2021-09-21 11:05:50 +02:00
Tor Harald Sandve
a650b529d1
commit WGstate after shut well from outside
2021-09-21 11:05:03 +02:00
Tor Harald Sandve
30592c7593
update status after WTEST
2021-09-21 10:32:56 +02:00
Tor Harald Sandve
21942f0cc2
use getMobilityScalar in updateIPR
2021-09-21 09:50:20 +02:00
Tor Harald Sandve
6fa9c05985
add well_test_state to WGState to be able to access last valid wellTestState
2021-09-21 09:30:02 +02:00
Tor Harald Sandve
c6660f0aa2
only update when control is changed
2021-09-21 08:53:25 +02:00
Tor Harald Sandve
9db6b2b946
handle unoperable wells
...
set potentials and rates to zero
2021-09-21 08:53:25 +02:00
Tor Harald Sandve
dc4436961f
update well rates from target
2021-09-21 08:53:25 +02:00
Joakim Hove
0472bc3bf2
Remove unused argument
2021-09-20 11:45:24 +02:00
Joakim Hove
5531120411
Use SingleWellState argument instead of full WellState
2021-09-20 11:45:24 +02:00
Joakim Hove
357540bfca
Create Action::State external to the vanguard
2021-09-19 10:17:58 +02:00
Bård Skaflestad
a8078ed695
Merge pull request #3528 from blattms/parallel-throw-untabulated
...
bugfix: Detect exception during beginReportStep in parallel & abort
2021-09-15 22:41:04 +02:00
Bård Skaflestad
90520f248f
Merge pull request #3527 from totto82/fixNupcol
...
pass updated well rates totarget reduction not the nupcol ones
2021-09-15 21:44:14 +02:00
Markus Blatt
b056557f57
bugfix: Detect exception during beginReportStep in parallel a. abort
...
Previously, exceptions happening at this stage have deadlocked
flow. E.g. UniformTabulated2DFunction in opm-material throws
a NumericalIssue if the values passed are outside the tabulated
reason. This function is e.g. called in 2-phase CO2-storage cases
during BlackoilModel::initializeWellState
BTW: This is only the first step as it is not very user friendly that
a simulation aborts at this (late) stage.
2021-09-15 20:50:49 +02:00
Tor Harald Sandve
bd066d9300
Merge pull request #3524 from totto82/speedUpPot
...
Do not iterate inside computeBhpFromThp in MSW
2021-09-15 12:44:52 +02:00
Tor Harald Sandve
dd454063d4
pass updated well rates totarget reduction not the nupcol ones + cleanup
2021-09-15 09:47:31 +02:00
Tor Harald Sandve
8e9a43c29b
Merge pull request #3512 from totto82/relaxStw
...
add option for relaxed convergence for stw
2021-09-15 07:56:12 +02:00
Bård Skaflestad
1dc9cf755e
Merge pull request #3492 from blattms/dune-2.8
...
Fixes and removes deprecation warnings for Dune 2.8
2021-09-14 21:11:25 +02:00
Tor Harald Sandve
81d9a8c178
add option for relaxed convergence for stw
2021-09-14 14:32:14 +02:00
Tor Harald Sandve
49dfe1006f
cleanup
2021-09-13 15:11:38 +02:00
Tor Harald Sandve
43a858ef25
rename computeBhpFromThpPotential to computeBhpFromThpIterations in std wells
2021-09-13 14:07:21 +02:00
Tor Harald Sandve
c8a59946e3
avoid iter in computeBhpFromThp
2021-09-13 14:01:56 +02:00
Tor Harald Sandve
a799c6fc8c
Merge pull request #3522 from totto82/scalarPerfRate
...
make scalar version of computePerfRate for MSW
2021-09-13 13:39:47 +02:00
Markus Blatt
c84b55c452
Fixes ILU for Dune 2.8
...
We got compile errors like:
/home/build/opm-simulators/opm/simulators/linalg/FlexibleSolver1.cpp:24:1: required from here
/usr/include/dune/istl/ilu.hh:140:29: error: 'double' is not a class, struct, or union type
without this patch.
Hence we use the new internal ILU functions if available.
2021-09-13 12:25:49 +02:00
Tor Harald Sandve
bc1bc90504
Merge pull request #3520 from totto82/fixAssertGaslift
...
oil target may be limited by LRAT as well
2021-09-13 11:32:43 +02:00
Tor Harald Sandve
09cf878649
Merge pull request #3521 from totto82/avoidAvg
...
only compute fip avg pressure when gpmaint
2021-09-13 11:32:24 +02:00
Tor Harald Sandve
972a832d65
make scalar version of computePerfRate
2021-09-13 09:36:16 +02:00
Joakim Hove
53755bcfa6
Merge pull request #3515 from joakim-hove/add-parser-argument
...
Add Parser argument to restart loader
2021-09-10 16:27:56 +02:00
Tor Harald Sandve
f203c2106e
only compute fip avg pressure when gpmaint
2021-09-10 15:49:02 +02:00
Tor Harald Sandve
a550400fa0
Continue on solver convergence failure
2021-09-10 13:49:20 +02:00
Tor Harald Sandve
305de4016e
oil target may be limited by LRAT as well
2021-09-10 13:19:07 +02:00
Bård Skaflestad
e866f1f705
Merge pull request #3516 from akva2/drop_using_statements
...
Drop using statements
2021-09-09 16:00:24 +02:00
Joakim Hove
eeab23ebab
Add Parser argument to restart loader
2021-09-09 15:08:14 +02:00
Atgeirr Flø Rasmussen
d1bfd48b6e
Add missing include for unordered_map.
2021-09-09 12:17:54 +02:00
Arne Morten Kvarving
ce4028b2f0
drop using statement for getAllowCrossFlow
...
rather qualify member function calls with this->
2021-09-09 11:53:48 +02:00
Arne Morten Kvarving
7609f7e1f7
drop using statement for ebosCompIdxToFlowCompIdx
...
rather qualify member function calls with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
36cec80269
drop using statement for flowPhaseToEbosPhaseIdx
...
rather qualify member function calls with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
d2fb4f3266
drop using statement for flowPhaseToEbosCompIdx
...
rather qualify member function calls with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
fc882fbc29
drop using statement for name
...
rather qualify member function calls with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
ddf621acdd
drop using statement for phaseUsage
...
rather qualify member function calls with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
824232b7c9
drop using statement for ipr_b_
...
rather qualify member variable with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
115cfe26df
drop using statement for ipr_a_
...
rather qualify member variable with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
14273b8c2d
drop using statement for connectionRates_
...
rather qualify member variable with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
15b4ea672f
drop using statement for num_components_
...
rather qualify member variable with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
9970fb4ab4
drop using statement for perf_depth_
...
rather qualify member variable with this->
2021-09-09 11:53:35 +02:00
Arne Morten Kvarving
78a4aa3ede
drop using statement for gravity_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
5c3e13abd5
drop using statement for well_efficiency_factor_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
4a0aa788ee
drop using statement for saturation_table_number_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
b34808895a
drop using statement for well_index_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
bfb7d2a466
drop using statement for param_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
6f4f41f080
drop using statement for well_cells_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
d10fa061c3
drop using statement for number_of_phases_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
72b14cf07e
drop using statement for number_of_perforations_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
aa389ff4f8
drop using statement for ref_depth_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
0f6e07676e
drop using statement for well_ecl_
...
rather qualify member variable with this->
2021-09-09 11:53:34 +02:00
Arne Morten Kvarving
af745f26ef
drop unused using statements
2021-09-09 11:53:33 +02:00
Tor Harald Sandve
ea392b58ce
Merge pull request #3514 from totto82/fixEmptyRegion
...
Handle empty region in average calculator
2021-09-09 09:06:00 +02:00
Tor Harald Sandve
a1e70711a6
Handle empty region in average calculator
2021-09-09 08:17:45 +02:00
Bård Skaflestad
42f86ce2c4
Merge pull request #3511 from akva2/drop_using_statements
...
Drop using statements
2021-09-08 20:59:09 +02:00
Tor Harald Sandve
3b7cf9a565
Merge pull request #3506 from totto82/relaxWell
...
relax well convergence for the last newton iterations
2021-09-08 10:46:14 +02:00
Tor Harald Sandve
f3513a31eb
add option for relaxed well convergence for the last netwon iterations
2021-09-08 09:58:14 +02:00
Tor Harald Sandve
3b5a040197
Merge pull request #3498 from totto82/gpmaint
...
Support for gpmaint
2021-09-07 12:38:48 +02:00
Arne Morten Kvarving
ae212ff883
drop using statement for ipr_b_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
870cb04e68
drop using statement for ipr_a_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
ad39dbdaf0
drop using statement for bore_diameters_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
001d69c17b
drop using statement for perf_length_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
475bea085c
drop using statement for perf_rep_radius_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
2cc38ed396
drop using statement for connectionRates_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
9b92837673
drop using statement for num_components_
...
rather qualify member variable with this->
2021-09-07 11:26:33 +02:00
Arne Morten Kvarving
1d15c3064a
drop using statement for index_of_well_
...
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
10b756d08c
drop using statement for well_index_
...
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
aaf216a29a
drop using statement for saturation_table_number_
...
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
55b52c3bd4
drop using statement for number_of_phases_
...
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
79801bb63a
drop using statement for number_of_perforations_
...
rather qualify member variable with this->
2021-09-07 11:25:09 +02:00
Arne Morten Kvarving
66e938b13e
drop using statement for well_cells_
...
rather qualify member variable with this->
2021-09-07 11:24:51 +02:00
Arne Morten Kvarving
97cbbe910a
drop using statement for perf_depth_
...
rather qualify member variable with this->
2021-09-07 11:24:51 +02:00
Arne Morten Kvarving
68786651f5
drop using statement for well_efficiency_factor_
...
rather qualify member variable with this->
2021-09-07 11:24:51 +02:00
Arne Morten Kvarving
73be71bff5
drop using statement for param_
...
rather qualify member variable with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
79d8cf90fd
drop using statement for well_ecl_
...
rather qualify member variable with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
874a7a3830
drop using statement for getALQ
...
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
45de63f0f5
drop using statement for mostStrictBhpFromBhpLimits
...
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
83671b3448
drop using statement for wfoam
...
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
6cfd259f2f
drop using statement for wpolymer
...
rather qualify member function calls with this->
2021-09-07 11:24:06 +02:00
Arne Morten Kvarving
fd2185d3f9
drop using statement for wsolvent
...
rather qualify member function calls with this->
2021-09-07 11:23:25 +02:00
Arne Morten Kvarving
2c0743c888
drop using statement for wsalt
...
rather qualify member function calls with this->
2021-09-07 11:23:25 +02:00
Arne Morten Kvarving
dae0e73327
drop using statement for ebosCompIdxToFlowCompIdx
...
rather qualify member function calls with this->
2021-09-07 11:23:25 +02:00
Arne Morten Kvarving
9ebb315002
drop using statement for flowPhaseToEbosPhaseIdx
...
rather qualify member function calls with this->
2021-09-07 11:23:24 +02:00
Arne Morten Kvarving
35cc1b9a2a
drop using statement for flowPhaseToEbosCompIdx
...
rather qualify member function calls with this->
2021-09-07 11:23:24 +02:00
Arne Morten Kvarving
48e282bd65
drop using statement for getAllowCrossFlow
...
rather qualify member function calls with this->
2021-09-07 11:23:24 +02:00
Markus Blatt
0aa60a6f7c
Merge pull request #3508 from akva2/drop_aliases
...
drop aliases for Indices entries
2021-09-07 11:22:26 +02:00
Tor Harald Sandve
adda160098
clean-up
2021-09-07 09:47:41 +02:00
Tor Harald Sandve
f497fa0fd7
add support for region = 0 i.e. field
2021-09-07 08:53:09 +02:00
Tor Harald Sandve
f9832d8830
split RateConverter
2021-09-07 08:53:09 +02:00
Tor Harald Sandve
9d2f26f7e8
Add support for gpmaint
2021-09-07 08:52:52 +02:00
Arne Morten Kvarving
a9b97d4286
Merge pull request #3507 from joakim-hove/add-runspec
...
Add Runspec argument to restart loader
2021-09-06 17:18:46 +02:00
Arne Morten Kvarving
86a3a1bac7
drop unused using statements
2021-09-06 15:48:41 +02:00
Arne Morten Kvarving
2b1ac22c99
drop aliases for Indices entries
...
using Indices directly more clearly shows where the data comes
from without having to hop through hoops to do so.
2021-09-06 12:49:01 +02:00
Joakim Hove
3e66fc9555
Add Runspec argument to restart loader
2021-09-04 19:35:53 +02:00
Joakim Hove
2b3f3bf630
Use Group instance to check for available controls
2021-09-02 22:23:21 +02:00
Arne Morten Kvarving
935ba190c9
Merge pull request #3503 from blattms/fix-seg-build
...
[bugfix] Fix sequential run after #979
2021-09-02 14:21:26 +02:00
Markus Blatt
598e9fa102
[bugfix] Fix sequential run after #979
...
Definition of the communicator was moved inside a
`#if HAVE_MPI` there. This commit queries the
communicator again below to fix this.
2021-09-02 13:12:23 +02:00
Bård Skaflestad
a8e8739feb
Merge pull request #3499 from blattms/fix-segfault-unknown-keyword-parallel
...
[bugfix] Prevent segmentation fault for unkown keywords in parallel.
2021-09-02 11:31:10 +02:00
Markus Blatt
edd6c6fe85
[bugfix] Prevent segmentation fault for unkown keywords in parallel.
...
If there are unknown keywords and the parser throws an exception
then we nevertheless broadcasted the eclipseState and schedule.
Unfortunately, these might be null pointers in this case and
the serializer will run into a segmentation fault (e.g. when
serializing the non-existent TableManager)
Broadcasting is now only done if parsing was successful.
2021-09-02 11:14:46 +02:00
Joakim Hove
bb23993556
Add GPMaint::State member to GroupState
2021-09-01 21:36:13 +02:00
Bård Skaflestad
fcdb4c33ea
Merge pull request #3496 from goncalvesmachadoc/radial
...
add radial case to regression test
2021-09-01 12:14:22 +02:00
Cintia Goncalves Machado
b675d86aa8
add radial to regression test
2021-09-01 00:13:02 +02:00
Joakim Hove
7bb3dba310
Special case wells with no open connections in ParallelWellInfo
2021-08-31 17:31:45 +02:00
Tor Harald Sandve
7c8a39fdb6
fix after rebase
2021-08-26 10:32:58 +02:00
Tor Harald Sandve
514c2a67a9
always compute potentials
2021-08-26 10:29:25 +02:00
Tor Harald Sandve
7e3cca1316
iterate to get more accurate potentials for stw wells
2021-08-26 10:29:25 +02:00
Tor Harald Sandve
c4c0173d2b
Merge pull request #3486 from totto82/handleTrivialGR
...
always return fraction 1.0 if only one well is under group control
2021-08-26 10:09:55 +02:00
Tor Harald Sandve
002256a045
return fraction 1.0 if only one well under group control even in cases where the guide rate is zero
2021-08-26 08:27:06 +02:00
Joakim Hove
1a02ac7bd5
Merge pull request #3487 from joakim-hove/single-well-state
...
Single well state
2021-08-25 14:27:41 +02:00
Arne Morten Kvarving
fc3e4ab5bc
avoid unused variable warning
2021-08-25 08:28:57 +02:00
Joakim Hove
060eac4999
Add basic functionality for validating special case keywords
2021-08-24 13:50:40 +02:00
Joakim Hove
94d12e1230
Remove unused variable
2021-08-24 13:25:02 +02:00
Joakim Hove
5a721b8cd2
Remove WellMap from WellState
2021-08-24 13:25:02 +02:00
Joakim Hove
8f9e7d8e96
Add method PerfData::empty()
2021-08-24 12:46:24 +02:00
Joakim Hove
579aba8d08
Include perforation data in SingleWellState
2021-08-24 12:46:24 +02:00
Joakim Hove
46f45e3999
Add PerfData member to SingleWellState
2021-08-24 12:46:24 +02:00
Joakim Hove
8b652c821b
Use SingleWellState for reservoir rates
2021-08-24 12:46:24 +02:00
Joakim Hove
755de65eb4
Use SingleWellState to manage well surface rates
2021-08-24 12:46:24 +02:00
Joakim Hove
8937c9cba9
Refactor sumWellRates to accept bool argument
2021-08-24 12:46:24 +02:00
Bård Skaflestad
725800cec7
Merge pull request #3488 from totto82/fixOnePhase
...
guards for one-phase flow
2021-08-24 12:20:52 +02:00
Tor Harald Sandve
0b1a909ee2
guards for one-phase flow
2021-08-24 12:06:03 +02:00
Tor Harald Sandve
8e23a2b88d
Merge pull request #3476 from totto82/changeDefaultInner
...
Change default MaxNewtonIterationsWithInnerWellIterations to 8
2021-08-24 10:29:03 +02:00
Joakim Hove
77a9fd352b
Add SegmentState member to SingleWellState
2021-08-23 13:17:24 +02:00
Joakim Hove
67bd2fd333
Add productivity_index to SingleWellState
2021-08-23 12:05:26 +02:00
Joakim Hove
2f504536f4
Add well potentials to SingleWellState
2021-08-23 12:05:26 +02:00
Joakim Hove
e84eaa3179
Add dissolved_gas_rate and vaporized_oil_rate to SingleWellState
2021-08-23 12:05:26 +02:00
Joakim Hove
baeeb34508
Merge two perforation data members in WellState
2021-08-23 12:05:26 +02:00
Tor Harald Sandve
97d82cb97a
Merge pull request #3481 from totto82/fixTracer
...
fix case where wells are shut behind our back
2021-08-20 09:00:17 +02:00
Bård Skaflestad
ec264159b1
Load Analytical Aquifers from Restart File
...
This commit activates the restart support for analytical aquifers.
Analytic aquifer keywords do not exist in the input file for
restarted runs since the 'SOLUTION' section is empty apart from from
the 'RESTART' specification.
We use the 'RestartIO::Aquifer' class to load the information from
the restart file and then assign this information to the
AquiferConfig object hosted by the EclipseState. Loading Schedule
information from the restart file is still contingent on the
'--sched-restart=false' command line setting.
2021-08-19 21:07:05 +02:00
Bård Skaflestad
bbb0c7f263
Add Restart Support for Numerical Aquifers
...
We assign cumulative production only on the process that connects to
the reservoir model. As a tiny optimisation, we return 0.0 early
as the aquifer flux on processes that do not connect to the
reservoir.
2021-08-19 21:07:05 +02:00
Bård Skaflestad
a0af111bd8
Reduce Restarted Cumulative Volume if Aquifer Split
...
If, in a restarted run, a single analytical aquifer object happens
to connect to the reservoir model from multiple separate MPI
processes we must not attribute the full historic cumulative water
production from the aquifer to each process.
This commit makes a rough estimate based on the connection areas of
how much of the total cumulative production is attributable to each
process and reduces the restart value using that fraction. This is,
at best, a hack but it is currently the best we can do with the
information available in the restart files. Complete fidelity will
entail tracking cumulative production at the connection level.
2021-08-19 21:07:05 +02:00
Bård Skaflestad
913033b78f
Add Restart Support to Carter-Tracy Analytical Aquifer
2021-08-19 21:07:05 +02:00
Bård Skaflestad
fde505562d
Fetkovich: Load Water Density From Restart Source
...
Needed to get proper gravity contributions in restarted runs.
2021-08-19 21:07:05 +02:00
Tor Harald Sandve
295f41ba2b
Merge pull request #3464 from totto82/fixGEFF
...
Fixes related to GEFAC
2021-08-19 19:06:55 +02:00
Tor Harald Sandve
31ac5378cf
fix case where wells are shut behind our back
2021-08-19 13:08:33 +02:00
Bård Skaflestad
bee8ee1c00
Merge pull request #3461 from GitPaean/RateConverter_singlewater_phase
...
consindering the situation of single water phase for RateConverter
Closes #3463 .
2021-08-19 10:52:01 +02:00
Tor Harald Sandve
bc70fd5540
This basically reverts changes applied in PR 3095.
...
With this gefac is only applied with accumulating rates from the level below
2021-08-19 08:16:25 +02:00
Tor Harald Sandve
0f58343c48
Change default MaxNewtonIterationsWithInnerWellIterations to 8
2021-08-18 08:41:37 +02:00
Bård Skaflestad
517db198f8
Report Guiderate Values in Strict SI Units
...
The output layer expects its input values to be strictly SI, but we
know that the GuideRate container's values are in output units.
2021-08-17 16:07:45 +02:00
Bård Skaflestad
6da47344a3
Record New Supported Keywords
...
We recently added support for
* RPTONLY
* RPTONLYO
* SUMTHIN
2021-08-17 10:29:36 +02:00
Joakim Hove
581f571c9d
Use SingleWellState for production and injection control
2021-08-15 09:07:39 +02:00
Joakim Hove
c381459804
Add Events member to SingleWellState
2021-08-15 09:03:14 +02:00
Joakim Hove
379e938ee1
Add status to SingleWellState
2021-08-15 09:03:14 +02:00
Joakim Hove
75eb65efb7
Use WellState::wells_ to infer well name
2021-08-15 09:01:21 +02:00
Joakim Hove
d5ab308fbd
Add temperature to SingleWellState
2021-08-15 09:01:21 +02:00
Joakim Hove
1dd9b91ad3
Add member "bool producer" to SingleWellState
2021-08-15 09:01:21 +02:00
Joakim Hove
a54daf75e8
Add trivial class SingleWellState with bhp and thp
2021-08-15 09:01:21 +02:00
Arne Morten Kvarving
1ef981f35c
use RAII for MPI initialization
2021-08-12 13:20:59 +02:00
Arne Morten Kvarving
d99f642dff
add collective communication to generic vanguard
2021-08-12 12:08:43 +02:00
Tor Harald Sandve
ac4ee51a5f
Merge pull request #3465 from totto82/updateWTS
...
Make sure potentials are computed in some corner cases
2021-08-10 14:15:22 +02:00
Tor Harald Sandve
a8fa2d74ef
Merge pull request #3420 from totto82/removeDerivate
...
remove derivatives from well rate computations
2021-08-09 15:48:38 +02:00
Tor Harald Sandve
5cb81d36c9
re-compute potentials for pressure controlled wells with trivial rates
2021-08-09 13:41:50 +02:00
Tor Harald Sandve
cf61417b6d
move update well test state to after potentials are calculated
2021-08-09 13:21:10 +02:00
Joakim Hove
2ac65d97d2
Merge pull request #3457 from akva2/janitoring
...
mark variables [[maybe_unused]]
2021-08-07 16:36:03 +02:00
Kai Bao
c85bc24f54
consindering the situation of single water phase for RateConverter
2021-08-05 00:13:13 +02:00
Joakim Hove
f01cf74591
Merge two perforation data members in WellState
2021-08-04 16:48:18 +02:00
Tor Harald Sandve
153cd678c6
Add a derivative free version of the well rate calculations
2021-08-04 11:32:50 +02:00
Arne Morten Kvarving
08e950686f
use .empty() instead of .size() comparisons
2021-08-04 09:19:03 +02:00
Arne Morten Kvarving
8d40860b0b
mark variables [[maybe_unused]]
2021-08-04 08:44:03 +02:00
Joakim Hove
1cbc096d20
Merge pull request #3450 from joakim-hove/small
...
Small
2021-08-03 18:08:33 +02:00
Joakim Hove
d5f2b02716
Check production and injection constraints separately
2021-08-03 14:39:39 +02:00
Joakim Hove
6542a62cc0
Merge pull request #3452 from joakim-hove/constraint-bug
...
BUG? Make sure WellState injection control is updated
2021-08-03 14:38:20 +02:00
Joakim Hove
ea4cf8d28f
Merge pull request #3428 from akva2/remove_altidx
...
remove ebos_altidx
2021-08-03 14:10:00 +02:00
Joakim Hove
c70f63b99b
Make sure WellState injection control is updated
2021-08-03 13:54:59 +02:00
Tor Harald Sandve
43d129861f
Merge pull request #3454 from plgbrts/gw1
...
adjustments needed for gas-water system
2021-08-03 12:01:34 +02:00
Kai Bao
5e74466aed
Merge pull request #3445 from plgbrts/rateconvfixed
...
Rateconvfixed
2021-08-03 00:07:19 +02:00
Arne Morten Kvarving
78c5675daf
changed: get rid of OPM_UNUSED macro usages
...
prefer anonymous parameters or c++17 [[maybe_unused]]
2021-08-02 14:55:41 +02:00
Paul Egberts
a80894d679
using if constexpr ()
2021-08-02 13:39:55 +02:00
Paul Egberts
8e8f6c5ff2
fix compositionSwitchEnabled declaration. For gas-water it is disabled
2021-08-01 21:02:07 +02:00
Paul Egberts
70d43fbefc
using has_wfrac(gfrac)_variable logic, In case of gas-water system GFrac is primary variable index
2021-08-01 20:51:28 +02:00
Paul Egberts
5be63a59e0
Introduction of has_wfrac(gfrac)_variables analogue to multisegmentwell implementation
2021-08-01 20:40:04 +02:00
Paul Egberts
367c762a06
moved WFrac, GFrac definition to StandardWellEval.hpp
2021-08-01 20:36:05 +02:00
Paul Egberts
d5653d9ca2
removed exit failure for gas-water system
2021-08-01 18:11:56 +02:00
Paul Egberts
e25b78f106
fix for relative change calculation for gas-water system
2021-08-01 18:09:54 +02:00
Paul Egberts
25393cddee
removed throw for water-gas system
2021-08-01 17:57:08 +02:00
Joakim Hove
e01910adc2
Add methods WellState::size() and WellState::producer()
2021-07-26 14:21:50 +02:00
Joakim Hove
a39fcc9708
Set WellState::thp when loading restart file
2021-07-26 13:07:12 +02:00
Joakim Hove
057db0ec0e
Add method WellState::name()
2021-07-26 13:07:12 +02:00
Paul Egberts
0efe03497a
some clean up
2021-07-23 16:41:50 +02:00
Paul Egberts
92f7b19594
delete head message
2021-07-23 16:41:50 +02:00
Paul Egberts
a813d9e875
fix for the situation that hydrocarbon consist only of gas
2021-07-23 16:41:50 +02:00
Markus Blatt
ea4e4a1520
Merge pull request #3346 from Tongdongq/amgcl-support
...
Amgcl support
2021-07-21 15:02:25 +02:00
Bård Skaflestad
48e1af8bbe
Address Static Code Analysis Warnings
...
In particular, don't print uninitialized memory (Reorder.cpp:left)
and don't capture objects ('prm') that aren't actually used. While
here, refactor the initialization of the MT19937 random number
generator. Constructing this object is too expensive to do for each
try, especially when we can just run the generator in place.
2021-07-13 11:37:57 +02:00
OPMUSER
272ae1c8f8
Minor updates
...
Delete time stamp
update WCONPROD, TRACER and TRACERS
2021-07-10 14:05:33 +08:00
OPMUSER
22a2720e5a
Partially Supported Keywords Validation
...
All keywords that can be checked with the existing validation frame work. All failures will continue, even if the message says "will STOP". The only exception is GUIDERAT(2) as parser check results in the STOP; however, this going to change so the STOP will happen with this code.
Comments and agreement between continue and STOP actions appreciated-
2021-07-10 14:05:33 +08:00
OPMUSER
741fddc2f7
Update UnsupportedFlowKeywords with Some Output Comments
...
Just minor changes to the output strings for better clarity.
2021-07-10 14:05:33 +08:00
OPMUSER
82834c0a3b
Unsupported Keywords: Fix RVCONST add ROCKOPTS
...
Added ROCKOPTS to unsupported keyword list, as there are no opm-test examples, is this correct?
If ROCKOPTS is supported what is supported?
2021-07-10 14:05:33 +08:00
Tong Dong Qiu
796d1b7f8a
Allow to choose a platform and device when using amgcl with VexCL
2021-07-09 17:03:11 +02:00
Tong Dong Qiu
0ee6b58fb0
Only initialize VexCL once
2021-07-09 15:39:35 +02:00
Tong Dong Qiu
b0749ce7d4
Use default parameters if json file does not specify all.
...
Throw exception if json file cannot be parsed.
2021-07-09 14:07:55 +02:00
Atgeirr Flø Rasmussen
3253a79693
Instantiate pack etc. for new integer type.
...
The std::uint_fast64_t is used in WriteRestartFileEvents, from
opm-common.
2021-07-08 17:55:28 +02:00
Tong Dong Qiu
f77d745b51
Factor out CUDA part of amgclSolver
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
b2156a4edc
Remove unused variable warnings
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
b28c96699b
Combine blocked and unblocked VexCL implementations
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
5306ae6a60
Allow VexCL to use unblocked matrices
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
47ffeaf24a
Allow VexCL to use runtime parameters
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
b4eb711c71
Enable the VexCL backend, disabled for blocksize=1
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
a3d8d6655f
Added enum for amgcl_backend_type
2021-07-07 16:24:52 +02:00
Markus Blatt
adc2bf46b9
Search for VexCL and create an imported target.
...
Unfortunately, we cannot us the imported targets. They add some compile
parameters using generator expressions based on the CXX_COMPILER_ID.
While we are using the system CXX compiler for most of the stuff, some
cuda code is compiled with nvcc which at least for some versions does
not support -Wno-catch-value (which gets passed as normal compiler
option).
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
d45f9d08f7
Allow amgcl without CUDA
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
e556124405
Allow to choose amgcl backend at runtime, added default amgcl params
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
282f611f92
Make sure amgcl can be used without CUDA
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
3c1bfeb72f
Let amgcl use runtime parameters via JSON file
2021-07-07 16:24:52 +02:00
Tong Dong Qiu
a23d881817
Reuse amgcl parameters
2021-07-07 16:24:51 +02:00
Tong Dong Qiu
47e2899ba8
Moved amgcl declarations to header
2021-07-07 16:24:51 +02:00
Tong Dong Qiu
7c7911b9bc
Allow to use amgcl when CUDA and OpenCL are not found
2021-07-07 16:24:51 +02:00
Tong Dong Qiu
c2869810e2
Added amgclSolverBackend
2021-07-07 16:24:51 +02:00
Tong Dong Qiu
5918c64b54
Add useWellConn parameter to WellContributions()
2021-07-07 16:24:51 +02:00
Bård Skaflestad
2627a05c1e
Merge pull request #3433 from osae/tracerDefaultTrue
...
Default activation of tracer model.
2021-07-07 11:54:28 +02:00
Ove Sævareid
738877fc1b
Default activation of tracer model.
2021-07-06 17:06:10 +02:00
Arne Morten Kvarving
8443306fb6
remove ebos_altidx
...
building a whole simulator for this, and then not even
running a test for it, seems rather excessive. if a test for
index-conformance is wanted, a better approach should be taken.
2021-07-05 13:17:13 +02:00
Joakim Hove
c62a9ba198
Set external UDQState for flow blackoil
2021-07-04 08:55:07 +02:00
Joakim Hove
2b680f27af
Load udq state results from restart file
2021-07-03 10:08:25 +02:00
Bård Skaflestad
bbd8beb822
Merge pull request #3423 from joakim-hove/set-udq-state
...
Assemble UDQState external to the vanguard
2021-07-02 23:53:11 +02:00
Markus Blatt
ef8bd1861f
Merge pull request #3425 from akva2/nullopt
...
changed: use std::nullopt
2021-07-01 15:31:09 +02:00
Markus Blatt
8d0a254211
Merge pull request #3364 from blattms/flexible-solver-determine-pressure-idx-from-model
...
Determine index of pressure from model used to increase usability
2021-07-01 15:22:50 +02:00
Tor Harald Sandve
65f207836b
Merge pull request #3421 from totto82/compPotNW
...
compute potentials for newly opened wells due to testing
2021-07-01 12:08:13 +02:00
Arne Morten Kvarving
b0a2fc8a67
changed: use std::nullopt
...
the alternative causes some compilers to emit uninitialized
use warnings
2021-07-01 09:00:56 +02:00
Joakim Hove
528078e8e1
Assemble UDQState external to the vanguard
2021-07-01 08:24:59 +02:00
Bård Skaflestad
4392cc8713
Don't Access Phase Rates Unless Active
...
Fixes two-phase Oil/Water runs. Probably needs more refinement
later.
2021-06-30 17:21:52 +02:00
Tor Harald Sandve
a00c42c673
compute potentials for newly opened wells due to testing
2021-06-30 13:13:56 +02:00
Bård Skaflestad
5ddac2e8d5
Merge pull request #3406 from GitPaean/new_fixing_guide_rate_update_together
...
[new attempt] updating the guide rates for all the wells and groups at the same time
2021-06-30 12:40:45 +02:00
Tor Harald Sandve
60f59cd6e6
Potentially reduce gaslift when under well is under group control
...
Current implemention only support ORAT and GRAT controlled groups
2021-06-30 09:59:09 +02:00
Kai Bao
12fa7a4ac8
putting all the guide rate update function in one single function
...
to make sure we only do once checking of the expiration of the guide
rates.
2021-06-29 11:41:26 +02:00
Tor Harald Sandve
42dd7ad56d
Merge pull request #3413 from totto82/fixLocalFraction
...
make sure the newly switched well is included in the local fraction sum
2021-06-28 15:41:45 +02:00
Bård Skaflestad
b79b08e86f
Merge pull request #3414 from OPMUSER/RUNSPEC-GRID
...
Add GRAVITY keyword to UnsupportedFlowKeywords
2021-06-28 13:26:43 +02:00
OPMUSER
5d9e3811af
Add GRAVITY keyword to UnsupportedFlowKeywords
...
Add GRAVITY keyword to UnsupportedFlowKeywords with message to use DENSITY instead.
2021-06-28 18:11:49 +08:00
Tor Harald Sandve
4aaf86d5ef
make sure the current well are included in the local fraction sum
2021-06-28 11:47:13 +02:00
Bård Skaflestad
3fe922b27f
Merge pull request #3404 from OPMUSER/RUNSPEC-GRID
...
PartiallySupportedKeywords for RUNSPEC and GRID Sections
2021-06-27 17:04:20 +02:00
Bård Skaflestad
71de144399
Merge pull request #3239 from osae/tracer
...
Tracer summary curves, collect well rates.
2021-06-25 17:48:40 +02:00
Bård Skaflestad
5e883e562c
Chase Type Specific Aquifer Data API Change
...
This commit switches to using the new 'typeData' interface for
representing type-specific aquifer data items. In particular we use
the new 'typeData.is<>()' and 'typeData.get<>()' member functions to
query and access the data that is specific to each aquifer type
(e.g., Carter-Tracy or numerical).
While here, also expand the reported data items for numerical
aquifers to one initial pressure value for each aquifer cell. This
is needed for restart purposes.
2021-06-25 09:58:27 +02:00
OPMUSER
7dee294c50
Clean License & Copyright Header
...
Clean License & Copyright Header - Done
2021-06-25 15:34:19 +08:00
Bård Skaflestad
704c33f08f
Chase Restart Loading API Change
2021-06-25 09:11:09 +02:00
OPMUSER
2cf11dfe05
Revised RUNSPEC and GRID PartiallySupportedFlowKeywords.cpp
...
Revised version for RUNSPEC and GRID partially supported keywords. Fixed miss match with value type and comments etc. Also Trap NUMRES != 1 with STOP if > 1.
2021-06-25 13:17:13 +08:00
OPMUSER
e7b28b1b5f
Removed NUMRES from UnsupportedKeywords List
...
Removed NUMRES from UnsupportedKeywords list and will trap values not equal to 1 in the PartiallySupportedKeyword list. PartiallySupportedKeyword update to follow.
2021-06-25 13:01:29 +08:00
Tor Harald Sandve
0dcd91ac93
Merge pull request #3369 from totto82/grupWellState
...
handle GRUP in wellState from target
2021-06-24 13:02:24 +02:00
Bård Skaflestad
c101ed10f4
Merge pull request #3389 from totto82/scaleGuideRates
...
scale guiderates from si
2021-06-23 16:53:12 +02:00
Tor Harald Sandve
5368343512
handle GRUP in wellState from target
2021-06-23 14:46:35 +02:00
OPMUSER
c3fe22a6cf
PartiallySupportedKeywords for RUNSPEC and GRID Sections
...
RUNSPEC and GRID keywords for partially supported keywords
2021-06-23 12:58:35 +08:00
Bård Skaflestad
9394a93c68
Don't Create Well Instance for Wells With No Connections
...
This commit protects against Opm::Well instances for which the sets
of connections are empty. In those cases, do not put entries in the
well container as there is no influence on the systems of non-linear
equations.
2021-06-22 20:43:21 +02:00
Bård Skaflestad
e4dd8a91e8
Use Aquifer's Notion of Water Properties
...
This commit switches to using the analytic aquifer's intrinsic water
properties (i.e., the mass density and the viscosity), and to get
the time constant from the *_data structure instead of calculating
this value with separate logic. Note that this switches to using a
single density value for the aquifer instead of separate density
values for each aquifer connection.
If the aquifer's initial pressure is defaulted we still compute an
equilibrated initial pressure value. We then use the *_data
structure's 'finishInitialisation()' member function to derive the
aforementioned PVT properties.
Finally, report these values in the aquifer type-specific sub
structures of data::AquiferData for restart output purposes.
2021-06-22 14:47:56 +02:00
Bård Skaflestad
6d3da3d2e0
Report Pressure Dependent Pore Volume in PRT File
...
This commit distinguishes the reference condition pore volume from
the dynamic, pressure (and/or temperature) dependent pore volume
value. Previously we would report the latter as the 'PORV' value in
the "Field Totals" and "FIPNUM region" reports, but this commit
switches to reporting the former instead-mostly for compatibility.
We still report the dynamic pore volume value, but now we report
this on a line of its own, before the table, using one of the forms
Field total pressure dependent pore volume = 12345 RM3
FIPNUM report region 1 pressure dependent pore volume = 123 RM3
2021-06-22 12:00:56 +02:00
Håkon Hægland
dd1ca3197d
Add missing header file to GasLiftGroupInfo.cpp
...
GasLiftGroupInfo.cpp did not include "config.h" which caused HAVE_MPI
to be undefined causing the file to be compiled with
Dune::Communication<No_Comm> instead of with
Dune::Communication<MPI_Comm>. Which later caused linking problems with files
that used MPI.
2021-06-22 09:52:22 +02:00
Bård Skaflestad
7a9c9bedea
Merge pull request #3390 from akva2/janitoring
...
fixed: do not assert conditions guaranteed by unsigned
2021-06-18 16:52:47 +02:00
Peter Verveer
7be1bce651
Small fix for the keyword validation
2021-06-18 12:12:58 +02:00
Arne Morten Kvarving
592af11e55
avoid include in header
...
also add include for config.h
2021-06-18 11:43:54 +02:00
Atgeirr Flø Rasmussen
8c5a6b12d5
Merge pull request #3158 from totto82/operability_solve
...
shut/stop unsolvable wells
2021-06-18 10:13:14 +02:00
Bård Skaflestad
d9f89b4c89
Merge pull request #3366 from totto82/scaleWellRatesAfterGroupSwitching
...
Scale well rates after group switching
2021-06-18 10:05:00 +02:00
Tor Harald Sandve
c3cf59327d
scale guiderates from si
2021-06-17 23:56:02 +02:00
Markus Blatt
2260fde478
Merge pull request #3300 from Tongdongq/add-tests
...
Added tests for cusparseSolver and openclSolver
2021-06-17 22:31:23 +02:00
Tor Harald Sandve
161c6cb1f8
Merge pull request #3385 from totto82/fixMSWtarget
...
Change wellStateFromTarget to virtual to make sure the MSW part is run
2021-06-17 13:03:33 +02:00
Tor Harald Sandve
b5e29684f2
shut/stop unsolvable wells
2021-06-17 11:50:31 +02:00
Håkon Hægland
860cfd9fb5
Fix some sign compare warnings.
2021-06-17 10:44:32 +02:00
Tor Harald Sandve
eb4e25c3f6
Change wellStateFromTarget to virtual to make sure the MSW part is run
2021-06-16 15:53:34 +02:00
Håkon Hægland
fbb24e2a5a
Check group limits in gas lift stage 1.
...
Check group limits in gas lift stage 1 to avoid adding too much ALQ which must
anyway later be removed in stage 2. This should make the optimization
more efficient for small ALQ increment values. Also adds MPI support.
2021-06-16 12:00:54 +02:00
Ove Sævareid
33511b45c1
Relegating implementation details.
2021-06-15 17:18:46 +02:00
Ove Sævareid
581408c760
Batchwise tracer calculations.
2021-06-15 17:18:46 +02:00
Tor Harald Sandve
b2341a84d6
scale well rates after group switching
2021-06-15 09:29:24 +02:00
Joakim Hove
969fc20154
Merge pull request #3373 from verveerpj/improve_validation
...
Add keyword validation using a predicate function
2021-06-15 07:47:37 +02:00
Kai Bao
b415cd4fb8
not comparing guideRate_ with nullptr
...
it is not a pointer anymore since OPM/opm-simulators#3380
2021-06-15 00:00:43 +02:00
Joakim Hove
0cf158cd15
Merge pull request #3379 from joakim-hove/wellrates-rename-X
...
Rename data::WellRates -> data::Wells
2021-06-14 18:21:39 +02:00
Peter Verveer
fd753e20c4
Add keyword validation using a predicate function
2021-06-14 18:10:36 +02:00
Joakim Hove
f9618faceb
Merge pull request #3377 from joakim-hove/perf-data-injector
...
PerfData maintains producre / injector status
2021-06-14 15:53:15 +02:00
Joakim Hove
166907c45d
Merge pull request #3380 from joakim-hove/guiderate-value
...
Use GuideRate value instead of std::unique_ptr<GuideRate>
2021-06-14 15:52:08 +02:00
Joakim Hove
b1600b904f
Rename data::WellRates -> data::Wells
2021-06-14 15:27:56 +02:00
Joakim Hove
193657fee1
Use GuideRate value instead of std::unique_ptr<GuideRate>
2021-06-14 14:35:55 +02:00
Bård Skaflestad
dc7a6018f6
Merge pull request #3381 from akva2/boost_version_include
...
fixed: add missing include for boost version
2021-06-14 13:29:14 +02:00
Arne Morten Kvarving
54d928583b
fixed: add missing include for boost version
2021-06-14 11:50:57 +02:00
Arne Morten Kvarving
86b454f4c8
fixed: initialize to avoid sca warning
2021-06-14 09:26:32 +02:00
Arne Morten Kvarving
6b5c7b66fd
fixed: mark methods as override
2021-06-14 09:09:33 +02:00
Arne Morten Kvarving
a84d05c83b
fixed: forward classes as classes
2021-06-14 09:09:15 +02:00
Joakim Hove
a22b836b82
PerfData maintains producre / injector status
2021-06-14 09:03:02 +02:00
Joakim Hove
7c133bb0eb
Merge pull request #3374 from joakim-hove/rename-wellrates
...
Rename data::WellRates -> data::Wells in opm-common
2021-06-13 13:14:03 +02:00
Joakim Hove
454220b9e7
Rename data::WellRates -> data::Wells in opm-common
2021-06-13 08:37:56 +02:00
Joakim Hove
fe5e4a9ac3
Minor renames++ in WellState report
2021-06-11 16:01:25 +02:00
Joakim Hove
2dae87fb74
Merge pull request #3370 from totto82/bugMaxInnerIter
...
change get param from bool to int
2021-06-11 12:39:45 +02:00
Tor Harald Sandve
96091f4313
change get param from bool to int
2021-06-11 08:09:35 +02:00
Joakim Hove
7a1f71feaa
Simplify check for number of perforations
2021-06-10 23:26:51 +02:00
Tor Harald Sandve
5686d90c61
Merge pull request #3350 from totto82/maxNiWi
...
Change the inner iterations logic
2021-06-10 19:49:23 +02:00
Markus Blatt
db0f19ba88
Determine index of pressure from model used.
...
Previously, the user had to specify it in the json file read from the
FlexibleSolver or 1 was used. Unfortunately, the index depends on the
model used and it seem rather opaque to a user what that index is.
With this commit we determine the pressure index from the model.
2021-06-10 16:19:18 +02:00
Joakim Hove
3c3a4afcfc
Use PerfData for connection productivity index
2021-06-10 14:32:45 +02:00
Joakim Hove
81c5ce8843
Use PerfData for water throughput, water velocity and skin pressure
2021-06-10 14:32:45 +02:00
Joakim Hove
db02b9f112
Use PerfData for solvent perforation rates
2021-06-10 14:27:37 +02:00
Joakim Hove
49e9b51269
Use PerfData for polymer rates
2021-06-10 07:19:21 +02:00
Joakim Hove
3010b96611
Use PerfData for perforation rates
2021-06-10 07:19:21 +02:00
Joakim Hove
76838cd8a4
Use PerfData for perforation pressure
2021-06-10 07:19:21 +02:00
Joakim Hove
4b69d12335
Use PerfData for perforation rates
2021-06-10 07:18:46 +02:00
Joakim Hove
b6318ac017
Add WellContainer<PerfData> to WellState
2021-06-10 07:18:46 +02:00
Joakim Hove
34481e48c3
Add data container PerfData to use in WellState
2021-06-10 07:18:46 +02:00
Bård Skaflestad
ed131190eb
Merge pull request #3353 from akva2/msw_eval
...
add MultisegmentWellEval
2021-06-10 00:10:31 +02:00
Joakim Hove
1a7c514879
Merge pull request #3359 from joakim-hove/rm-mpi-sum
...
Use ecl well for total number of connections
2021-06-09 17:13:25 +02:00
Joakim Hove
fc5e2be4e2
Merge pull request #3365 from akva2/wrap_property_tree
...
Add Opm::PropertyTree
2021-06-09 17:12:38 +02:00
Arne Morten Kvarving
b7e2ad3bfe
added: PropertyTree class
...
this is a thin wrapper around boost::property_tree
with this we avoid parsing property tree headers in all
simulator objects
2021-06-09 15:21:52 +02:00
Arne Morten Kvarving
68fc2b0bc6
add MultisegmentWellEval
2021-06-09 15:17:36 +02:00
Arne Morten Kvarving
29ae002a87
changed: avoid templating in setupPropertyTree
...
simply pass the required params to function instead.
2021-06-09 12:54:14 +02:00
Bård Skaflestad
72bd3368e7
Merge pull request #3360 from akva2/stdwell_eval
...
add StandardWellEval
2021-06-09 11:02:52 +02:00
Bård Skaflestad
7add6b33de
Merge pull request #3363 from totto82/fixRESV2
...
removed dissolved gas and vapporized oil from RESV injection rates
2021-06-09 09:29:19 +02:00
Arne Morten Kvarving
eb06c4bd70
add StandardWellEval
2021-06-09 08:32:30 +02:00
Joakim Hove
b868f87420
Use ecl well for total number of connections
2021-06-08 21:14:16 +02:00
Bård Skaflestad
bb050683f1
Merge pull request #3355 from joakim-hove/remove-first-perf
...
Remove first perf member from Well classes
2021-06-08 20:47:09 +02:00
Tor Harald Sandve
28a567550b
removed dissolved gas and vapporized oil from RESV injection rates
2021-06-08 20:17:01 +02:00
Bård Skaflestad
aa12201ee2
Merge pull request #3362 from akva2/date_time_prune
...
Avoid boost/date_time in simulator objects
2021-06-08 17:46:34 +02:00
Arne Morten Kvarving
ce01d780cf
SimulatorTimerInterface: avoid boost includes in header
2021-06-08 15:44:56 +02:00
Arne Morten Kvarving
14ea3e6dd1
SimulatorFullyIplicitBlackoilEbos: avoid boost includes in header
2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
fce3247c56
AdaptiveTimeSteppingEbos: avoid boost include in header
2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
30d4cbc2f2
AdaptiveSimulatorTimer: void boost includes in header
2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
fcb5d3dd82
SimulatorTimer: avoid boost includes in headers
2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
04e856f831
SimulatorTimer: mark methods override
2021-06-08 15:32:58 +02:00
Arne Morten Kvarving
2460d950b1
remove unused boost include
2021-06-08 15:17:18 +02:00
Arne Morten Kvarving
a0dea4d58f
remove unused method
2021-06-08 15:10:11 +02:00
Joakim Hove
023edc67e5
Remove first perf member from Well classes
2021-06-08 14:24:26 +02:00
Arne Morten Kvarving
c623fba017
add MultisegmentWellGeneric
...
avoid rebuilding this for all simulators when code
is only dependent on Scalar. instanced for double
2021-06-08 10:43:10 +02:00
Arne Morten Kvarving
10ff86af52
add StandardWellGeneric
...
avoid rebuilding this for all simulators when code
is only dependent on Scalar. specialized for double
2021-06-08 08:08:50 +02:00
Bård Skaflestad
6c1ca7450f
Merge pull request #3282 from akva2/blackoilwellmodel_generic_split
...
split out typetag independent code from BlackoilWellModel
2021-06-07 22:13:36 +02:00
Bård Skaflestad
4767311f76
Merge pull request #3334 from akva2/wellif_further_split
...
Further splitting in WellInterface
2021-06-07 21:41:12 +02:00
Arne Morten Kvarving
0ef68b452a
BlackoilWellModel: move runWellPIScaling to generic class
2021-06-07 15:01:10 +02:00
Arne Morten Kvarving
7219f09fdc
BlackoilWellModel: mutate well_container_ directly in createWellContainer
2021-06-07 14:49:41 +02:00
Arne Morten Kvarving
2c5942595c
BlackoilWellModel: put well container init in a separate method
2021-06-07 14:35:34 +02:00
Arne Morten Kvarving
30a59cd190
BlackoilWellModel: move updateWellPotentials to generic class
2021-06-07 14:22:30 +02:00
Arne Morten Kvarving
004abd942b
BlackoilWellModel: put code for computing potentials in separate method
2021-06-07 14:09:36 +02:00
Arne Morten Kvarving
b0b0ae20d3
BlackoilWellModel: move some glift stuff to generic class
2021-06-07 13:36:22 +02:00
Arne Morten Kvarving
2b9141035e
BlackoilWellModel: move setRepRadiusPerfLength to generic class
2021-06-07 13:36:17 +02:00
Arne Morten Kvarving
c5fae280f3
bring setWSolvent closer to original code
...
by introducing a getter for generic wells
2021-06-07 13:04:29 +02:00
Arne Morten Kvarving
60e7c90b1e
BlackoilWellModel: move calculateEfficiencyFactors to generic class
2021-06-07 12:56:45 +02:00
Arne Morten Kvarving
811afb854b
BlackoilWellModel: move updateNetworkPressures to generic class
2021-06-07 12:46:14 +02:00
Arne Morten Kvarving
172d344ab2
BlackoilWellModel: move inferLocalShutWells to generic class
2021-06-07 12:32:01 +02:00
Arne Morten Kvarving
ad4b34dc30
BlackoilWellModel: move forceShutWellByNameIfPredictionMode to generic class
2021-06-07 12:25:04 +02:00
Arne Morten Kvarving
54ff1c4c45
BlackoilWellModel: move hasTHPConstraints to generic class
2021-06-07 12:20:49 +02:00
Arne Morten Kvarving
cf6a3801fb
keep a vector of WellInterfaceGeneric* in BlackoilWellModelGeneric
...
these points to the same objects as well_container_
2021-06-07 12:15:36 +02:00
Arne Morten Kvarving
059140f2ee
split out typetag independent code from BlackoilWellModel
2021-06-07 12:04:06 +02:00
Tong Dong Qiu
74b46e4d8d
Added tests for cusparseSolver and openclSolver
2021-06-07 11:40:03 +02:00
Tong Dong Qiu
0e63cda518
Instantiate whole class instead of each function
2021-06-07 11:40:03 +02:00
Bård Skaflestad
a3ce4a11e0
Merge pull request #3349 from totto82/fixRESVgconinje
...
Scale target with resv conversion factor
2021-06-07 09:39:52 +02:00