Commit Graph

2939 Commits

Author SHA1 Message Date
Tor Harald Sandve
843e8c9a6f Add interface for passing cell pressures directly in wellState.init(...) 2017-08-03 10:31:10 +02:00
Tor Harald Sandve
d935458fca Add polymer to phase usage. 2017-06-16 13:40:29 +02:00
Tor Harald Sandve
fc380041f2 Add polymer to blackoilstate 2017-06-12 15:37:57 +02:00
Atgeirr Flø Rasmussen
a8a46ee5ae 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
d058d8e380 [cleanup] remove two uninitialized warnings in SaturationProposFromDeck. 2017-06-07 13:19:21 +02:00
Kai Bao
67fbac5c95 removing the unused parameter:: for LinearSolverPetsc
to fix the compilation when PETsc exists.
2017-06-06 11:00:51 +02:00
Markus Blatt
327d146caa Fix uninitialized warning intpfa calculation 2017-05-24 12:12:52 +02:00
Markus Blatt
1231870e56 Add missing include of config.h
Closes OPM/opm-core#1164
2017-05-24 12:11:49 +02:00
Tor Harald Sandve
dbe7930ef7 Add SSOL to blackoilState
Stores the solvent saturation in the simulator container.
2017-05-10 11:14:53 +02:00
Tor Harald Sandve
daecfa7e55 Add solvent to phaseUsage 2017-05-08 10:29:51 +02:00
Arne Morten Kvarving
f5999e3fcb 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
Arne Morten Kvarving
a59ce6581f changed: remove XML support for ParameterGroup 2017-04-28 11:26:38 +02:00
Atgeirr Flø Rasmussen
fdd7b39587 Merge pull request #1157 from andlaus/fix-non-MPI-build
fix non-MPI builds
2017-04-20 21:47:08 +02:00
Andreas Lauser
d690549842 fix non-MPI builds
some headers must be included unconditionally.
2017-04-20 15:12:34 +02:00
Tor Harald Sandve
a96c1f9ea0 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
e77f726906 adding flag to tell when using well potential for guide rate
for WellNode.
2017-04-11 16:53:19 +02:00
Kai Bao
29372e287c removing well potentails from WellsManager 2017-04-11 16:53:19 +02:00
Kai Bao
44924b9ee9 small corrections in WellsGroup
should not change reults.
2017-04-11 16:53:19 +02:00
Kai Bao
bd9ff2ad94 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
b7ea707928 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
a6f4772ca1 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
17fb6f9ffe 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
d50d21d8e0 Wells specified with GRUP will be put under group control
immediately.
2017-04-11 16:53:19 +02:00
Kai Bao
2fcb449196 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
7701b68814 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
81fb20160c 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
aaaacce49e adding a flag to indicate whether group controls applied
for WellCollection.
2017-04-11 16:53:19 +02:00
Kai Bao
be00224a4b 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
b368cb0177 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
3b5e15771b Merge pull request #1153 from babrodtk/hysteresis_output
Added functions in SaturationProps for hysteresis IO
2017-04-07 15:54:26 +02:00
babrodtk
c3dc875005 Added functions in SaturationProps for hysteresis IO 2017-04-07 14:31:22 +02:00
Tor Harald Sandve
a8261b62da Add sat table id to well struct 2017-04-06 13:52:27 +02:00
Tor Harald Sandve
7579f2bdb9 Do not extrapolate initial rs and rv values in the depth tables 2017-03-16 12:57:56 +01:00
Kai Bao
70b19780b4 putting wells under immidatel group control when specified
with GRUP.
2017-03-07 12:48:30 +01:00
Atgeirr Flø Rasmussen
03e005bb76 Merge pull request #1143 from GitPaean/fixing_thp_initialization
Fixing thp initialization
2017-03-02 15:51:38 +01:00
Tor Harald Sandve
70b6a6e5ef Do not set rs=rsSat and rv=rvSat for the saturated case 2017-02-22 15:57:53 +01:00
Kai Bao
b97c585519 do not assign non-zero THP value when no THP involved. 2017-02-17 13:45:55 +01:00
Kai Bao
6ca48313ca correcting the confusing indent in WellState init 2017-02-17 13:28:29 +01:00
Kai Bao
8198c256a9 adding thp to the report for summary output. 2017-02-13 10:15:58 +01:00
Atgeirr Flø Rasmussen
d5a9f27e5e Merge pull request #1141 from akva2/remove_adaptive_time_stepping
remove AdaptiveTimeStepping class
2017-02-10 15:16:56 +01:00
Arne Morten Kvarving
e6cad074c2 Remove adaptive time stepping and simulator timer classes and tests/examples
They have been moved to opm-simulators
2017-02-10 14:53:22 +01:00
Atgeirr Flø Rasmussen
119b5b1a3a Merge pull request #1140 from andlaus/fix_gcc7_warnings
fix a GCC 7 warning
2017-02-10 10:31:13 +01:00
Arne Morten Kvarving
1e25b6fcfb changed: pass fipnum array into adaptive time stepping loop
needed as substep summary reports requires FIP data to be available.
add calculation of this data if output is requested and summary
config holds relevant keywords.
2017-02-09 09:33:32 +01:00
Andreas Lauser
8ef2a923ec fix a GCC 7 warning
GCC 7 warns

```
dynamic exception specifications are deprecated in C++11; use ‘noexcept’ instead [-Wdeprecated]
```

here.
2017-02-07 12:55:26 +01:00
Atgeirr Flø Rasmussen
c5a80e97a2 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
c5a0ea7524 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
78bf488a2a 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
cb84571540 considering effieciency factor when calculating production rate. 2017-01-16 16:13:44 +01:00
Kai Bao
9fe6d80f99 adding groupTargetConverged() to WellCollection 2017-01-16 15:55:35 +01:00
Kai Bao
3a06a2dd50 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