Commit Graph

1683 Commits

Author SHA1 Message Date
Tor Harald Sandve
d247b05b6b Add polymer to phase usage. 2017-06-16 13:40:29 +02:00
Tor Harald Sandve
655b81c8d7 Add polymer to blackoilstate 2017-06-12 15:37:57 +02:00
Atgeirr Flø Rasmussen
8a2cf4fd2d Merge pull request #1167 from GitPaean/fixing_petsc_compilation
removing the unused parameter:: for LinearSolverPetsc
2017-06-12 11:12:45 +02:00
Robert Kloefkorn
02b0b9d0f9 [cleanup] remove two uninitialized warnings in SaturationProposFromDeck. 2017-06-07 13:19:21 +02:00
Kai Bao
bbb0c5a993 removing the unused parameter:: for LinearSolverPetsc
to fix the compilation when PETsc exists.
2017-06-06 11:00:51 +02:00
Markus Blatt
1b52fc0724 Add missing include of config.h
Closes OPM/opm-core#1164
2017-05-24 12:11:49 +02:00
Tor Harald Sandve
d7fa66197f Add SSOL to blackoilState
Stores the solvent saturation in the simulator container.
2017-05-10 11:14:53 +02:00
Tor Harald Sandve
9e504da6a1 Add solvent to phaseUsage 2017-05-08 10:29:51 +02:00
Arne Morten Kvarving
ca2288ac37 changed: remove embedded 'parameters' namespace in ParamGroup
inconsistent and unnecessary.

this is purely a cosmetic change, the only exception was a function with
the generic name 'split', which was renamed to splitParam to avoid confusion.
2017-04-28 15:34:11 +02:00
Atgeirr Flø Rasmussen
ce6801df7a Merge pull request #1157 from andlaus/fix-non-MPI-build
fix non-MPI builds
2017-04-20 21:47:08 +02:00
Andreas Lauser
6f257f0877 fix non-MPI builds
some headers must be included unconditionally.
2017-04-20 15:12:34 +02:00
Tor Harald Sandve
9a1a26b267 FIX memory leakage in well_controls
The Alq and vfp is set free in well_controls_destroy to avoid memory
leakage.
2017-04-20 12:58:16 +02:00
Kai Bao
926f93fa4e adding flag to tell when using well potential for guide rate
for WellNode.
2017-04-11 16:53:19 +02:00
Kai Bao
e0d48a366b removing well potentails from WellsManager 2017-04-11 16:53:19 +02:00
Kai Bao
ff08c6b4f3 small corrections in WellsGroup
should not change reults.
2017-04-11 16:53:19 +02:00
Kai Bao
e8aa431ec7 not negative rate_for_group_control
in WellsGroup::updateWellProductionTargets. The current implementation
of group control is allowed tiny over-producing of the group target
while it cause negative rate_for_group_control . When all the wells are
not under group controls, it can cause oscillation of the control mode
later.

Probably a better way is to do something when we see overproducing
happens.
2017-04-11 16:53:19 +02:00
Kai Bao
a498d48a73 Tracking situation when group overproducing its target
Bascially it means that something wrong with our algorithms. Not sure
how to handle it properly yet.
2017-04-11 16:53:19 +02:00
Kai Bao
b027b27452 not applying the group control in WellsManager
since the guide rates are not completed yet.
2017-04-11 16:53:19 +02:00
Kai Bao
4bd1b1cf76 not setting up guide_rates in WellsManager based on well potentials
That part is moved to well_collection, will be handled in the beginning
of time step.
2017-04-11 16:53:19 +02:00
Kai Bao
bec92dee9e Wells specified with GRUP will be put under group control
immediately.
2017-04-11 16:53:19 +02:00
Kai Bao
2f10b8fc23 Always updating the well targets under group control
for each iteration. Even all the wells are under individual controls,
their group targets/constraints should also be updated for correct group
behavoirs.
2017-04-11 16:53:19 +02:00
Kai Bao
530afe55dd handle the situatioin when giving a NaN prod target to injectors
When all production wells are under individual controls, the group can
have zero production guide rates, which can result NaN value targets for
injectors.
2017-04-11 16:53:19 +02:00
Kai Bao
d41c4a371f Considering the injection phase when applying VREP group controls
GCONINJE only support single phase injection. When we inject one phase,
the values of distr for other phases should be set to be zero.

It will provide one strategy to figure out which phase we are
injecting. It is important when we inject one phase while the well is
claimed to be another phase in WELSPECS.
2017-04-11 16:53:19 +02:00
Kai Bao
745a2a5561 adding a flag to indicate whether group controls applied
for WellCollection.
2017-04-11 16:53:19 +02:00
Kai Bao
dff247d975 adding a function setGuideRatesWithPotentials() to WellCollection
it only handles the calculation based on wellPotentials though.

