Commit Graph

84 Commits

Author SHA1 Message Date
Kai Bao
032f9803be cleaning up unuseful comments and code fragments. 2017-04-11 16:51:16 +02:00
Kai Bao
ef7769b77e tracking if wells are newly added in WellStateFullyImplicitBlackoil
For a newly added well, the initialized rate cans cause big problem when
applied to VFP interploation when THP control is involved.
2017-04-11 16:51:16 +02:00
Kai Bao
a8ae9276c5 adding computeWellPotentialWithTHP() to compute well potential
in an iterative way. When VFP interpolation is performed, the bhp and
rates are coupled together. Some iteration will be required to get the
consistent bhp and well potential.
2017-04-11 16:51:16 +02:00
Kai Bao
182c5897c8 adding leastStrictBhpFromBhpLimits()
to pick the least strict bhp limits in the well controls. It is used to
calculate the well potential when there is no thp limits there.

If there is thp limits there, it will be used for further chosing of the
bhp value for well potential calculation.
2017-04-11 16:51:16 +02:00
Kai Bao
402a5a125a adding computeWellRatesWithBhp() to calculate well rates
for one well based on the give Bhp.
2017-04-11 16:51:16 +02:00
Kai Bao
7b2e6760e1 adding wellHasTHPConstraints() to decide if there is THP control
for a specific well.
2017-04-11 16:51:16 +02:00
Kai Bao
ea3adb3c37 using reference of WellState in resetWellControlFromState() 2017-04-11 16:51:16 +02:00
Kai Bao
653baae039 making the computeWellPotentials calculate potential for each well
Not store the well potentials to WellState anymore.
2017-04-11 16:51:16 +02:00
Kai Bao
819aa90d84 adding prepareTimeStep() to the StandardWellsDense
to handle the well potential related calculation
2017-04-11 16:51:16 +02:00
Kai Bao
57f7650228 adding a function computeWellPotentials for StandardWellsDense
for each well. It is a temporay approach for testing without breaking
any compilation before changing the interface for WellsManager.
2017-04-11 16:51:16 +02:00
Tor Harald Sandve
cd564ade5f Support for saturation table for each well completion
Compute relperms for each well completion based on saturation table ids
(satnums)

Does not work in combination with hysteresis.
2017-04-06 14:21:59 +02:00
Markus Blatt
30f3d4e2d0 Get rid off TypeTag system in StandardWellsDense.
Previously, we kind of hard coded the problem using the TypeTag system.
Instead of this we now simply pass the only additional thing needed, the
ElementContext, as an additional template parameter.

Removes the include of removed header BlackoilModelEbosTypeTags.hpp.
2017-04-04 11:08:17 +02:00
Markus Blatt
cde162b3d6 Use the global number of cells for the average.
This number is still wrong in master but well become correct once
PR #1107 is merged.
2017-04-04 11:07:57 +02:00
Markus Blatt
29fb281406 Updated Copyright stuff 2017-04-04 11:06:41 +02:00
Markus Blatt
4768bc9e90 Remove usage of cachedIntensiveQuantities from getWellConvergence 2017-04-04 11:05:50 +02:00
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