Commit Graph

6396 Commits

Author SHA1 Message Date
Joakim Hove
6c2db2488d
Merge pull request #1999 from joakim-hove/keywordsW
Update missing features with W keywords
2019-09-10 09:59:17 +02:00
Joakim Hove
c14d8f69e7 Update missing features with W keywords 2019-09-10 07:42:58 +02:00
Arne Morten Kvarving
d71f704532 changed: ewoms/linear -> opm/simulators/linalg 2019-09-09 09:21:42 +02:00
Atgeirr Flø Rasmussen
b8b3599ac5
Merge pull request #1993 from akva2/namespace_change
changed: namespace Ewoms -> namespace Opm
2019-09-09 09:05:19 +02:00
Joakim Hove
96025d224e Unsupported W keywords 2019-09-06 11:22:25 +02:00
Arne Morten Kvarving
5599bb6d8c changed: namespace Ewoms -> namespace Opm 2019-09-05 17:14:38 +02:00
Steinar Foss
748f09c3e0 added more kw starting w/ D. 2019-09-05 14:55:06 +02:00
Joakim Hove
3d36565db7 Adapt to enum changes 2019-09-03 22:18:34 +02:00
Joakim Hove
c804e85bc7
Setup logging before the simulator is initialized (#1980)
Setup logging before the simulator is initialized
2019-08-27 22:41:48 +02:00
Joakim Hove
5b857dd43e
Merge pull request #1982 from stefoss23/add_keywords_D
added keywords beginning w/ D.
2019-08-24 05:31:52 +02:00
Steinar Foss
caea91002a added keywords beginning w/ D. 2019-08-23 09:38:32 +02:00
Joakim Hove
9df2a6f0c9 List W keywords as missing features 2019-08-23 08:02:14 +02:00
Joakim Hove
ad82f1aef3 Remove COMPDAT from list of unsupported keywords 2019-08-21 22:52:07 +02:00
Atgeirr Flø Rasmussen
fdcfa8f0ff
Merge pull request #1955 from GitPaean/well_potential_improvements
using self-copying when calculating well potentials
2019-08-21 15:31:09 +02:00
Joakim Hove
21f2448034
Merge pull request #1977 from stefoss23/add_keywords_c
added keywords beginning w/C.
2019-08-16 17:45:34 +02:00
Joakim Hove
d09b7e88ae Add some W keywords to list of missing features 2019-08-16 16:34:15 +02:00
Steinar Foss
f6bf7bec6d added keywords beginning w/C. 2019-08-16 15:14:28 +02:00
Joakim Hove
17e7fc8928
Merge pull request #1974 from joakim-hove/missing-features-Z
Some missing features on Z and W
2019-08-15 14:30:15 +02:00
Kai Bao
f40c1cc12f throw when calling addWellContributions() for MSW 2019-08-15 11:29:30 +02:00
Joakim Hove
c989874b26 Some missing features on Z and W 2019-08-15 08:04:41 +02:00
Joakim Hove
e2547a9602
Merge pull request #1973 from stefoss23/add_keywords_b
added keywords beginning with B.
2019-08-13 19:31:11 +02:00
Steinar Foss
8aa4af836a added keywords beginning with B. 2019-08-13 13:41:50 +02:00
Atgeirr Flø Rasmussen
63364dc983 Bugfix: use proper method to access injected phase. 2019-08-13 11:57:06 +02:00
Atgeirr Flø Rasmussen
b32290d65a Remove unused variable.
Also move variable to scope where used.
2019-08-13 10:51:16 +02:00
Atgeirr Flø Rasmussen
f5070c6ba9 Avoid getting distr when current control index is -1. 2019-08-13 10:14:37 +02:00
Atgeirr Flø Rasmussen
ffeb1529e8 Throw if calling well_controls_current_distr() with -1 current index. 2019-08-13 10:14:10 +02:00
Atgeirr Flø Rasmussen
8438e84db1 Handle two possible cases where current control is -1. 2019-08-12 14:49:52 +02:00
Joakim Hove
9f1e3465db Throw std::logic_error if trying to access invalid current control 2019-08-12 10:46:11 +02:00
Joakim Hove
af1bf9a193 Compile well_controls as C++ 2019-08-12 10:46:11 +02:00
Joakim Hove
1bc571535e
Merge pull request #1963 from stefoss23/add_keywords_A
added keywords beginning w/ A.
2019-08-09 10:35:18 +02:00
Kai Bao
fec9d1feee recovering the interface of function createWellContainer
in BlackoilWellModel, which makes its usage easier.
2019-08-09 10:02:28 +02:00
Kai Bao
4d8afb8539 using self-copying when calculating well potentials
in order to re-use the existing well model in stead of re-creating new
ones. The latter way really complicates the function createWellContainer
in BlackWellModel.
2019-08-09 10:02:28 +02:00
Atgeirr Flø Rasmussen
b7a36a6a72
Merge pull request #1938 from atgeirr/use-foam-module
Use foam module
2019-08-09 09:54:33 +02:00
Joakim Hove
3e15ec4ba3
Merge pull request #1959 from joakim-hove/group-uda
Group uda
2019-08-09 08:50:33 +02:00
Steinar Foss
d3399015d7 MissingFeatures: AQUNNC spell error. 2019-08-08 15:17:29 +02:00
Steinar Foss
f377e1dd39 added keywords beginning w/ A. 2019-08-08 12:02:59 +02:00
Markus Blatt
777a7acb5b
Merge pull request #1962 from atgeirr/fix-nullptr-dereference
Use a dummy SequentialInformation object for the serial case.
2019-08-08 11:54:38 +02:00
Atgeirr Flø Rasmussen
c6d31376b5 Use a dummy Communication object for the serial case. 2019-08-08 09:27:14 +02:00
Joakim Hove
95f2d82f22 Enable UDA evaluation for groups 2019-08-08 07:54:17 +02:00
Joakim Hove
63e55bfa8f Remove use of GroupTree from opm-common 2019-08-07 21:00:53 +02:00
Atgeirr Flø Rasmussen
b9e7881878 Finalize integration of foam module. 2019-08-07 10:39:16 +02:00
Franz G. Fuchs
7fb90bff47 Use foam module. 2019-08-07 10:39:16 +02:00
Joakim Hove
2a1d42edcb Use class Group2 from opm-common 2019-08-07 07:30:01 +02:00
Atgeirr Flø Rasmussen
0e309fc254
Merge pull request #1954 from GitPaean/wrong_thp_result
Not extrapolating towards negative in VFP tables
2019-08-06 10:40:17 +02:00
Joakim Hove
9f655d13bd Calculate well potentials: check if restart file output is requestd 2019-08-05 13:48:15 +02:00
Kai Bao
a772d1ef03 not extrapolating towards negative in VFP tables 2019-07-31 09:16:44 +02:00
Bård Skaflestad
d08af810ef Remove FILLEPS from MissingFeatures
Pull request OPM/opm-common#849 added support for this keyword.
2019-07-28 17:58:30 +02:00
Steinar Foss
9b01b6b478 MISSING_FEATURES: added keywords ALPOLADS, ALSURFADM ALSURFST. 2019-07-26 18:07:52 +02:00
Steinar Foss
546dd676ad MISSING_FEATURES: added keywords beginning w/ a. 2019-07-26 17:26:29 +02:00
Steinar Foss
72a005e8b9 MISSING_FEATURES: added ACTIONG. 2019-07-26 12:41:35 +02:00
Arne Morten Kvarving
b464896cc8 quell shadowing warnings 2019-07-10 10:08:39 +02:00
Arne Morten Kvarving
4d893c35e8 changed: remove unused method BlackoilWellModel::extractLegacyPressure_ 2019-07-08 11:23:55 +02:00
Joakim Hove
c1574a23d0
Merge pull request #1937 from joakim-hove/group2
Header file Group.hpp moved to Group/Group.hpp
2019-07-06 07:30:09 +02:00
Kai Bao
450f87551e adding GOR checking for WECON 2019-07-05 14:57:16 +02:00
Atgeirr Flø Rasmussen
70683b662b
Merge pull request #1933 from GitPaean/refactoring_wtest_further
refactoring the ration economic limit checking
2019-07-05 14:44:52 +02:00
Kai Bao
30e5a20f86 WELOPEN and WCON* interacting with WTEST and WECON
WELOPEN and WCON* can open well closed due to various reasons, physical
            or economic.

If a well is shut with WELOPEN and WCON*, we do not try to re-open it
through WTEST
2019-07-05 08:50:58 +02:00
Joakim Hove
fd276843f2 Header file Group.hpp moved to Group/Group.hpp 2019-07-05 07:29:26 +02:00
Kai Bao
cbbd75164e refactoring the ration economic limit checking 2019-07-02 12:44:56 +02:00
Joakim Hove
a5eaf914e2 Fix error message for COMPORD partially support keyword 2019-07-02 06:10:50 +02:00
Kai Bao
327cf30c31 improving the WTEST results by initializing the explicit quantities 2019-07-01 12:39:09 +02:00
Bård Skaflestad
273e6a4dbc
Merge pull request #1924 from akva2/suppress_no_mpi
suppress some unused variables warnings without mpi
2019-06-29 16:06:25 +02:00
Arne Morten Kvarving
4dbf2428f7 suppress some unused variables warnings without mpi 2019-06-28 14:20:51 +02:00
Kai Bao
dfe22cb1a4
Merge pull request #1901 from totto82/fixMSWThrow
Make sure rvmax and rsmax is non-negtive in the getSurfaceVolume for MSW
2019-06-27 15:41:45 +02:00
Tor Harald Sandve
e2420a4361
Merge pull request #1916 from andlaus/abort_on_unknown_parameters
mebos, flow: adapt to the eWoms changes in handling unknown parameters
2019-06-27 14:59:35 +02:00
Andreas Lauser
2a2b183679 add comments to describe flag arguments 2019-06-27 14:27:18 +02:00
Tor Harald Sandve
fd26b61599
Merge pull request #1907 from andlaus/improve_time_integration
Improve time integration
2019-06-27 14:08:07 +02:00
Andreas Lauser
1bbf18d7c8 mebos, flow: adapt to the eWoms changes in handling unknown parameters
for `flow`, there's no change compared to the current behavior, `ebos`
and its variants will complain when it encounters unused parameters.
2019-06-27 11:51:28 +02:00
Bård Skaflestad
a98caf1d2a Format Specifier '%p' Requires Pointers to Void
While here, also print both 'ctrls1' and 'ctrls2' instead of
printing 'ctrls2' twice.
2019-06-26 14:39:14 +02:00
Atgeirr Flø Rasmussen
766afa4602
Merge pull request #1917 from GitPaean/fixing_warnings_
more fixing for the tests
2019-06-26 14:35:00 +02:00
Bård Skaflestad
402320267a
Merge pull request #1912 from akva2/janitoring
Some janitoring
2019-06-26 14:04:03 +02:00
Kai Bao
c2d472cd96 considering FOAM in the switch 2019-06-26 13:21:03 +02:00
Kai Bao
9a2fcdbfd5 fixing warnings in other folder under opm-simulators 2019-06-26 10:48:41 +02:00
Kai Bao
53b15527c2 fixing warnings under simulator/wells 2019-06-26 09:52:38 +02:00
Atgeirr Flø Rasmussen
aa06942695
Merge pull request #1911 from GitPaean/refactoring_wtest_for_wellcut_completions_continue
adapting to the upstream change
2019-06-26 09:34:19 +02:00
Kai Bao
1d5d883e99 adapting to the upstream change 2019-06-25 22:13:34 +02:00
Andreas Lauser
c2aebbb5da EclProblem: use the generic time integration mechanism
i.e., the EclProblem does no longer need to implement the
`timeIntegration()` method itself. since `flow` does not use this code
path, it is unaffected.
2019-06-25 12:39:00 +02:00
Atgeirr Flø Rasmussen
bc07b688c5 Fix typo, indentation and return in unknown-parameter situation. 2019-06-25 10:10:58 +02:00
Atgeirr Flø Rasmussen
43503cf7c6
Merge pull request #1904 from blattms/abort-with-notification
Notify user that we are aborting because of unused keywords.
2019-06-25 09:45:27 +02:00
Arne Morten Kvarving
4aec900699 reduce scope of variables
quells sca warnings
2019-06-25 09:29:07 +02:00
Arne Morten Kvarving
a21b81d5d9 fixed: check pointers before dereference
quells a sca warning
2019-06-25 09:28:51 +02:00
Arne Morten Kvarving
c826a709b1 fixed: reassignment before use of value
quells a sca warning
2019-06-25 09:27:26 +02:00
Arne Morten Kvarving
66394c870a fixed: check pointer before dereference
quells a sca warning
2019-06-25 09:26:41 +02:00
Kai Bao
e15a8f62e8 considering not OPEN connection when updateCompletions
in WellInterface.
2019-06-24 21:20:37 +02:00
Kai Bao
e0bd33db43 using template instead of pointer to function
for functions checkMaxRatioLimitWell and checkMaxRatioLimitCompletions
2019-06-24 14:03:20 +02:00
Kai Bao
b27a646b98 adding function checkMaxRatioLimitCompletions in WellInterface
and use it in checkMaxWaterCutLimit()
2019-06-21 14:11:12 +02:00
Kai Bao
7bb06e1c3c adding function checkMaxRatioLimitWell to WellInterface
and use it in function checkMaxWaterCutLimit
2019-06-21 14:11:12 +02:00
Kai Bao
01c9935b02 fixing the function checkMaxWaterCutLimit
when looking for the worst offending completion
2019-06-21 14:11:12 +02:00
Kai Bao
8be28e8448 adding function initCompletions() to WellInterface 2019-06-21 14:11:12 +02:00
Markus Blatt
35ad7a60e2 Notify user that we are aborting because of unused keywords. 2019-06-21 13:11:21 +02:00
Atgeirr Flø Rasmussen
a598734e71
Merge pull request #1890 from akva2/janitoring
remove unused variables
2019-06-21 08:33:03 +02:00
Tor Harald Sandve
337ad8a046 Make sure rvmax and rsmax is non-negtive in the getSurfaceVoluem for MSW
Negative values can happen if the pressure is outside the table range
2019-06-21 08:15:30 +02:00
Atgeirr Flø Rasmussen
5749a7150c Move files out of opm/core/simulator. 2019-06-20 11:00:52 +02:00
Atgeirr Flø Rasmussen
fa016a6008 Moved all remaining files out of opm/autodiff. 2019-06-20 11:00:51 +02:00
Atgeirr Flø Rasmussen
a33cfbf0bc Moved Flow-related classes and files to opm/simulators/flow. 2019-06-20 11:00:51 +02:00
Andreas Thune
c4e0bc2385 Moving findOverlapRowsAndColumns() to a separate file. 2019-06-20 11:00:51 +02:00
Kai Bao
1593d431ce
Merge pull request #1897 from alfbr/well-logging
Moved well test messages from debug to log and prt
2019-06-20 10:47:04 +02:00
Atgeirr Flø Rasmussen
841f92afc7
Merge pull request #1896 from alfbr/time-reports
Adding time and date to time step report
2019-06-20 10:31:48 +02:00
Alf Birger Rustad
671b2d9a47 Moved well test messages from debug to log and prt 2019-06-20 09:57:24 +02:00
Kai Bao
f4efd464f4
Merge pull request #1883 from totto82/fix_inj
Upwinding for MSW
2019-06-19 12:50:16 +02:00
Arne Morten Kvarving
34bcccef9c remove unused variables
quells warnings
2019-06-19 11:59:43 +02:00
Tor Harald Sandve
a7f718a368 Some clean-up adressing PR comments 2019-06-19 09:13:38 +02:00
Alf Birger Rustad
d8b4bbb0be Adding time and date to time step report 2019-06-18 14:01:08 +02:00
Arne Morten Kvarving
181d3cea6b fixed: build with dune 2.6 without MPI 2019-06-18 13:39:13 +02:00
Tor Harald Sandve
5c7cfd8c21 fix scaling of gas injector 2019-06-17 08:40:44 +02:00
Tor Harald Sandve
22af6e563c fix upwinding for injector 2019-06-17 08:40:44 +02:00
Tor Harald Sandve
c39cec55fe fix control eq inj 2019-06-17 08:40:44 +02:00
Joakim Hove
7f1970af3c Use the shared SummaryState instance when initializing well rates 2019-06-17 07:49:55 +02:00
Kai Bao
ab839896b6 using createConstantZero instead of createBlank
the content for createBlank is not initialized, which causes undefined
behavoir.
2019-06-13 15:05:12 +02:00
Kai Bao
4c105d7672 copying invertMatrix for DynamicMatrix
the reason is to make sure for blackoil cases, the same algorithm will
be used to invert the D matrix for the well model. As a result, it will
reduce the burden to test the PR.

Whether we will keep this algorithm for 4 X 4 matrix will be addressed
as a separate issue.
2019-06-13 14:49:04 +02:00
Kai Bao
310741a54f fixing a small bug related to EvalWell 2019-06-13 14:49:04 +02:00
Kai Bao
4449f0c172 adding updateConnectionRatePolyMW to StandardWell 2019-06-13 14:49:04 +02:00
Kai Bao
2256395957 adding updateExtraPrimaryVariables to StandardWell 2019-06-13 14:49:04 +02:00
Kai Bao
94057a53f9 adding checkConvergenceExtraEqs to StandardWell 2019-06-13 14:49:04 +02:00
Kai Bao
4f7b899290 fixing the compilation problem due to rebasing
and also some small cleaning up
2019-06-13 14:49:04 +02:00
Kai Bao
3dcec6a436 removing StandardWellV 2019-06-13 14:49:04 +02:00
Kai Bao
33de77e595 incorporate the staticSize template parameter for DynamicEvaluation 2019-06-13 14:49:04 +02:00
Kai Bao
ad0e294e52 using StandardWellV as the default StandardWell model 2019-06-13 14:49:04 +02:00
Markus Blatt
2f28bb3758
Merge pull request #1878 from atgeirr/flexible-solver-revision
Small fixes for the FlexibleSolver system.
2019-06-13 11:21:54 +02:00
Atgeirr Flø Rasmussen
078678206a Changes to support latest Dune version. 2019-06-12 10:40:55 +02:00
Joakim Hove
8eea015870
Merge pull request #1874 from joakim-hove/summary-eval
Call Summary::eval() and ::add_timestep separately
2019-06-11 21:31:54 +02:00
Atgeirr Flø Rasmussen
b837dd71b4 Small fixes for the FlexibleSolver system. 2019-06-11 09:55:05 +02:00
Atgeirr Flø Rasmussen
2c5ef367dd
Merge pull request #1852 from atgeirr/flexible-linear-solver
Flexible linear solver
2019-06-06 14:21:51 +02:00
Joakim Hove
1790910269 Call Summary::eval() and ::add_timestep separately 2019-06-06 12:14:46 +02:00
Atgeirr Flø Rasmussen
d5c3c93c7d Use overloading instead of template specialization.
This seems to be necessary for older compilers.
2019-06-06 10:36:17 +02:00
Atgeirr Flø Rasmussen
72ae444566 Fixes for Dune < 2.6.
The PreconditionerFactory requires 2.6, so this is addressed by
simply not using that code at all for Dune < 2.6. No FlexibleSolver
etc.
2019-06-06 09:10:43 +02:00
Atgeirr Flø Rasmussen
8ae671eb86
Merge pull request #1871 from totto82/fix_segfault
fix segfault when no well report is registred
2019-06-06 08:57:56 +02:00
Atgeirr Flø Rasmussen
38a61fa0c0 Add <config.h> include, clean up comments. 2019-06-05 15:57:45 +02:00
Atgeirr Flø Rasmussen
c21fd6f26d Add and use PreconditionerFactory class.
This replaces the makePreconditoner() function. The main advantage
is that it is extensible, making it easy to for example add new
preconditioners to the factory at runtime. It supports both parallel
and serial preconditioners.
2019-06-05 15:12:52 +02:00
Atgeirr Flø Rasmussen
d44b974dc8 Bugfix: ensure the matrix passed to parallel preconditioner is ok.
Done with the makeOverlapRowsInvalid() approach.
2019-06-05 15:12:33 +02:00
Bård Skaflestad
123b578bdd Prune Additional Supported Keywords
Support for

    AQUCT, AQUTAB, COMPLUMP

was introduced quite some time ago.
2019-06-05 13:41:31 +02:00
Bård Skaflestad
0760442ac1 Remove FIPNUM From List of Unsupported Keywords
We've supported the keyword--both in the deck reader (parser) and in
the simulator--for a long time.
2019-06-05 12:42:26 +02:00
Atgeirr Flø Rasmussen
d42c5426b2
Merge pull request #1872 from totto82/eval_friction2
Make calculateFrictionFactor evalution  + critical bugfix in MSW friction model
2019-06-05 11:19:28 +02:00
Joakim Hove
47f4e750d2
Merge pull request #1865 from joakim-hove/use-shared-summarystate
Use shared summarystate
2019-06-04 09:49:56 +02:00
Atgeirr Flø Rasmussen
08cec09293
Merge pull request #1845 from blattms/abort-on-unknown-keywords-v2
Abort if flow is run with unknown keywords.
2019-06-03 15:42:02 +02:00
Atgeirr Flø Rasmussen
84a8143bad Improved parameter hierarchy and const-correctness. 2019-06-03 11:42:30 +02:00
Atgeirr Flø Rasmussen
a76b19d95a Make FlexibleSolver feature-complete.
In particular:
 - Add parallel solvers and preconditioners.
 - Add the update() interface to preconditioners, and use it with CPR.
2019-06-03 11:42:30 +02:00
Halvor Møll Nilsen
ec498086a6 Add flexible solver and preconditioner infrastructure.
Also use it in flow_blackoil_dunecpr.cpp. Adds new command-line parameter,
--linear-solver-configuration-json-file, to read linear solver config from
JSON-format file at runtime.
2019-06-03 11:42:30 +02:00
Tor Harald Sandve
0d28dfff17 fix cutoff value bug in haalandFormula 2019-06-03 11:28:15 +02:00
Tor Harald Sandve
779dbd39dd make calculateFrictionFactor Evaluation 2019-06-03 11:24:56 +02:00
Tor Harald Sandve
8f60a5f9fc
Merge pull request #1841 from andlaus/remove_isSubstep
EclProblem: remove the isSubstep parameter from writeOutput()
2019-06-03 10:41:12 +02:00
Tor Harald Sandve
4c4921c6b2 fix segfault when no well report is registred 2019-06-03 09:22:04 +02:00
Atgeirr Flø Rasmussen
2cc22f99cb
Merge pull request #1868 from andlaus/sparse_matrix_adapter_from_linear_solver
set the SparseMatrixAdapter property in the linear solver type tag
2019-05-31 20:40:10 +02:00
Kai Bao
8fd1a8b7da assert pressure derivative in getSegmentRateUpwinding is zero 2019-05-31 12:51:50 +02:00
Kai Bao
5aacda1880 adding some comments about getSegmentRateUpwinding() 2019-05-31 11:22:35 +02:00
Andreas Lauser
e36ae88ab9 set the SparseMatrixAdapter property in the linear solver type tag
this is necessary because after OPM/ewoms#513, the
`SparseMatrixAdapter` property will be "owned" by the linear solver
and because ISTLSolverEbos does not build on top of
`Ewoms::ParallelBaseBackend`.
2019-05-31 10:55:13 +02:00
Kai Bao
c5983eeec5 not trying to update RESV target for prediction producers 2019-05-30 11:58:23 +02:00
Andreas Lauser
80238d9940
Merge pull request #1863 from totto82/fix_init
Make it possible to restart without computing initial conditions
2019-05-29 12:23:40 +02:00
Atgeirr Flø Rasmussen
ff2965e346
Merge pull request #1862 from GitPaean/fixing_multisegment_wells_cleaning_up_restarting_test_1
adding function updateUpwindingSegments() for MSW
2019-05-29 10:09:08 +02:00
Joakim Hove
b129a10362 Use shared SummaryState in BlackoilWellModel 2019-05-29 07:52:17 +02:00
Joakim Hove
a0aa7fcc2b Use shared SummaryState when instantiating WellsManager 2019-05-29 07:44:23 +02:00
Joakim Hove
c6af5f11b6 Fixup: Use ProductionControls and InjectionControls 2019-05-29 07:12:15 +02:00
Joakim Hove
dc4f57f7eb
Merge pull request #1831 from joakim-hove/use-wells2-controls
Use wells2 controls
2019-05-29 06:46:58 +02:00
Tor Harald Sandve
ae78cb86df Make it possible to restart without computing initial conditions 2019-05-28 13:04:28 +02:00
Kai Bao
236e4d7e33 adding function updateUpwindingSegments() for MSW
to update the upwinding segment for each segment based on flow direction
2019-05-28 12:35:59 +02:00
Tor Harald Sandve
613473082f Address PR comments 2019-05-24 16:45:27 +02:00
Joakim Hove
511645d12c Use InjectionControls and ProductionControls data classes 2019-05-23 16:27:17 +02:00
Tor Harald Sandve
821794b0ad Add well potential output to MSW
The common part is moved to the well interface class
This commit also adds iterations to the standardWells
well potential calculations to improve the results
2019-05-23 15:32:48 +02:00
Joakim Hove
b6840db604 Use new well implementation Well2 from opm-common 2019-05-22 21:47:45 +02:00
Joakim Hove
a3361794cf
Merge pull request #1853 from joakim-hove/unsupported
Add keywords to the list of unsupported keywords
2019-05-22 11:53:06 +02:00
Atgeirr Flø Rasmussen
025b828e80
Merge pull request #1855 from totto82/fix_throw
throw runtime_error instead of logic_error
2019-05-22 11:39:09 +02:00
Tor Harald Sandve
a33c967ad0 throw runtime_error instead of logical_error 2019-05-22 10:08:55 +02:00
Joakim Hove
4a4a8bb3e7 Add keywords to the list of unsupported keywords 2019-05-22 06:54:05 +02:00
Kai Bao
080e840f2f using tolerance_wells_ for BHP control tolerance for MSW 2019-05-16 12:20:35 +02:00
Kai Bao
28f0274fb5 fixing bugs spotted in the review comments 2019-05-15 16:28:18 +02:00
Kai Bao
4593453d10 adding function checkConvergenceControlEq to refactor getWellConvergence
only functional change is that rate control or BHP control has different
tolerance for MSW now.
2019-05-15 16:28:18 +02:00
Markus Blatt
9b0e86a172 Abort if flow is run with unknown keywords.
This change will print the encountered unknown keywords to std::cerr
(albeit in the format ThisKeyword and not --this-keyword) and abort
before running the simulator.
2019-05-15 10:03:07 +02:00
Andreas Lauser
8657f18075 EclProblem: remove the isSubstep parameter from writeOutput()
Now that the book keeping for time stepping is correct even in `flow`,
this parameter has become redundant.
2019-05-13 13:05:39 +02:00
Atgeirr Flø Rasmussen
8197bcfc54
Merge pull request #1832 from GitPaean/upding_well_control_inner_msw
updating well control during iterateWellEquations in MSW
2019-05-13 12:47:10 +02:00
Tor Harald Sandve
6887f3bc73
Merge pull request #1821 from andlaus/tickling_the_dragon
flow: provide the correct episode size
2019-05-13 12:40:35 +02:00
Atgeirr Flø Rasmussen
c2db2042ea
Merge pull request #1825 from dr-robertk/PR/fix-istl-shared-ptr
Adjust to shared_ptr change in dune-istl >= 2.7.
2019-05-13 09:01:29 +02:00
Kai Bao
ba106602e1 moving the output of the Report step information earlier
a lot of things have happened before the printing out the `Report step`
information. When some error messages get thrown, it is easy to make
people confused to look a the wrong report step.
2019-05-11 14:13:26 +02:00
Kai Bao
8c96aeebbe updating well control during iterateWellEquations in MSW 2019-05-10 14:56:20 +02:00
Andreas Lauser
9b0be0f8ad flow: provide the correct episode size 2019-05-09 13:28:56 +02:00
Robert Kloefkorn
6c77fae891 [cleanup][istl] Adjust to shared_ptr change in dune-istl >= 2.7. 2019-05-09 11:28:52 +02:00
Atgeirr Flø Rasmussen
c17adf788f Moved files to opm/simulators/ subdirs. 2019-05-08 12:58:19 +02:00
Tor Harald Sandve
890d34a9e1 Add support for water induced compaction using
ROCKCOMP, ROCK2D, ROCK2DTR, ROCKWNOD and OVERBURD
2019-05-07 13:17:29 +02:00
Andreas Lauser
d329547463 EclProblem: clean up the time management code
- when an episode/report step is over, the next is started by endEpisode()
- the problem does not deal with updating the simulation time anymore
- rename `episodeIdx` in to `reportStepIdx` the 'EclWriter' because
  this variable is -- and always has been -- the report step number
  used by some parts of `opm-output`'s ECL writing code (the report
  step number is equivalent to the episode index plus 1). IMO, the
  output and parser code should be made more consistent in regard of
  whether it expects 0-based or 1-based indices, but this is a story
  for another day.
