Commit Graph

5961 Commits

Author SHA1 Message Date
Andreas Lauser
6753e9ca31 aquifers: add missing serialize() and deserialize() methods
the original purpose of those is to provide a checkpoint/restart
mechanism using an ad-hoc file format. They might also be useful for
implementing the adjoint functionality, though.
2019-02-25 15:04:16 +01:00
Andreas Lauser
46e41228b5 flow: call getConvergence() on the raw reservoir residual
i.e., the residual without the Schur complement for the wells being
applied. This hopefully fixes the issue pointed out by
[at]totto82.
2019-02-25 11:24:30 +01:00
Andreas Lauser
f5e7ca9bb3 well model: fix application of Schur complements
using the eWoms API for wells, the Schur compliment was not applied at
all. If `BlackOilWellModel::linearize()` was made non-trivial, the
Schur complement was applied twice in `flow`. With this patch, we only
apply this using the eWoms API (in
`BlackOilWellModel::linearize()`). I could not observe a signficant
effect on the convergence behaviour of `flow` for the cases which I
tested (Norne and realization 5 of Model 2).
2019-02-25 10:51:30 +01:00
Joakim Hove
935642ba88
Merge pull request #1716 from joakim-hove/unsupported-keywords
The missing features check takes a ParseContext argument
2019-02-22 07:49:43 +01:00
Andreas Lauser
d1fa4e3248 do not print the new core-ebos time step tuning parameters in the usage message
they are not used by `flow`.
2019-02-20 10:51:24 +01:00
WesselDeZeeuw
73faaf95b4 added aquiferConstants() 2019-02-18 09:19:26 +01:00
Arne Morten Kvarving
2bba0a395f fix initialization order 2019-02-18 09:19:26 +01:00
WesselDeZeeuw
fd4bdd6492 Trying to fix the WReorder Warning 2019-02-18 09:19:26 +01:00
WesselDeZeeuw
a72d61cb50 Base Class and AquiferCarterTracy and AquiferFetkovich implementation
Reordering of Aquifer Codes
2019-02-18 09:19:26 +01:00
Markus Blatt
2575cf715c
Merge pull request #1724 from blattms/strip-milu-debug-out
Remove bogus debug output printing in MILU.
2019-02-07 16:34:41 +01:00
Atgeirr Flø Rasmussen
dbd8b323da
Merge pull request #1721 from fgfuchs/parallel_well_logging
Correct Logging for Black Oil Well Model for parallel runs
2019-02-06 11:38:29 +01:00
Markus Blatt
29464cd832 Remove bogus debug output printing in MILU.
Somehow some standard output when running MILU () is still there and
it really clutters the output and and makes it unusable. This commit
removes it from flow.
2019-02-06 10:37:35 +01:00
Franz G. Fuchs
42f6f4d784 Correct Logging for Black Oil Well Model for parallel runs using DeferredLogger 2019-02-05 15:24:10 +01:00
Andreas Lauser
c379823dec Really adapt to the new linear solver API used by eWoms
I tested #1712 without deriving the `EclFlowProblem` type tag from
`FlowIstlSolver`, and it worked because the linear solver was still
`Opm::ISTLSolverEbos` because the linear solver is set via the
`LinearSolverSplice` a few lines down.

This time, I verified that the
`Ewoms::Linear::ParallelBiCGStabSolverBackend` was used if the
offending line was commented out. also, Norne worked fine with the
default solver as long as the Schur complement for the wells was done
explicitly.