Or it should also give each well a value for wells does not specify a
guide rates? which will be some value same for all the wells?
2017-04-11 16:53:19 +02:00
Andreas Lauser
5125929a66 SimulatorReport: make it possible to report failed time steps
the method can still be called as it used to be. in this case no
failures are reported, though.
2017-04-10 23:31:24 +02:00
Atgeirr Flø Rasmussen
208e394e3d Merge pull request #1153 from babrodtk/hysteresis_output
Added functions in SaturationProps for hysteresis IO
2017-04-07 15:54:26 +02:00
babrodtk
46bd3499dc Added functions in SaturationProps for hysteresis IO 2017-04-07 14:31:22 +02:00
Tor Harald Sandve
214e9764b2 Add sat table id to well struct 2017-04-06 13:52:27 +02:00
Tor Harald Sandve
289a15f0e5 Do not extrapolate initial rs and rv values in the depth tables 2017-03-16 12:57:56 +01:00
Kai Bao
d1469bd39e putting wells under immidatel group control when specified
with GRUP.
2017-03-07 12:48:30 +01:00
Atgeirr Flø Rasmussen
863b00bf30 Merge pull request #1143 from GitPaean/fixing_thp_initialization
Fixing thp initialization
2017-03-02 15:51:38 +01:00
Tor Harald Sandve
d3a4976529 Do not set rs=rsSat and rv=rvSat for the saturated case 2017-02-22 15:57:53 +01:00
Kai Bao
bdb9d8fcd6 do not assign non-zero THP value when no THP involved. 2017-02-17 13:45:55 +01:00
Kai Bao
f4a3e90d3b correcting the confusing indent in WellState init 2017-02-17 13:28:29 +01:00
Kai Bao
85b5ff6b68 adding thp to the report for summary output. 2017-02-13 10:15:58 +01:00
Atgeirr Flø Rasmussen
99c69a17d5 Merge pull request #1138 from andlaus/refactor_well_permeability
do not explicitly pass the permeability to the well model anymore
2017-01-27 13:15:50 +01:00
Andreas Lauser
1ae94c8db3 do not explicitly pass the permeability to the well model anymore
this information is already part of the EclipseState. The reason why
this should IMO be avoided is that this enforces an implementation
(ordering of the permeability matrices) the simulator on the well
model. If this needs to be done for performance reasons, IMO it would
be smarter to pass an array of matrices, instead of passing a raw
array of doubles.  I doubt that this is necessary, though: completing
the full Norne deck takes about 0.25 seconds longer on my machine,
that's substantially less than 0.1% of the total runtime.

in order to avoid code duplication, the permeability extraction
function of the RockFromDeck class is now made a public static
function and used as an implementation detail of the WellsManager.

finally, the permfield_valid_ attribute is removed from the
RockFromDeck class because this data was unused and not accessible via
the class' public API.
2017-01-27 12:51:12 +01:00
Kai Bao
b60439c564 set the VREP control as current control when applying VREP control
for the first time

Not sure it is always the better things to do here, while it can help
the consistence of the two current controls in the well_controls and
well_state.
2017-01-25 14:11:37 +01:00
Kai Bao
4fcbd16962 considering effieciency factor when calculating production rate. 2017-01-16 16:13:44 +01:00
Kai Bao
e0143f85fd adding groupTargetConverged() to WellCollection 2017-01-16 15:55:35 +01:00
Kai Bao
31465c732c adding groupProdTargetConverged() to WellsGroup
When the group is producing its target, we consider it is converged.
When the group is not producing its target, while the group can not
produce more based on its own limits, we also consider it is converged.

When the group is not producing its target, while the group can
potentially produce more, we consider it is not converged.
2017-01-16 14:19:52 +01:00
Kai Bao
0312190f7d adding canProdueMore() function to wellsGroup
to indicate whether the group can produce more to match the group target
when they are not producing enough compared with the group target.
2017-01-16 11:25:23 +01:00
Kai Bao
f6b92dcc43 updating the group control limit for individual control wells
to provide a better standard for the wells under individual control to
return to group control. For example, some wells get really big group
control limit and switch to individual control, it is very difficult for
them to return to group control with that kind of unreasonable fixed
group limit.
2017-01-12 15:44:44 +01:00
Atgeirr Flø Rasmussen
15790ecb57 Merge pull request #1133 from blattms/parallel-accumulate
Added an accumulate method that allows to switch off non-owner entries.
2017-01-11 15:16:48 +01:00
Markus Blatt
0fc3a57d20 Added an accumulate method that allows to switch off overlap entries.
It does using a mask vector with entries 0 or 1. If that is not provided
it falls back to std::accumulate.
2017-01-11 12:18:39 +01:00
Atgeirr Flø Rasmussen
f19c90bba7 Throw if solvent phase injected. 2017-01-09 16:33:03 +01:00
Atgeirr Flø Rasmussen
e5bb786df2 Merge pull request #1120 from jokva/density-from-eclipsestate
Use Density from EclipseState
2017-01-09 10:38:30 +01:00
Atgeirr Flø Rasmussen
95d4a8101d Merge pull request #1125 from jokva/reduce-deck-use-relperm-diagnostics
Don't rely on Deck for checkTable and checkPhase
2017-01-09 09:35:25 +01:00
Atgeirr Flø Rasmussen
e88c7df418 Merge pull request #1124 from jokva/read-rock-from-eclipsestate
Read ROCK from EclipseState, not Deck
2017-01-09 09:33:47 +01:00