2019-05-03 14:07:15 +02:00
Andreas Lauser
b9995f697f well models: remove superfluous arguments
concretely this means the `eclState` and `schedule` arguments to the
`init()` and `beginTimeStep()` methods.
2019-05-03 14:07:15 +02:00
Bård Skaflestad
4d76ea5000
Merge pull request #1809 from atgeirr/log-messages-only-once
Clear DeferredLogger's message container after logging.
2019-04-30 15:47:40 +02:00
Atgeirr Flø Rasmussen
32572ac2ab Clear DeferredLogger's message container after logging.
This keeps from logging the same messages again. Also add clearMessages()
method, which is useful to clear the local container after gathering into
a global container (which leaves the local containers untouched).
2019-04-30 12:24:31 +02:00
Kai Bao
6c2a806e61 correcting an assertion mistake introduced in PR#1803 2019-04-30 10:25:17 +02:00
Atgeirr Flø Rasmussen
9bbb0ef679
Merge pull request #1807 from atgeirr/enable-msw-by-default
Enable multi-segment wells by default.
2019-04-28 23:13:16 +02:00
Atgeirr Flø Rasmussen
d2f8f07337 Enable multi-segment wells by default. 2019-04-27 07:16:36 +02:00
Bård Skaflestad
75e8508e3b
Merge pull request #1803 from blattms/remove-warnings
Remove warnings experienced with g++-8
2019-04-26 17:41:55 +02:00
Tor Harald Sandve
8a4117441c Make sure that the convergece report is stored before throw 2019-04-25 10:33:39 +02:00
Markus Blatt
b847f36ec8 Removes warning about unused variable. 2019-04-25 10:00:59 +02:00
Markus Blatt
66ef71e67a Removes warning about ignored return type qualifier on function. 2019-04-25 10:00:59 +02:00
Markus Blatt
3aa60433ad Removes unsigned-signed integer comparison warnings. 2019-04-25 10:00:59 +02:00
Markus Blatt
48c3802bf3 Removes unused function parameter warnings. 2019-04-25 10:00:59 +02:00
Joakim Hove
ed91356a90 Add 'FLUXTYPE' to list of not supported keywords 2019-04-19 11:02:18 +02:00
Joakim Hove
58f541cd93 Add missing "," in set literal 2019-04-17 06:43:08 +02:00
Kai Bao
8e5bfa0c67
Merge pull request #1751 from GitPaean/fixing_multisegment_wells_cleaning_up
various improvements/corrections to the multisegment well model
2019-04-12 14:28:12 +02:00
Kai Bao
5a34922d11 silencing some compilation warnings. 2019-04-12 12:27:02 +02:00
Kai Bao
88fb158067 upwinding segment for top segment is itself 2019-04-12 11:25:19 +02:00
Kai Bao
1d7089fca8 some minor cleaning up 2019-04-12 10:43:30 +02:00
Kai Bao
af9a500b98 setting UseMultisegmentWell to be false by default 2019-04-12 10:30:50 +02:00
Kai Bao
683c097ecd adding residual of control equation to getWellResiduals() for MSW
then it is consistent that when it is converged, we do not need to enter
this function anymore.
2019-04-12 10:30:03 +02:00
Atgeirr Flø Rasmussen
d03465b00d
Merge pull request #1783 from GitPaean/not_throw_for_potential_failure
not throw for failure when failing in calculating well potentials
2019-04-12 09:45:34 +02:00
Markus Blatt
a270994ad0 Support compiling Cpr without any MPI support.
There is a problem compiling upstream
Hierarchy::recalculateGalerkin() without MPI. Therefore we
reimplement that method in our AMG version. Fixes will travel
upstream.