Finally, the naming of the eWoms API is a bit inconsistent
(`setMatrix()` vs. `setResidual()`). any opinions here? I'm fine with
whatever.
2019-01-30 15:26:39 +01:00
Joakim Hove
13aeee109c The missing features check takes a ParseContext argument 2019-01-25 18:03:32 +01:00
Atgeirr Flø Rasmussen
e39f68787f
Merge pull request #1715 from atgeirr/fix-missing-virtual-destructor
Add virtual destructor to base class.
2019-01-21 21:58:15 +01:00
Atgeirr Flø Rasmussen
7c30ee46ce
Merge pull request #1713 from fgfuchs/replace_well_switching_logger
Replace well switching logger
2019-01-21 21:56:56 +01:00
Atgeirr Flø Rasmussen
6b6daa228a Add virtual destructor to base class. 2019-01-21 15:05:05 +01:00
Atgeirr Flø Rasmussen
037367bb03
Merge pull request #1714 from akva2/janitoring
Some janitoring
2019-01-21 15:00:58 +01:00
Atgeirr Flø Rasmussen
a00972dc0b
Merge pull request #1712 from andlaus/fix_ebos_convergence
adapt to the new preparation procedure of ewoms linear solvers
2019-01-21 14:54:09 +01:00
Arne Morten Kvarving
3f79495593 convert to unix line endings 2019-01-21 12:41:52 +01:00
Arne Morten Kvarving
fbc3491fe9 fixed: initializer list order 2019-01-21 12:41:36 +01:00
Franz G. Fuchs
7f1df40b74 fixed naming conventions, messages and comments 2019-01-21 08:26:28 +01:00
Franz G. Fuchs
26bc063a0c report rank only if size>1 2019-01-18 15:48:05 +01:00
Franz G. Fuchs
80747fc123 log rank 2019-01-18 15:16:59 +01:00
Franz G. Fuchs
129e7d181e replace well switching logger with deferred logger 2019-01-18 14:04:30 +01:00
Andreas Lauser
2563a58db8 adapt to the new preparation procedure of ewoms linear solvers 2019-01-18 09:05:24 +01:00
Bård Skaflestad
a689973760
Merge pull request #1708 from blattms/warn-parallel-logging-fallout
Warn about parallel logging fallout only on request / Use uppercase logfiles

Fixes OPM/opm-common#606
2019-01-17 16:13:25 +01:00
Markus Blatt
2dd0b62eff [bugfix] Added missing ) to make code compile 2019-01-16 12:03:01 +01:00
Markus Blatt
4f4f5cbca3 [bugfix] Only strip ".DATA" or "." extensions.
As there might models named MODEL.01.DATA for which a call
"flow MODEL.01" would have stripped the extension.
2019-01-16 12:03:01 +01:00
Markus Blatt
20d12f5b53 [bugfix] Use file not filename to remove files not in current directory.
Passing just the filename to remove only will remove files in the
current directory. When --output-dir the files would not have been
removed.
2019-01-16 12:01:46 +01:00
Markus Blatt
0c2edcfe47 Remove debugging output 2019-01-16 11:56:47 +01:00
Atgeirr Flø Rasmussen
f9f02724b9
Merge pull request #1710 from blattms/fix-parallel-well-hasTHPConstraints
Make BlackoilWellModel::hasTHPConstraints() work correctly in parallel.
2019-01-15 09:50:55 +01:00
Markus Blatt
89ec35e0d2 Make BlackoilWellModel::hasTHPConstraints() work correctly in parallel.
Previously, this method did not take parallelism into account but just
checked the local wells for the constraints. Depending on the load balancing
of the wells this sometimes led to different return values of the function on different
processors. As the output is used to limit the time step size, different processors
were sometimes using different time steps in their local computations. This screwed
up convergence checks int the nonlinear operator such that only some processor thought
convergence was already achieved while others wanted to do more iterations.

With this commit the method now returns whether there is any well on any processor
with the constraint being true.
2019-01-14 22:14:01 +01:00
Bård Skaflestad
767df6c6fe Deferred Logger: Support Older MPI Implementations
The MPI_Pack() function does not support pointers-to-const until
MPI-3.
2019-01-14 18:10:53 +01:00
Atgeirr Flø Rasmussen
8927df3095
Merge pull request #1705 from fgfuchs/feature_gatherdeferredlogger
gather deferredLogger implemented
2019-01-14 14:56:45 +01:00
Markus Blatt
4b6144bb65 Only warn and show parallel logging fallout on demand.
This commit adds an option that allows to enable detecting parallel
logging fallout (option --enable-logging-fallout-warning). It is now
false by default (previous behavior was as if the option was true).

