Commit Graph

308 Commits

Author SHA1 Message Date
babrodtk
8ae7178f0a This adds bubble/dew point pressure output to legacy flow 2017-04-18 14:03:56 +02:00
Kai Bao
ce0e580cee fixing comments.
no functional change.
2017-04-11 16:51:16 +02:00
Kai Bao
4ed95fcbf0 calculate well potentials based on requireWellPotentials()
from well_colllection. Not based on command line paramters anymore.
2017-04-11 16:51:16 +02:00
Kai Bao
181112491b recovering group control for legacy_flow. 2017-04-11 16:51:16 +02:00
Kai Bao
72d0d4ddb8 revising the computeWellPotentials in StandardWells
so it compute the potentials for each well instead of each perforation.
2017-04-11 16:51:16 +02:00
Atgeirr Flø Rasmussen
2dff8ef141 Merge pull request #1135 from nairr/terminal_output_mod
Minor terminal output modifications
2017-04-11 11:39:27 +02:00
Rohith Nair
375e4e2678 Changed output classification of NaN residuals to "Bug" from "Problem" 2017-04-10 18:55:54 +02:00
babrodtk
1fd36e9451 Fixed hysteresis input/output in flow_legacy 2017-04-07 14:36:36 +02:00
babrodtk
e0e1ca51e6 Added soMax to flow_legacy 2017-04-05 12:32:43 +02:00
Robert Kloefkorn
82658c92d0 Removal of SimulatorFullyImplicitBlackoilOutputEbos.{h,c}pp.
All simulators now use SimulationDataContainer to store intermediate data that
is passed to the output Solution container. This is in cases not the most
efficient way, but it's unified to avoid errors from code duplication.
2017-02-09 16:57:45 +01:00
Andreas Lauser
5fd83985a9 port the RateConverter to use the FluidSystem instead of the old fluid property API
this makes the RateConverter stuff independent of Eigen and it
simplifies some things because the the old PVT API is designed as a
"bulk-with-derivatives" API while the rate converter code used it in
"single shot" mode without derivatives.
2017-01-02 13:19:25 +01:00
Andreas Lauser
ef731672c9 remove the BlackoilPropsAdInterface abstraction layer
instead, directly use BlackoilPropsAdFromDeck.
2017-01-02 13:19:23 +01:00
Andreas Lauser
c880efae5b mostly eliminate Eigen in the FIP and VFP code
this code mostly used the Eigen vectors as arrays anyway, so let's use
`std::vector`.

also, this patch only "mostly eliminates" Eigen from from these parts
of the code because the source files of the VFP code still use
AutoDiffBlock; Unfortunately this cannot easily be changed because
`flow_legacy` depends on these methods. (`flow_ebos` does not use the
incriminating methods.)
2016-12-30 11:46:27 +01:00
Atgeirr Flø Rasmussen
32c8303976 Merge pull request #978 from andlaus/flow_ebos-cleanups-1
BlackoilDetails: split it in two
2016-12-19 12:53:14 +01:00
Andreas Lauser
f29dae5409 BlackoilDetails: split it in two
now we have BlackoilDetails.hpp which contains all stuff that is used
by flow_ebos as well as flow and which does not include anything from
Eigen, and we have BlackoilLegacyDetails.hpp which contains all stuff
that depends on Eigen (and is thus not required by flow_ebos)
2016-12-19 11:03:34 +01:00
Tor Harald Sandve
4ac69d51d1 Don't force rs<rsSat and rv<rvSat in updateState 2016-12-12 12:54:57 +01:00
Tor Harald Sandve
e614c42818 Avoid hard-coded appelyard parameter in flow_ebos
Start using the parameters in the parameter file instead of the hard-
coded ones.
Unify the restriction of the drs and drv in black-oil and black-oil-
solvent updateState
2016-12-05 13:44:33 +01:00
Tor Harald Sandve
294ca31fc8 Fixes in the Appelyard in updateState and updateWellState
1) changes dp_max_rel default to 0.2
2) introduces a dbhp_max_rel paramter to restrict the bhp update in the
updateWellState() (instead of using the dp_max_rel) Default is set to
1.0
3) Restrict rs and rv between 0,and the satruation value
4) Set rs and rv to zero for the water only cases
5) Guard against zero rs and rv when calcuating the maximum allowed rs
and rv change.

Tested on norne, model 2 and model 2.2

Number of problems for the different models with and without this fix
Case
this PR master
Norne
10
45
Model 2
21
78
Model 2.2
200
248
2016-12-05 13:44:33 +01:00
Andreas Lauser
8c5f92dbc4 extend and clean up the SimulatorReport 2016-11-25 21:19:57 +01:00
Robert Kloefkorn
feea8c1753 Introduce parameter for time step in days when single precision should be used
in the linear solvers. Also, a parameter was introduced to toggle the use of AMG.
2016-11-21 17:18:24 +01:00
Atgeirr Flø Rasmussen
95cc415fba Merge pull request #937 from akva2/quell_warnings
Quell some compiler warnings
2016-11-21 11:11:46 +01:00
Arne Morten Kvarving
caac9d7843 fixed: put variable under ifdef to avoid unused warnings without mpi 2016-11-21 10:21:11 +01:00
Andreas Lauser
b2f7b8c989 Merge remote-tracking branch 'origin/master' into frankenstein 2016-11-18 11:09:41 +01:00
Kai Bao
0ab04b04cd checking whethter group control is active
When applying group control related functions.
2016-11-17 16:01:59 +01:00
Kai Bao
d06acaa4b5 adapting to the change in opm-core 2016-11-16 14:06:20 +01:00
Kai Bao
f85da3768e cleaning up and updating MultisegmentWells 2016-11-16 13:27:30 +01:00
Kai Bao
6bbc726bc2 checking and outputing the residuals for the well equations.
Before, the tolerance for the norm of the residual of the well control
equations was 1bar, which makes no sense for rate control.
For some rate controls, we are not able to update the well state with
the target rates, we have to enforce the convergence throught the
residual checking.
2016-11-16 13:26:54 +01:00
Kai Bao
002439c5b1 WIP in testing new group update strtegy.
results with min_iter=2 works okay, while not min_iter=1.

