Commit Graph

69 Commits

Author SHA1 Message Date
Kai Bao
01d8813f53 A function to calulate the surface volume fraction of the rates
for StandardWellsDense.
2017-03-07 13:31:40 +01:00
Kai Bao
8b38b7b8a3 finishing separating the StandardWellsDense.hpp implementations. 2017-02-15 10:07:22 +01:00
Kai Bao
498f40f896 fourth part in separating the StandardWellsDense.hpp implementations. 2017-02-15 10:07:22 +01:00
Kai Bao
2a3fe58ac2 third part in separating the StandardWellsDense.hpp implementations. 2017-02-15 10:07:22 +01:00
Kai Bao
8de7795629 the second part in separating the StandardWellsDense.hpp implementations. 2017-02-15 10:07:22 +01:00
Kai Bao
8354f3600f the first part in separating the StandardWellsDense.hpp implementations.
split into commits for easy debugging purpose.
2017-02-15 10:07:22 +01:00
Kai Bao
c3f3fed47a applying the efficiency factor to all the Jacobians
of the cq_s when entering the reservoir mass balance equations.
2017-01-25 15:56:15 +01:00
Kai Bao
68558bec76 moving the update the well_state at the end of the updatewellCotnrols
in StandardWellsDense.

The reason is that the update the well controls can change the well
controls. It is better to update the well states after all the control
checking is done.
2017-01-25 14:11:27 +01:00
Kai Bao
26785597b9 putting the update of the well states to one function
in StandardWellsDense to simplify the updateWellControls() function.
2017-01-25 14:11:27 +01:00
Kai Bao
19eb0d96c8 adding applyVREPGroupControl() to StandardWellsDense. 2017-01-25 14:11:27 +01:00
Kai Bao
849dae8ec5 adding computeWellVoidageRates() to StandardWellsDense 2017-01-25 14:11:27 +01:00
Kai Bao
f53bf6f957 adding a pointer to rate_converter in BlackoilModelEbos
in StandardWellsDense.
2017-01-25 14:11:27 +01:00
Kai Bao
2dd4fa5bb2 fixing the LRAT control for StandardWellsDense 2017-01-23 11:30:23 +01:00
Kai Bao
31e7dec018 removing a few blank lines.
and adding a assertion that bhp != 0 when calculating well potentials.
2017-01-17 15:33:45 +01:00
Kai Bao
9e93ebcc64 check whether the group targets are converged. 2017-01-16 16:18:35 +01:00
Kai Bao
65a3fff6f2 moving computeWellPotentials to be earlier in assemble()
in StandardWellsDense.

solveWellEq then have access to the updated well potentials.

does not change the result.
2017-01-16 16:18:35 +01:00
Kai Bao
01322b740e fixing the mistakes in the code due to rebasing. 2017-01-16 16:18:35 +01:00
Kai Bao
a95977e716 making the group control works for StandardWellsDense 2017-01-16 16:18:35 +01:00
Kai Bao
b0e2bd9221 adding well perforation efficiency factor to StandardWellsDense
And also calculateEfficiencyFactor to initialize the values.
2017-01-16 16:18:35 +01:00
Kai Bao
4b47fa52ca adding well collection to StandardWellsDense
to make StandardWellsDense have access to the group information.
2017-01-16 16:18:35 +01:00
Kai Bao
941689722f adding functioin computeWellPotentials to StandardWellsDense 2017-01-16 16:18:35 +01:00
Kai Bao
92a4d8687f adding bhp as a parameter of computeWellFlux in StandardWellsDense
To make the function usable for computing well potentionals.
2017-01-16 16:18:35 +01:00
Andreas Lauser
b324d17003 small improvements to StandardWellsDense
the most significant change is that only a "PhaseUsage" object must be
passed to its constructor instead of a full "fluid object". also, the
pointers to the vector of "active" phases has been converted into a
full object. (this helps to avoid potential use-after-free errors.)
2017-01-11 17:02:20 +01:00
Markus Blatt
5bcdb01f5a Make StandardWellsDense support cases with no wells.
In that case `wells_manager.c_wells()` returns a null pointer
which made `updateListEconLimited` segfault. With this commit
we treat a null wells_struct as having zero wells.

