Commit Graph
6074 Commits
Author SHA1 Message Date
Atgeirr Flø Rasmussen 2c5ef367dd Merge pull request #1852 from atgeirr/flexible-linear-solver
Flexible linear solver
2019-06-06 14:21:51 +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