Commit Graph

2895 Commits

Author SHA1 Message Date
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
Kai Bao
8f658a92f2 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
713c833b0a 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
7830083e9b 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
ac6965de2e 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
00dad30432 Throw if solvent phase injected. 2017-01-09 16:33:03 +01:00
Atgeirr Flø Rasmussen
7ef8971be4 Merge pull request #1120 from jokva/density-from-eclipsestate
Use Density from EclipseState
2017-01-09 10:38:30 +01:00
Atgeirr Flø Rasmussen
8daa0f440c 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
e2023ed38e Merge pull request #1124 from jokva/read-rock-from-eclipsestate
Read ROCK from EclipseState, not Deck
2017-01-09 09:33:47 +01:00
Atgeirr Flø Rasmussen
898ca1b7e0 Merge pull request #1131 from atgeirr/increase-iters-for-equil
Increase max iterations for capillary curve inversion.
2017-01-09 09:31:14 +01:00
Atgeirr Flø Rasmussen
be26c072e1 Increase max iterations for capillary curve inversion.
Triggered by a new two-phase case.
2017-01-06 15:24:08 +01:00
Tor Harald Sandve
5ac89ad8a7 Make it optinal to apply SWATINIT
The reasoning behind this to make it possible to initialize the case
without SWATINIT in order to compute the same defaulted THPRES values as
Ecl. The initialization needs to be re-computed to account for SWATINIT
in the simulations.
2017-01-02 15:10:09 +01:00
Atgeirr Flø Rasmussen
fdd81eacaa Remove unused Deck function argument. 2017-01-02 09:47:57 +01:00
Atgeirr Flø Rasmussen
2e49273da7 Fix order of initialization. 2016-12-29 13:55:42 +01:00
Jørgen Kvalsvik
bca5c8e8de Don't rely on Deck for checkTable and checkPhase
Prefer using EclipseState over Deck.
2016-12-20 14:08:58 +01:00
Jørgen Kvalsvik
ad4033b9dc Read ROCK from EclipseState, not Deck 2016-12-20 12:24:27 +01:00
jokva
ec060d513b Merge pull request #1123 from jokva/read-pressure-swat-sgas-from-es
Read RS,RV,PRESSURE,SWAT,SGAS from EclipseState
2016-12-20 10:01:13 +01:00
Jørgen Kvalsvik
8cc624fd0d Read RS,RV,PRESSURE,SWAT,SGAS from EclipseState
Prefer reading these values from EclipseState rather than the Deck type.
2016-12-19 14:26:27 +01:00
Tor Harald Sandve
2a3a825895 Store whether timestep failed or not
Used in flow ebos to tell the simulator to recalculate the cached
quantities for failed timesteps.
2016-12-19 10:52:59 +01:00
Jørgen Kvalsvik
59cc0a1635 Use Density from EclipseState 2016-12-15 16:06:46 +01:00
Jørgen Kvalsvik
f0b4c4f390 Read PVTW from EclipseState
Read the PVTW table entries from EclipseState rather than manually
through the Deck object.
2016-12-06 14:53:41 +01:00
Andreas Lauser
b5b3507cb0 AdaptiveTimeStepping: fix stupid (but harmless) mistake in the sub-step info message
that was a copy-and-pasto: newton iterations = linearizations - 1
2016-12-03 15:04:32 +01:00
Andreas Lauser
ce02a4bb92 clean up and extend the SimulationReport class
it now also accounts for assembly, linear solve, update and output
write time and indicates if an operation has converged.
2016-11-30 11:27:49 +01:00
Atgeirr Flø Rasmussen
8d129d7172 Merge pull request #1113 from atgeirr/remove-grid-stuff
Move grid things to opm-grid.
2016-11-29 21:04:14 +01:00
Atgeirr Flø Rasmussen
c7cc24385a Remove files moved to opm-grid. 2016-11-29 13:25:22 +01:00
Atgeirr Flø Rasmussen
602f3252e6 Merge pull request #1103 from GitPaean/fixing_warning
warning fixed related to petsc
2016-11-23 12:37:31 +01:00
Jørgen Kvalsvik
cadb14c9e8 Ask for reference depth at timestep. 2016-11-22 14:22:09 +01:00
Atgeirr Flø Rasmussen
1e462f4c04 Merge pull request #1107 from GitPaean/fixing_findWellNode
Adding a flag to WellCollection whether group control active
2016-11-17 23:27:06 +01:00
Kai Bao
4427c85d77 a flag to WellCollection whether group control active 2016-11-17 16:26:19 +01:00
Bård Skaflestad
1429046029 Merge pull request #1105 from andlaus/fix_valgrind_errors
fix some valgrind errors in the init code
2016-11-16 19:08:48 +01:00
Andreas Lauser
1d98c3b8ca fix some valgrind errors in the EQUIL code
this fixes some valgrind errors while doing the twophase capability
for flow_ebos: In all previously tested cases, these errors were
probably non-fatal because the memory illegally accessed here is
likely to be allocated (but after this function was finished it
contained garbage).

note that I'm not completely sure if this patch is semantically
correct, so I'd appreciate some input who understands it. (what is
"z"?)
2016-11-16 17:20:24 +01:00
Kai Bao
fda1016532 warning fixed related to petsc 2016-11-16 15:35:35 +01:00
Kai Bao
6e4f9e708e rewriting the findWellNode function
with assuming we should always find the well in the well collection.
2016-11-16 14:27:15 +01:00
Joakim Hove
df920e4970 Merge pull request #1101 from jokva/changes-in-grouptree
GroupTree interface changed upstream
2016-11-16 13:26:58 +01:00
Kai Bao
c3b00dc7fd fixing the comments.
No change in the functions and results.
2016-11-16 11:40:10 +01:00
Kai Bao
708bfd169b addressing a few comments. 2016-11-16 09:51:06 +01:00
Kai Bao
bf2f9b3f06 adding target_updated_ flag to WellNode
to save some repeated efforts when updating Well Targets.
2016-11-16 09:43:28 +01:00
Kai Bao
55eec0b2ed checking whehter need to update before updateWellTargets. 2016-11-15 13:56:49 +01:00
Kai Bao
f9f5bacee4 cleaning up more unused flag from WellsGroup 2016-11-11 11:29:12 +01:00
Kai Bao
91b8c872eb removing a few not-used function with the new strategy. 2016-11-10 17:50:30 +01:00
Kai Bao
95997e208c different strategy is using when updating the well targets
When the group has wells both under individual control and group
control, since the well rates under individual control changes each
iteration, the well targets for this kind of group need to be updated
each iteration.

When we change to use implicit well potentials later, which is supposed
to be more accurate, we probably should always (unless we decided not to)
update the well targets each iteration.
2016-11-10 17:22:25 +01:00
Kai Bao
085785bf26 adding function findWellNode() to WellCollection
to return the WellNode* instead of WellGroupInterface*
2016-11-10 16:28:40 +01:00
Kai Bao
b319e1a75d cleaning up and adding more comments for better understanding.
No functional change.
2016-11-10 16:28:40 +01:00
Kai Bao
3e8b1bdb82 applying the efficiency factor to VREP control. 2016-11-10 16:28:40 +01:00
Kai Bao
76a2108ea9 adding VREP injection support.
not handling multiple injection wells for moment.
2016-11-10 16:28:40 +01:00