If option is true a warning will be printed for any process with nonzero
rank that does try to log to *.PRT or *.DBG and the logged output will be appended
to these files at the end.
2019-01-14 13:06:21 +01:00
Markus Blatt
52270e7ac7 Use uppercase basename for *DBG and *PRT files for any extension.
Previously runs of flow started with 'flow base.' Would result in base..DBG
files; note the double dot and the case sensitivity. Now the file will be
BASE.DBG in this case. Note that any extension will be stipped (not only
.DATA as before).
2019-01-14 13:03:03 +01:00
Franz G. Fuchs
70425a681f style changes 2019-01-14 09:22:17 +01:00
Franz G. Fuchs
f61e55995a query mpi pack size 2019-01-11 21:23:09 +01:00
Franz G. Fuchs
828c3c7949 fix for variable number of messages 2019-01-11 19:05:11 +01:00
Joakim Hove
848072f658
Merge pull request #1362 from GitPaean/fixing_history_mode
Fixing history mode
2019-01-11 18:05:01 +01:00
Franz G. Fuchs
37d691e678 bugfixes 2019-01-11 15:47:22 +01:00
Franz G. Fuchs
5d902c8bd4 removed commented out line 2019-01-11 13:56:58 +01:00
Franz G. Fuchs
831a374d02 gather deferredLogger implemented 2019-01-11 13:53:18 +01:00
Tor Harald Sandve
2d2d0c4433 Adapt to linear solver api from ewoms 2019-01-10 15:50:09 +01:00
Atgeirr Flø Rasmussen
578923f93a
Merge pull request #1685 from GitPaean/sliencing_extra_
removing some white spaces.
2019-01-10 14:52:41 +01:00
Atgeirr Flø Rasmussen
601cce155c
Merge pull request #1693 from GitPaean/ignoring_well_no_perf
not adding wells without perforations to WellsManager
2019-01-10 14:47:20 +01:00
Kai Bao
affb767017
Merge pull request #1642 from WesselDeZeeuw/AquiferFetkovich
Aquifer fetkovich
2019-01-10 13:06:08 +01:00
Atgeirr Flø Rasmussen
9c799b9c97
Merge pull request #1698 from fgfuchs/new-feature-deferredlogger
New feature deferredlogger
2019-01-09 07:27:49 +01:00
Kai Bao
a9f40df678 not adding wells without perforations to WellsManager 2019-01-08 14:08:14 +01:00
Andreas Lauser
69e21eec0b
Merge pull request #1684 from andlaus/fix_tabulation_api
use the common API opm-material for functions
2019-01-08 13:34:58 +01:00
Franz G. Fuchs
040d576839 Use angle brackets for includes
verify that the tagged messages are forwarded correctly
2019-01-08 13:26:19 +01:00
Franz G. Fuchs
5b2a38fee5 doxygen comment 2019-01-08 11:41:19 +01:00
Franz G. Fuchs
c815c56287 new feature: DeferredLogger class 2019-01-08 11:28:18 +01:00
Kai Bao
47b933a58e removing DynamicListEconLimited
it is not used anymore. A lot of related implementation has been moved
to WellTestState.