It means the iteration stop at the wrong situation.
2016-11-16 13:26:28 +01:00
Kai Bao
753da2dd36 putting the VREP control update after updateWellControls
which makes it almost should be put inside updateWellControls function.

it does not change the result.
2016-11-16 13:25:35 +01:00
Kai Bao
337693cc65 removing the wrongly wrapped std::vector
adding more comments for future reference.
2016-11-16 13:25:35 +01:00
Kai Bao
9150c217f2 making the VREP enforcement into a small method.
in BlackoilModelBase.
2016-11-16 13:25:35 +01:00
Kai Bao
9a95697fde updating some comments. 2016-11-16 13:25:35 +01:00
Kai Bao
0f3e34bb25 cleaning up some comments. 2016-11-16 13:25:35 +01:00
Kai Bao
cb897b07d0 Adding VREP injection support.
As part of it, adding a function to calculate reservoir voidage rate.
2016-11-16 13:25:35 +01:00
Kai Bao
a15513e546 adding a rate converter to the BlackoilModelBase 2016-11-16 13:25:35 +01:00
Kai Bao
623ef3850e applying the efficiency factor to flow 2016-11-16 13:25:35 +01:00
Kai Bao
ac67a10316 removing one updateWellControls from solveWellEq
not recalling why adding it in the first place.

And correcting some comments for clarification.
2016-11-16 13:25:35 +01:00
Kai Bao
0df52603d7 fixing the interface of wellModel constructors
to make all the simulators compile.
2016-11-16 13:25:35 +01:00
Kai Bao
26b16c1050 cleaning up the output and adding more comments. 2016-11-16 13:25:11 +01:00
Kai Bao
d992161b82 output cleaning up and add more comment. 2016-11-16 13:24:39 +01:00
Kai Bao
e323f15d2f putting more things in the prototyping test. 2016-11-16 13:23:55 +01:00
Andreas Lauser
fc4dfea185 Merge remote-tracking branch 'origin/master' into frankenstein
* origin/master:
  checking the residual for the well control equations.
2016-11-15 12:27:04 +01:00
Kai Bao
ce8498c4d7 checking the residual for the well control equations. 2016-11-11 13:26:22 +01:00
Andreas Lauser
ddecdc9dbe Merge remote-tracking branch 'origin/master' into frankenstein_merge_master_v7
* origin/master:
  Bugfix: use correct object in sequential model.
  Bugfix: properly handle two-phase cases.
  Bugfix: pass both normal and extra data to output.
  Update well data output integration.
  Adapt to API change in opm-parser.
  Ensure logging only on first rank.
  Add isIORank_ member to avoid repeated calls.
  Rename isRankZero() -> isIORank() for consistency.
  Ensure only first-rank logging.
  Add isRankZero() utility.
  Bugfix: missing return.
  do not set limits for prt log and set correct value for Note.
  correct function call order and add whitespace.
  supprot MESSAGES default vaule.
  wellToState reads new opm-output data exchange
  Write control to data::Wells. Missing ability to restore.
  Avoid using buggy wellstate api
  Stop report early if there are no wells
  Update to interface change in opm-output
2016-10-28 09:22:38 +02:00
Atgeirr Flø Rasmussen
1fe610ef5a Bugfix: properly handle two-phase cases.
Errors were found in FIP handling and output.
2016-10-27 11:02:04 +02:00
Atgeirr Flø Rasmussen
8ed3418245 Ensure only first-rank logging.
Also classify convergence troubles or out-of-bounds residuals as
"problem" not "error".
2016-10-20 22:40:24 +02:00
Andreas Lauser
6754bad00b Merge branch 'master' into frankenstein
* master:
  Update to shared_ptr-less parser interface.
2016-10-20 20:16:42 +02:00
Jørgen Kvalsvik
1c6a4b34da Update to shared_ptr-less parser interface. 2016-10-20 14:08:04 +02:00
Andreas Lauser
7cfe8322e2 Merge branch 'master' into frankenstein
* master:
  adapt to the removal of the unit system of opm-core
2016-10-19 13:30:44 +02:00
Andreas Lauser
44d3d5b536 Merge branch 'master' into frankenstein
* master: (42 commits)
  Let only one rank write to step_timing.txt
  Do not refer users to issue tracker if multiple procs log.
  Remove unused variable.
  Use vector instead of VLA, also add missing includes.
  changed: bundle eigen3 in the original tarball for debian
  update redhat6 packaging
  Bugfix parallel computation of weighted pressure etc.
  Fixed uninitialized bug, and added logging/comment
  Removed superfluous std::move
  Refactoring
  Initial version of summary data
  Do not store collective communication in the wells object.
  Make sure that updateWellControls is called on each process.
  Make WellSwitchingLogger work with DUNE 2.3
  Schedule::getGroup returns reference, not pointer
  Removed warning in WellSwitchLogger::calculateMessageSize
  Correctly initialize MPI for multisegment wells test
  Changed some names in WellSwitchingLogger
  Use speaking name for bool in getCellData
  Whitespace and other formatting changes
  ...
2016-10-14 19:31:56 +02:00