Commit Graph

47 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
671ed75535 Made ReservoirFailure and WellFailure into classes. 2018-10-25 13:08:16 +02:00
Atgeirr Flø Rasmussen
852765a65b Address review comments. 2018-10-25 12:12:06 +02:00
Atgeirr Flø Rasmussen
2bf4d15285 Rename ConvergenceStatus -> ConvergenceReport. 2018-10-25 11:57:47 +02:00
Atgeirr Flø Rasmussen
f9fae47f23 Use ConvergenceStatus in well subsystem. 2018-10-23 14:05:19 +02:00
Andreas Lauser
b5cddef928 flow: switch it to use the eWoms parameter system
this has several advanges:

- a consistent and complete help message is now printed by passing the
  -h or --help command line parameters. most notably this allows to
  generically implement tab completion of parameters for bash
- the full list of runtime parameters can now be printed before the simulator
  has been run.
- all runtime parameters understood by ebos can be specified
- no hacks to marry the two parameter systems anymore
- command parameters now follow the standard unix convention, i.e.,
  `--param-name=value` instead of `param_name=value`

on the negative side, some parameters have been renamed and the syntax
has changed so calls to `flow` that specify parameters must adapted.
2018-08-15 23:34:32 +02:00
Tor Harald Sandve
4a2780d161 split close wells from close connection 2018-07-03 15:13:30 +02:00
Tor Harald Sandve
a5f5581441 Fix more minor issues based on review 2018-07-03 14:07:53 +02:00
Tor Harald Sandve
6606bb75b2 Minor fix based on code review 2018-06-29 13:33:56 +02:00
Tor Harald Sandve
d769e7649a Name completion and connection consistently 2018-06-28 13:47:10 +02:00
Tor Harald Sandve
834f680587 Add support for COMPLUMP in WECON and WTEST 2018-06-28 13:28:30 +02:00
Tor Harald Sandve
22755cc257 Add support for combination of multi-segmented wells and WTEST 2018-06-28 10:16:29 +02:00
Tor Harald Sandve
3e53ed6386 implement WTEST support 2018-06-28 10:16:29 +02:00
Andreas Lauser
dfbc24b35f flow: avoid wrangling around with dummy state objects
these objects are only used by flow_legacy, so not having to deal with
them anymore lets non-legacy flow avoid to jump through a lot of hoops
for the sake of having a common API.

this required a fork of the NonlinearSolver and AdaptiveTimeStepping
classes. this is not a problem because the original classes would get
pruned to look like the new ones once flow_legacy gets moved out of
the opm-simulators module.
2018-06-06 10:59:41 +02:00
Kai Bao
f3f096dbbb recovering some unecessary changes.
PR #1477 introduced different ways to improve the WellState initialization.
Basically, the WellState initialization will be something challenging to
handle along with the improvement of the well model.
2018-05-28 16:05:02 +02:00
Tor Harald Sandve
2534cc46db WIP fix vfp in flow 2018-05-15 10:24:50 +02:00
Atgeirr Flø Rasmussen
63dabb4777
Merge pull request #1450 from GitPaean/update_VFP_related
adapting to the change related to VFP from the parser.
2018-04-12 11:20:21 +02:00
Kai Bao
ed49fd1e88 adapting to the change related to VFP from the parser. 2018-04-11 09:22:52 +02:00
Tor Harald Sandve
4e9403b8f8 Correct the RESV calculation for unsaturated cases
Make sure that the reservoar volumes always stays positive. i.e. we can
not remove more dissolved gas from the rate than the total volume amout
of gas.
2018-03-23 15:23:47 +01:00
Tor Harald Sandve
975a9a6766 Fix intial fluid distribution in the well
Solve the well equation in order to determine the initial fluid content
of the well used for the hydrostatic pressure calculation in the well.
2018-03-23 12:56:19 +01:00
Markus Blatt
12d2114bd7 Add well contribution to preconditioner matrix and always use old operator approach for wells.
It turned out that applying the well part of the full matrix has to be
done after the application of the non-well interactions. Otherwise we
screw up the ordering so much that convergence suffers a lot.

Kudos got Atgeirr for inspiration based on his testing.
2018-03-02 20:57:43 +01:00
Markus Blatt
e53374b8ec Check which each well whether to call apply for well contributions.
This allows for different implementations of wells in well_container
when adding well contributions to the matrix.
2018-02-26 15:47:25 +01:00
Markus Blatt
96a636f25b Let WellModel decide whether to apply well contributions.
It queries the Well whether the jacobian also contains well contributions.
If not then it applies them in the operator in addition. Thus the
well knows whether that is needed or not.
2018-02-26 15:16:07 +01:00
Markus Blatt
799cbb4b62 Add influences by well perforations to matrix.
This is only done upon request and uses the auxiliary module approach
provided by ewoms.