Apart from that we made sure that all types have a meaning even
if there is no MPI found and that we at least have redistribute method
to call even if using SequentialInformation. In that case the method
does nothing but prevents compilation errors complaining about missing
parallel functionality.
2019-04-11 18:43:07 +02:00
Markus Blatt
26e1a9a94d Support DUNE 2.4 with CPR.
This version does not support the DirectsolverSelector struct and we
therefore implemented a fallback.
2019-04-11 14:15:04 +02:00
Markus Blatt
81b7af1d8a Support DUNE 2.5 with CPR reusing hierarchy 2019-04-10 15:01:35 +02:00
Markus Blatt
29e893dc8e Make sure the the OwnerOverlopCommunication object stays alive.
As the AMG hierarchy is kept and uses the initial OwnerOverlopCommunication object
we need to make sure that this object lives as long as the hierarchy. We assure
this by storing a shared_ptr to it in ISTLSolverEbosCpr and reuse it to construct
the WellModelMatrixAdapter.
2019-04-10 14:40:46 +02:00
Markus Blatt
8057c2ba83 Use a shared pointer to the OwnerOverlapCommunication in WellModelMatrixAdapter.
Previously the OwnerOverlapCommunication object was owned by the adapter as a
unique_ptr was used. The change to shared_ptr makes it possible to to extract
it and reuse even if OwnerOverlapCommunication is thrown away.
2019-04-10 14:40:46 +02:00
Markus Blatt
6538b59d9e Added parallel CPR that reuses the matrix hierarchy.
Currently this just compiles but still segfaults in parallel.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
07e495c9da More minor cleanup. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
7664d27849 Clean up formatting and get most types from superclass. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
be86b90bac Make typed protected rather than private, enabling inheritance. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
2cf990e404 Do not store copy of weights inside BlackoilAmgCpr class. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
416cc93f96 Remove code that is no longer needed. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
0e5a5c5266 Minor cleanup. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
3d9c776384 Disable most of the file, as the base version is sufficient.
All features have been added to BlackoilAmg.hpp.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
6d18c2849d Allow updating the AMG preconditioner.
This adds the significant modifications from the BlackoilAmgCpr
experimental class to BlackoilAmg.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
032701ffc9 Silence unused argument warnings. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
0e1db0c6bd Reindent, remove unused function (after refactoring). 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
5d68a308b5 Fix memory bug by refactoring.
Moving out of a matrix in the same function argument list as the matrix is passed
to another function is wrong. Simplified by avoiding the unwieldy tuple.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
c92d84432c Replace tabs with spaces. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
5f4f8b71a8 Silence override and member order warnings. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
29837be2e3 Changes to minimize differences to original istl versions.
Also added note pointing to original istl files.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
13c6463f89 Refactor to be closer to the original amg.hh.
Should minimize the diff when comparing.
2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
b39815edb5 Minor formatting and removing unused code. 2019-04-10 14:40:46 +02:00
Atgeirr Flø Rasmussen
28dfef1ecf Compile fix: do not use undefined member. 2019-04-10 14:40:46 +02:00
hnil
4f1603407d Added timing of prepare call for linear solvers 2019-04-10 14:40:46 +02:00
hnil
ed24b3fcad changed code to use direct solver on coarses scale for amg. This should runtime stettings for this.. 2019-04-10 14:40:46 +02:00
hnil
f05a9fdb25 Version of cpr amg which can reuse setup and also change smoothers of fine and coarse system by changing tags 2019-04-10 14:40:46 +02:00
Kai Bao
1faf4de904 not throw for failure when failing in calculating well potentials
it is just a temporary approach to recover the prediction case. In the
case, there is no group control, while there is some requirements of
well potential output
2019-04-09 14:28:44 +02:00
Kai Bao
e73fc4ebe4 first version of using upwinding to handle mass balance for MSW
some details to come to make it complete.

We are not handling it for injectors and also we are not considering the
upwinding when handle the frictional pressure loss and acceleration
pressure loss.
2019-04-08 14:23:21 +02:00
Kai Bao
2c69556fad correcting of the sign when calculating perforation pressure
the sign of the perforation and cell pressure difference was wrong.
2019-04-08 14:23:05 +02:00
Kai Bao
dadb31f093 fixing some mistakes from rebasing 2019-04-07 14:55:08 +02:00
Kai Bao
e5090a26fb setting the simulation parameters 2019-04-07 14:55:08 +02:00
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
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