Its existence makes some logic rather confusing and some new development
not easy.
2019-01-08 11:28:11 +01:00
Kai Bao
60e5a95972 only using Wells for determination of the RESV well
One of them is redundant, we do not need both of them.
2019-01-07 12:14:33 +01:00
Joakim Hove
8a9df385af Add ErrorGuard when parsing 2019-01-07 10:44:33 +01:00
Kai Bao
98450b5aa8 fixing the way in handling the RESV rates for WCONHIST 2019-01-04 15:10:18 +01:00
WesselDeZeeuw
1b5e65eedd fixing grid_index for AquiferFetkovich 2019-01-03 15:56:55 +01:00
Zeeuw
73445a3055 solves merging conflicts 2019-01-03 13:18:01 +01:00
WesselZ
d6f1f1bd3d Implementation of Fetkovich Aquifers. Makes changes to the files for BlackOilAquiferModel(_impl) and AquiferFetkovich file. 2019-01-03 13:04:10 +01:00
Kai Bao
bfc915849a BHP limit is taken care of from parser side
WellsManager does not need to provide default bhp limit anymore.
2019-01-03 09:48:02 +01:00
Kai Bao
ecdb299671 handling the RESV well distr calculation correctly
more work has been done in the parser side, and the simulator side is
also updated accoridingly.
2019-01-03 09:48:02 +01:00
Kai Bao
9a6f390f38
Merge pull request #1691 from atgeirr/fix-missing-grat
Fix missing GRAT in switch.
2019-01-02 21:22:41 +01:00
Atgeirr Flø Rasmussen
9ba0184da4
Merge pull request #1676 from GitPaean/fixing_grid_indices
fixing grid_index for AquiferCarterTracy
2019-01-02 15:32:28 +01:00
Atgeirr Flø Rasmussen
10c77257ad Fix missing GRAT in switch. 2019-01-02 15:29:22 +01:00
Kai Bao
b3f29de675 using compressed cell index for cellToConnectionIdx_ in AquiferCarterTracy 2019-01-02 14:59:12 +01:00
Kai Bao
dcf036e757 removing some white spaces. 2019-01-02 13:39:00 +01:00
Andreas Lauser
868f447f20 use the common API opm-material for functions
the way to get the result of an evaluation is by return value, i.e.,

 z = fn.eval(x, y);

not by passing a separate argument to the eval() function like

 fn.eval(x, y, z);