In the case of adding the influences we do not execute applyWellModelScaleAdd
or applyWellModel in the operator
2018-02-26 14:35:04 +01:00
Kai Bao
89bb589755 update the reservoir volume in WellState 2018-02-21 12:20:43 +01:00
Atgeirr Flø Rasmussen
4f414b78ed Ensure we do not dereference nullptr. 2018-02-13 16:22:11 +01:00
Andreas Lauser
3d0fca2f08 adapt to the gridManager() -> vanguard() change in ewoms 2018-02-08 16:27:42 +01:00
Andreas Lauser
7f3a9f1f43 catch NumericalIssue instead of NumericalProblem
the underlying problem is that the OPM build system does not define a
HAVE_OPM_COMMON macro in config.h.
2018-02-08 12:02:25 +01:00
Tor Harald Sandve
969d8f238d Use phase and comp info from FluidSystem
TODO: The output, fip and restart still uses a mixture of old and
new phase indices. This needs to be adressed in future PRs
2018-01-03 08:44:37 +01:00
Arne Morten Kvarving
dfd91d162b quell signed/unsigned comparison mismatch warning 2017-12-05 16:50:58 +01:00
Arne Morten Kvarving
b702d3834b remove unused variable 2017-12-05 16:50:52 +01:00
Atgeirr Flø Rasmussen
03a0baf447
Merge pull request #1343 from GitPaean/single_phase_resv
making the single phase RESV injection work.
2017-12-05 14:06:44 +01:00
Kai Bao
9317c1f023 removing the current argument in updateWellStateWithTarget
and some other cleaning up.
2017-11-30 17:14:29 +01:00
Kai Bao
ea3cbd1fe8 removing numComponents() from WellInterface
which is dumplicated from BlackoilWellModel.
2017-11-30 16:31:48 +01:00
Kai Bao
59722e552c making the single phase RESV injection work. 2017-11-24 11:44:53 +01:00
Tor Harald Sandve
c076ed6485 Move Rateconverter and pvtIdx to the wellInterface 2017-11-23 08:37:30 +01:00
Tor Harald Sandve
054361d537 Make it possible to combine solvent and RESV
Compute the conversion factor for solvent using the RateConverter.hpp
2017-11-22 15:21:21 +01:00
Kai Bao
8274fc9275 replacing BlackoilPhases:: with Oil Water Gas in well model
and also WellStateFullyImplicitBlackoil.

There are more places to do so, while it might be easier to create a
header file for this.
2017-11-16 12:08:58 +01:00
Tor Harald Sandve
a73208f41c Address issues raised in the review of the PR 2017-11-08 15:48:30 +01:00
Tor Harald Sandve
b9bc4b00cb Make the wellModel self-contained
The wellModel is now persistent over the time steps,
with an update method called every reportStep/episode.

This allows the following simplifications:

    1. move the wellState to the WellModel
    2. add a ref to the ebosSimulator to the wellModel
    3. clean up the parameters passed to the wellModel methods
    4. move RESV handling to the WellModel and the rateConverter
    5. move the econLimit update to the WellModel
2017-11-08 13:57:36 +01:00
Andreas Lauser
ceefb61c4a fix some unknown pragma warnings if OpenMP is not enabled 2017-10-27 17:48:26 +02:00
Kai Bao
ba8eb708d1 fixing reviewing comments from PR 1279. 2017-10-16 17:01:15 +02:00
Kai Bao
7054317d98 checking the results from the direct solver invDX
since I has not figure out a way to detect/catch the singularity of the
matrix with UMFPack, currently, we only check the validity of the
results to make sure inf or nan not enter other part of the simulation.

It can easiliy results in assertion failure, and causes the running to
be terminated. After all, it mostly likely is a numerical issue
generated during the non-linear iteration process.
2017-10-15 12:13:42 +02:00
Kai Bao
86269e0de2 cleaning up.
no functional change.
2017-10-12 15:36:54 +02:00
Kai Bao
6a4260c264 various improvement and bug fixing.
fixed one invalid memory reading of perforation_segment_depth_diffs_
in computePerfRate, which caused different results for different
running.
2017-10-12 14:10:36 +02:00
Kai Bao
1a7b5571b6 trying to add an inner well iteration to speed up convergence. 2017-10-12 14:10:24 +02:00
Kai Bao
c3a368e58e adding two more parameters related to ms wells
to help to tune and improve the convergence.
2017-10-12 13:43:04 +02:00
Kai Bao
fc06923c50 changing StandardWellsDense to BlackoilModelEbos
for a better naming.
2017-10-12 13:39:58 +02:00