With this this and #1001 opm-data/equilibrium at least runs
through in parallel. Results will be checked next.
2017-01-09 11:36:12 +01:00
Andreas Lauser
ef731672c9 remove the BlackoilPropsAdInterface abstraction layer
instead, directly use BlackoilPropsAdFromDeck.
2017-01-02 13:19:23 +01:00
Atgeirr Flø Rasmussen
ae1d78f505 Remove unused argument, silence warnings. 2016-12-29 14:34:16 +01:00
Atgeirr Flø Rasmussen
67374531e3 Merge pull request #880 from totto82/appelyard_fixes
Fixes in the Appelyard in updateState and updateWellState
2016-12-15 21:24:11 +01:00
Andreas Lauser
34c4053c65 StandardWellsDense: fix assert for the 2p case
this wasn't noticed earlier because it only bites in the water-oil
case and only if NDEBUG is not defined.
2016-12-12 14:26:34 +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
Robert Kloefkorn
1c2a2c417c [bugfix] make flow_ebos work when no wells are present. 2016-12-01 16:50:28 +01:00
Atgeirr Flø Rasmussen
63b0498843 Merge pull request #951 from andlaus/improve_SimulatorReport
extend and clean up the SimulatorReport
2016-11-30 19:34:11 +01:00
Andreas Lauser
69240fe435 StandardWellsDense: fix two assertations
the compiler suggested braces around the conditions, and by look of
it, it was right: these asserts most likely want express that only the
threephase case or the twophase case without gas are handled...
2016-11-29 14:29:51 +01:00
Andreas Lauser
fdb01cb9a3 flow_ebos: fix build with debugging flags
once more, it seems like we became a victim of the combinatorial
explosion of possibilities.
2016-11-29 11:36:30 +01:00
Andreas Lauser
8c5f92dbc4 extend and clean up the SimulatorReport 2016-11-25 21:19:57 +01:00
Tor Harald Sandve
d23270c98f Fix the 2p simulator
Only tested for oil+water case
The blockmatrix and vectors are hardcoded to be 3
and a trivial equation is used for the Gas phase.
2016-11-22 15:01:48 +01:00
Robert Kloefkorn
a0da20378c [bugfix][WellModelMatrixAdapter] fix applyscaleadd method. 2016-11-18 12:47:54 +01:00
Tor Harald Sandve
739c0906ef Improvments in convergence for flow_ebos
- restrict pressure changes. Set default to 1.0 (this also effects flow)
- change default number of linear iterations to 150
- tell stabilized newton the residual occilates even if it occilates in
only one phase (this also effects flow)
- avoid problems realated to division on small numbers

Tested on SPE9, norne and Model 2 with significant improvments.
2016-11-14 13:26:38 +01:00
Robert Kloefkorn
11238b1997 [cleanup] Use class variables instead of creating new vectors inside the apply
method of StandardWellsDense.
2016-11-02 10:43:55 +01:00
Tor Harald Sandve
77d5c8fa38 Remove Eigen from StandardWellsDense 2016-11-01 14:27:05 +01:00
Tor Harald Sandve
f1a9b1f21b Remove unused file and #includes
removes StandardWellsDense_impl.hpp
2016-11-01 13:44:38 +01:00
Tor Harald Sandve
362968c315 New WellStateFullyImplicitBlackoilDense
The WellStateFullyImplicitBlackoil is reverted to master and all
extentions moved to WellStateFullyImplicitBlackoilDense
2016-11-01 13:44:38 +01:00
Andreas Lauser
a773fd4c85 use accessor methods to access the value and derivatives of Evaluation objects 2016-11-01 13:30:41 +01:00
Robert Kloefkorn
31724030c9 Merge branch 'frankenstein' into PR/remove-Eigen-from-BMEbos 2016-10-21 14:13:58 +02:00
Robert Kloefkorn
c8374a4b95 [cleanup] Remove Eigen from BlackoilModelEbos. 2016-10-21 13:26:48 +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
Andreas Lauser
45f11d8820 StandardWellsDense: fix some valgrind complaints
note that I don't know if these changes are semantically correct (I
doubt it), but this patch fixes the valgrind complaints I saw for
SPE9_CP and on Norne.

Also, this makes the timing of flow_ebos for SPE9 determinisic between
runs: without this, I got some random time steps fail in a given run
and in the next run a completely different set of timesteps
failed. Since this was on the same same machine, without any
recompiles and no changes to the deck or any other input parameters, I
initially attributed the behavior to cosmic rays ;)

@totto82: could you have a thorough look on this?
2016-10-17 18:56:38 +02:00
Tor Harald Sandve
22f1df612b Allow crossflow if all perforations is crossflowing 2016-10-03 09:54:28 +02:00
Tor Harald Sandve
8e2657ce4d Some tuning in the Appleyard 2016-09-30 08:57:52 +02:00
Tor Harald Sandve
84c33e0e96 Add trivial well equation when there is no flow
Fixes case when all perforations in a well are crossflowing while
crossflow is not allowed
2016-09-30 08:57:52 +02:00
Andreas Lauser
6bc8080722 Merge remote-tracking branch 'totto82/frankenstein_mod' into frankenstein_merge_master
* totto82/frankenstein_mod:
  Avoid copying of matrices inside StandardWellsDense.
2016-09-15 11:48:24 +02:00