the `XYTabulated2DFunction` used the latter approach causing an API
inconsistency with all other tabulation classes in
opm-material. OPM/opm-material#319 fixes that but requires this mop-up
as a consequence.
2018-12-20 10:46:22 +01:00
Atgeirr Flø Rasmussen
483d6c50e1
Merge pull request #1681 from atgeirr/fix-shutting-new-well
Avoid opening well that was shut on same time step.
2018-12-17 11:47:31 +01:00
Atgeirr Flø Rasmussen
a48fbac322
Merge pull request #1680 from GitPaean/flow_polymw_remake
adding the simulator for flow injectivity study
2018-12-17 10:26:41 +01:00
Kai Bao
3a55e4aac2 fixing grid_index for AquiferCarterTracy
adding the mapping from cartisian indices to the actual grid indices.
2018-12-14 15:36:49 +01:00
Kai Bao
0c42a179d5 makig StandardWellV can handle producer
now StandardWellV should be able to be used as the general Standard
Well.
2018-12-14 10:24:08 +01:00
Atgeirr Flø Rasmussen
b1c16e536b Avoid opening well that was shut on same time step. 2018-12-14 10:04:59 +01:00
Kai Bao
76edcc0d91 addressing the second part of comments form PR#1680 2018-12-13 21:31:36 +01:00
Kai Bao
c4254240e2 addressing the first part of comments form PR#1680
there should be no functional change.
2018-12-13 13:29:59 +01:00
Kai Bao
5535406b67 cleaning StandardWell and StandardWellV
to make them more comparable, so that we can do refactoring easier
later.
2018-12-12 15:58:15 +01:00
Kai Bao
525caad508 finishing the function addWellContributions for StandardWellV 2018-12-11 21:40:47 +01:00
Kai Bao
612ac74b89 finish the injecivity functionality
the result looks okay
2018-12-11 21:40:47 +01:00
Kai Bao
391d31e1d6 adding the polymer molecular related to the well model 2018-12-11 21:40:47 +01:00
Kai Bao
7923628f83 adding the few injectivity related functions to StandardWellV 2018-12-11 21:40:47 +01:00
Kai Bao
a08216efd5 creating StandardWellV as the new well model
to employ dynamic-size Evalution, vectors and matrices.
2018-12-11 21:40:47 +01:00
Kai Bao
b079c0a1e5 adding flow_injecitivity executable target 2018-12-11 21:40:47 +01:00
Kai Bao
e1ede3c9d5 adding polymer molecular weight to BlackoilPhases and phaseUsageFromDeck 2018-12-11 21:31:47 +01:00
Kai Bao
93fb5a2c52 add a few fields related to injectivity to WellStateFullyImplicitBlackoil
to account for the water throughput, skin pressure and water velocity
for each perforation.
2018-12-11 21:31:47 +01:00
Atgeirr Flø Rasmussen
56cc37f255 Move throw-if-nan to after storing convergence report. 2018-12-11 13:10:22 +01:00
Tor Harald Sandve
3d866812a6
Merge pull request #1671 from atgeirr/fix-infinite-loop
Fix potential infinite loop
2018-12-07 12:41:37 +01:00
Atgeirr Flø Rasmussen
69cd2f9b84
Merge pull request #1668 from totto82/remove_logging
Remove repetitive logging info
2018-12-07 10:53:31 +01:00
Atgeirr Flø Rasmussen
cb06770b54
Merge pull request #1638 from trinemykk/addtracer
add method for getting the surfacevolume well connection rate
2018-12-07 10:38:21 +01:00
Atgeirr Flø Rasmussen
cf687c19fb
Merge pull request #1571 from kel85uk/fix_#14_aquifer_making_connections
Fixes for carter tracy aquifer model
2018-12-07 09:56:36 +01:00
Tor Harald Sandve
77869606f3 Remove repetitive logging info 2018-12-07 09:28:27 +01:00
Atgeirr Flø Rasmussen
23edd39c63 Revise logic of shutting wells vs. chopping step.
An infinite loop was possible if no wells were actually shut,
yet the step was restarted with no chopping.
2018-12-03 13:25:19 +01:00
Atgeirr Flø Rasmussen
6b896d178e Add bool return value to forceShutWellByNameIfPredictionMode().
Returns true if the well requested was actually shut.
2018-12-03 13:24:34 +01:00
kel85uk
4ccbfefe0b Factor out face area calculation to a separate function. 2018-11-29 09:43:55 +01:00
kel85uk
875fec79fc Makes the necessary interface changes to check for nullptr instead of values for the influx_coeff and aquifer initial pressure. 2018-11-29 07:56:53 +01:00
Kai Bao
575907941d removing some repeated code in phaseUsageFromDeck 2018-11-27 14:55:26 +01:00
Arne Morten Kvarving
51da91c1ad remove files moved to opm-simulators-legacy 2018-11-27 11:00:21 +01:00
Atgeirr Flø Rasmussen
b6f8128260
Merge pull request #1661 from akva2/removeBlackoilStateCorr
Remove usage of BlackoilState class
2018-11-27 10:14:06 +01:00
Tor Harald Sandve
b661791a63 Remove usage of BlackoilState class
This allows (re)moving of the following files
opm/autodiff/RateConverter.hpp
opm/autodiff/Compat.cpp
opm/autodiff/Compat.hpp
opm/core/props/BlackoilPropertiesInterface.hpp
opm/core/simulator/BlackoilState.cpp
opm/core/simulator/BlackoilState.hpp
opm/core/simulator/BlackoilStateToFluidState.hpp
opm/core/utility/initHydroCarbonState.hpp
opm/polymer/PolymerBlackoilState.cpp
opm/polymer/PolymerBlackoilState.hpp
tests/test_blackoilstate.cpp
2018-11-27 09:38:38 +01:00