Arne Morten Kvarving
ad23d98726
remove 'flow_multisegment' and associated files
...
use 'flow' with use_multisegment_well=true
2017-11-13 14:20:47 +01:00
Atgeirr Flø Rasmussen
098e229d2e
Merge pull request #1328 from totto82/fixShearVel
...
Fix size of perf radius and length vectors.
2017-11-13 14:00:07 +01:00
Tor Harald Sandve
614f75d9b9
Fix size of perf radius and length vectors.
2017-11-13 12:16:39 +01:00
Atgeirr Flø Rasmussen
29277489e1
Make calling wsolvent() and wpolymer() always ok.
...
With the existing code, it was a bug to call wsolvent() when the well
was not a gas injector (and similar for wpolymer and water injectors).
Since such calls could happen, this minor fix removes the assertation
failure in those cases.
2017-11-13 10:40:09 +01:00
Atgeirr Flø Rasmussen
6591ca89f6
Merge pull request #1324 from totto82/moveApplyWellToRes
...
Apply the well residuals to cell residuals in SolveJacobianSystem
2017-11-10 09:57:42 +01:00
Atgeirr Flø Rasmussen
e7a6e8f2c5
Merge pull request #1322 from totto82/fixResetSolution
...
BUGFIX Update the solution variable in ebos
2017-11-09 10:35:38 +01:00
Tor Harald Sandve
5647485daa
Apply the well residuals to cell residuals in SolveJacobianSystem
...
This was moved to assemble() some time ago but according to my logic it
belongs in the solve method since this is only a trick to solve the well
equations simultaneously with the reservoir equations.
A buggy side effect of the currect implementation was that the well
residual was considered in the convergence test. I.e. this move changes
the convergence behaviour of the simulator.
2017-11-09 08:40:08 +01:00
Tor Harald Sandve
a73208f41c
Address issues raised in the review of the PR
2017-11-08 15:48:30 +01:00
Tor Harald Sandve
4bb5213f37
BUGFIX Update the solution variable in ebos
...
Updating the solution variable in updateState() was conceptually wrong
and lead to incorrect results if the linear solver failed before the
updateState() method was called. i.e. in the first iteration.
2017-11-08 14:21:31 +01:00
Tor Harald Sandve
b9bc4b00cb
Make the wellModel self-contained
...
The wellModel is now persistent over the time steps,
with an update method called every reportStep/episode.
This allows the following simplifications:
1. move the wellState to the WellModel
2. add a ref to the ebosSimulator to the wellModel
3. clean up the parameters passed to the wellModel methods
4. move RESV handling to the WellModel and the rateConverter
5. move the econLimit update to the WellModel
2017-11-08 13:57:36 +01:00
Atgeirr Flø Rasmussen
c79dab27d5
Merge pull request #1319 from GitPaean/throw_when_no_umfpack
...
removing more HAVE_UMFAPACK related in MultisegmentWell_impl
2017-11-07 14:41:52 +01:00
Atgeirr Flø Rasmussen
f886a3f0ff
Merge pull request #1311 from blattms/use-MatrixBlock-dune-2.5.0
...
Use MatrixBlock instead of FieldMatrix for DUNE 2.5.0
2017-11-07 13:28:24 +01:00
Joakim Hove
e125334847
Merge pull request #1315 from joakim-hove/extract-schedule
...
Use Schedule constructor.
2017-11-06 17:06:49 +01:00
Joakim Hove
566f4fbb02
Use Schedule constructor.
2017-11-06 14:20:41 +01:00
Atgeirr Flø Rasmussen
dde9db92a6
Merge pull request #1316 from andlaus/fix_openmp
...
flow_ebos: fix the OpenMP functionality
2017-11-03 17:43:49 +01:00
Kai Bao
89416720cb
removing more HAVE_UMFAPACK related in MultisegmentWell_impl
...
which are left from the previous PR.
2017-11-03 14:54:32 +01:00
Atgeirr Flø Rasmussen
1d0282c6fe
Merge pull request #1317 from GitPaean/throw_when_no_umfpack
...
giving more information when umfpack is not available.
2017-11-03 14:43:18 +01:00
Kai Bao
790db957f5
giving more information when umfpack is not available.
...
when calling invDXDirect.
2017-11-03 10:03:03 +01:00
Atgeirr Flø Rasmussen
63415ebd96
Merge pull request #1314 from andlaus/generic_maintainance
...
Generic maintainance
2017-11-03 09:38:19 +01:00
Andreas Lauser
36bd6a1681
flow_ebos: fix the OpenMP functionality
...
the ThreadManager from ebos was not called which resulted in some
havoc when attempting multi-threaded runs.
v2: use opm_get_max_threads() directly. thanks to [at]akva2 for the heads-up.
2017-11-02 12:47:04 +01:00
Arne Morten Kvarving
53942053af
Merge pull request #1309 from andlaus/fix_build_no_umfpack
...
make the build work if UMFPACK is not available
2017-10-30 11:05:19 +01:00
Andreas Lauser
e65790224e
replace #if HAVE_CONFIG_H by #ifdef HAVE_CONFIG_H
...
it seems like most build systems pass a -DHAVE_CONFIG_H flag to the
compiler which still causes `#if HAVE_CONFIG_H` to be false while it
clearly is supposed to be triggered.
That said, I do not really see a good reason why the inclusion of the
`config.h` file should be guarded in the first place: the file is
guaranteed to always available by proper build systems, and if it was
not included the build either breaks at the linking stage or -- at the
very least -- the runtime behavior of the resulting libraries will be
very awkward.
2017-10-27 17:48:26 +02:00
Andreas Lauser
6e7189b518
fix a few Dune 2.5 deprecation warnings
2017-10-27 17:48:26 +02:00
Andreas Lauser
ceefb61c4a
fix some unknown pragma warnings if OpenMP is not enabled
2017-10-27 17:48:26 +02:00
Markus Blatt
602f3962f3
Use MatrixBlock instead of FieldMatrix for DUNE 2.5.0
...
3x3 matrix block inversion in FieldMatrix is numerically unstable
including version 2.5.0. Therefore the previous if clause was wrong
as it activated the use of FieldMatrix already for 2.5.0 (the version
in Debian stable). With this commit we use MatrixBlock for version 2.5.0.
2017-10-25 16:32:48 +02:00
Joakim Hove
19318e5019
Schedule no longer part of EclipseState.
2017-10-24 20:38:15 +02:00
Andreas Lauser
720dc636e8
make the build work if UMFPACK is not available
...
this was caused by the recent work on multisegmented wells. If UMFPack
is available, it compiled.
2017-10-24 19:17:41 +02:00
Atgeirr Flø Rasmussen
32251461e5
Revert "Revert "Communicate the ebos solution at the beginning of the run method"
2017-10-23 12:40:29 +02:00
Atgeirr Flø Rasmussen
f66a270b7d
Merge pull request #1305 from GitPaean/checking_use_multisegment
...
checking use_multisegment_well_ first in BlackoilModelParameters
2017-10-17 21:20:07 +02:00
Kai Bao
9fde417066
checking use_multisegment_well_ first in BlackoilModelParameters
2017-10-17 13:21:02 +02:00
Markus Blatt
15dfe31d80
Revert "Communicate the ebos solution at the beginning of the run method."
...
This reverts commit 9adc4d5d3c
.
2017-10-17 08:26:39 +00:00
Kai Bao
6b00d912c3
fixing jenkins warning.
2017-10-16 19:08:12 +02:00
Kai Bao
ba8eb708d1
fixing reviewing comments from PR 1279.
2017-10-16 17:01:15 +02:00
Kai Bao
4efaf64cf7
adapting to the interface change in OPM-parser#1145.
2017-10-16 14:39:07 +02:00
Kai Bao
7054317d98
checking the results from the direct solver invDX
...
since I has not figure out a way to detect/catch the singularity of the
matrix with UMFPack, currently, we only check the validity of the
results to make sure inf or nan not enter other part of the simulation.
It can easiliy results in assertion failure, and causes the running to
be terminated. After all, it mostly likely is a numerical issue
generated during the non-linear iteration process.
2017-10-15 12:13:42 +02:00
Kai Bao
d407e516ce
throw for unsupported situations and fix warnings
...
for MultisegmentWell.
2017-10-13 10:16:44 +02:00
Kai Bao
7a29c5098f
changing the strategy of the updateWellState in MultisegmentWell
...
only applying relaxation during the inner iteration.
2017-10-12 16:46:25 +02:00
Kai Bao
86269e0de2
cleaning up.
...
no functional change.
2017-10-12 15:36:54 +02:00
Kai Bao
93b7cceaf3
removing WellStateFullyImplicitBlackoilDense as the master
...
it caused some problem in rebasing.
2017-10-12 15:05:45 +02:00
Atgeirr Flø Rasmussen
3bfe295d62
Bugfix: type for target capillary pressure.
2017-10-12 14:27:32 +02:00
Kai Bao
6a4260c264
various improvement and bug fixing.
...
fixed one invalid memory reading of perforation_segment_depth_diffs_
in computePerfRate, which caused different results for different
running.
2017-10-12 14:10:36 +02:00
Kai Bao
1a7b5571b6
trying to add an inner well iteration to speed up convergence.
2017-10-12 14:10:24 +02:00
Kai Bao
8a19b719d6
when Reynolds number is zero, return zero friction factor
...
which means there is not friction pressure loss. The formualtion has
problem in handling zero-value Reynolds number.
2017-10-12 13:43:04 +02:00
Kai Bao
6366087efd
using UMFPACK for the function invDX
...
for better robustness.
The iterative solvers require more improvement.
2017-10-12 13:43:04 +02:00
Kai Bao
78a28abf91
fixing a bug related to adding ms well during simulation.
...
When there is not ms well involved, all the ms well related is not
initialized. It causes problem when we want to add ms well after some
time of running.
The bug fix the running with model 2.
2017-10-12 13:43:04 +02:00
Kai Bao
c3a368e58e
adding two more parameters related to ms wells
...
to help to tune and improve the convergence.
2017-10-12 13:43:04 +02:00
Kai Bao
fc64d34bc2
cleaning up some comments.
2017-10-12 13:43:04 +02:00
Kai Bao
6fb459a797
introducing tolerance_pressure_ms_wells for pressure equations
...
for the multisegment wells. More detailedly, we should distinguish the
rate control equations, bhp control equations and ordinary pressure
equations.
2017-10-12 13:43:04 +02:00
Kai Bao
92abdc4f23
correcting some bugs in frictional pressure loss.
2017-10-12 13:43:04 +02:00
Kai Bao
f6ad3669f8
considering the two pressure difference to MultisegmentWell
...
while the sign of the pressure differences are not sure or well tested
yet.
2017-10-12 13:43:04 +02:00
Kai Bao
aa8b1ae0f8
giving the friction pressure loss a direction.
2017-10-12 13:43:04 +02:00
Kai Bao
ccc21e9dcd
removing WellStateMSWell.hpp
...
what was designed to use as WellState for one single Multisegment well.
2017-10-12 13:39:58 +02:00
Kai Bao
8c3f45f58e
fixing a few of bugs.
2017-10-12 13:39:58 +02:00
Kai Bao
4c207eb1f5
implementing computePerfCellPressDiffs
...
to calculate the pressure difference between perforation and perforated
grid cell.
2017-10-12 13:39:58 +02:00
Kai Bao
df593cf1d2
adding the calculation of depth differences
...
between the perforations and their segments, and also the perforations
and perforated grid blocks.
2017-10-12 13:39:58 +02:00
Kai Bao
2b4a99edf9
handling the acceleration pressure drop
...
not tested yet.
2017-10-12 13:39:58 +02:00
Kai Bao
4893334567
adding function getFrictionPressureLoss()
...
it should be related to the flow direction, which needs some tests.
2017-10-12 13:39:58 +02:00
Kai Bao
aa8ffe9386
removing the unit conversion factors in frictional formular.
...
since we are using the SI unit internally, they should not be needed.
2017-10-12 13:39:58 +02:00
Kai Bao
7ae5bd5187
adding the code to calculate the segment viscosities.
...
not tested yet.
2017-10-12 13:39:58 +02:00
Kai Bao
391abcec7f
adding helper fuction to calculate frictional pressure loss
...
not tested yet.
2017-10-12 13:39:58 +02:00
Kai Bao
f4f26395f6
fixing two compilation warning.
2017-10-12 13:39:58 +02:00
Kai Bao
ad964210e5
move invDX to MSWellHelpers.hpp.
2017-10-12 13:39:58 +02:00
Kai Bao
20c21a6cb2
removing a few variables related to matrix opertaion
2017-10-12 13:39:58 +02:00
Kai Bao
fc06923c50
changing StandardWellsDense to BlackoilModelEbos
...
for a better naming.
2017-10-12 13:39:58 +02:00
Kai Bao
6ef0c5010c
adapting the change of PR 1263
2017-10-12 13:37:05 +02:00
Kai Bao
dd9ad42a28
correcting the size of seg_comp_initial_ based on num_comp
...
for standards wells, all the three equations are mass balance
equatiions, it is safe to use numWellEq.
for MS wells, there is one extra pressure equation, it should be the
number of mass balance equations. If we do not put the polymer equation
inside the well equations, we will face dilemma soon.
2017-10-12 13:37:05 +02:00
Kai Bao
282d678622
removing flowToEbosPvIdx from MultisegmentWell
...
as a result from rebase.
2017-10-12 13:37:05 +02:00
Kai Bao
0dc041d46a
adding a use_multisegment_well_
...
to determine whether we will treat mutlisegment wells with
MultisegmentWell well model. Currently, it will be faulse by default.
It might be changed to be true by default when considering the
multisegment well model is well tested.
2017-10-12 13:37:05 +02:00
Kai Bao
3255626b2e
scaling the gas rates a little bit for MS well.
...
It can possibly benefit the StandardWell, while it is something needs a
little bit more investigation before using it.
2017-10-12 13:37:05 +02:00
Kai Bao
f7e1623b7a
only clearing matrix B and C when only_wells false.
...
to save a little calculation.
2017-10-12 13:37:05 +02:00
Kai Bao
c6be20c5cb
copying the segment rates and segment pressure from old well state.
...
It can be something rather tricky. It looks like with simple trival
initization, it is difficutl to converge. But when there is change to
the well, direct copying will not work anymore. Will we also facing
convergence problem?
2017-10-12 13:37:05 +02:00
Kai Bao
5dee45dc0a
various small improvements.
2017-10-12 13:37:05 +02:00
Kai Bao
a03a67c85e
not checking getWellConvergence more than one times
...
which is a bug. Not it is moved out of the for loop.
2017-10-12 13:37:05 +02:00
Kai Bao
bafe292af0
adding some comments for later implementation.
2017-10-12 13:37:05 +02:00
Kai Bao
b6d324c95e
implement recoverWellSolutionAndUpdateWellState
...
for MultisegmentWell_impl.
2017-10-12 13:37:05 +02:00
Kai Bao
596814943c
bug fixing to make the hydroPrssureLoss correct.
2017-10-12 13:37:05 +02:00
Kai Bao
f784cf97eb
a few bug fixing for MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
5ffd2bf026
correct the treatment of the pressure equation
...
the derivative of the inlet contribution should go to the correction
location in duneD_.
2017-10-12 13:37:05 +02:00
Kai Bao
c3b4188295
making message about catching FMatrixError more specific
...
in BlackoilModelEbos.
2017-10-12 13:37:05 +02:00
Kai Bao
23b0deb928
a few bug fixing for MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
fe1f854138
adding getWellConvergence() to MultisegmentWell_impl
2017-10-12 13:37:05 +02:00
Kai Bao
1f380713e8
using function invDX to implement functions in MultisegmentWell
...
it compiles, while not sure how it gonna work.
2017-10-12 13:37:05 +02:00
Kai Bao
ba3c7a88db
adding a functin invDX to calculate D^-1 X
...
not sure why putting it in ISTLSolver.hpp caused linking problem.
Putting it in MultisegmentWell for now.
2017-10-12 13:37:05 +02:00
Kai Bao
6f6f3ead5e
adding updateWellState for MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
1adc081430
adding function processFractions() to MultisegmentWell
...
to handle the undershooting and overshooting of the fractions during
updateWellState.
2017-10-12 13:37:05 +02:00
Kai Bao
0e7b77fac2
adding getHydorPressureLoss() to MultisegmentWell
...
to handle the hydrostatic pressure loss.
2017-10-12 13:37:05 +02:00
Kai Bao
d30c1eb2c5
adding getPressureEq() to MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
2bf82b4262
adding getControlEq() to MultisegmentWell
...
to handle the well control equation. THP control is not handled there
yet.
2017-10-12 13:37:05 +02:00
Kai Bao
ae91296339
generating the pattern of the matrix of MultisegmentWell
...
need to be verified.
2017-10-12 13:37:05 +02:00
Kai Bao
b3a233eecc
WIP in adding assembleWellEq for MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
1ffa87561b
adding computePerfRate() in MultisegmentWell
...
not tested yet.
2017-10-12 13:37:05 +02:00
Kai Bao
5d79a7f11b
adding computeSegmentFluidProperties for MultisegmentWell
...
only considering the fluid densities for now.
more fluid densities needs to be considered.
2017-10-12 13:37:05 +02:00
Kai Bao
7b873d97c9
small improvements in StandardWell
...
there is not functional change.
2017-10-12 13:37:05 +02:00
Kai Bao
1e32b40837
adding function computeInitialComposition to MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
eb119f245d
adding a few functions to calculate the fractions in MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
3e2a34239c
removing two functions from WellInterface
...
computeWellConnectionPressures() and computeAccumWell().
They belongs to the implementation details of well models now.
2017-10-12 13:37:05 +02:00
Kai Bao
8922f3e041
adding a function calculateExplictQuantities to WellInterface
...
to hide some implementation details.
2017-10-12 13:37:05 +02:00
Kai Bao
47c7c54548
making the updateWellControl to WellInterface
...
instead of having two of them in StandardWell and MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
553eeaaa82
adding updateWellControl to MultisegmentWell
...
it turned out to be same with the one in StandardWell
considerng to make it in the WellInterface.
2017-10-12 13:37:05 +02:00
Kai Bao
86c9115f1d
adding function updateWellStateWithTarget for MultisegmentWell
2017-10-12 13:37:05 +02:00
Kai Bao
c26b5905a8
re-organizting the function prepareTimeStep() for StandardWellsDense
...
for better readibility and organization.
2017-10-12 13:37:05 +02:00
Kai Bao
1024ce31f6
adding function updatePrimaryVariables() to MultisegmentWell
...
Basically, calculate the value of primary variables based on WellState.
2017-10-12 13:37:05 +02:00
Kai Bao
16ecbddefb
when encountering a multisegment well
...
we create a multisegment well instead of treating all the wells as
StandardWell. Making it compile.
2017-10-12 13:37:05 +02:00
Kai Bao
d694a72b53
adding initMSWell() to handle MS well related WellState.
2017-10-12 13:37:05 +02:00
Kai Bao
315c4a1659
more implementatin in WellStateMSWell
...
very likely that we will not use it.
2017-10-12 13:36:27 +02:00
Kai Bao
8c0af08056
adding comments for MultisegmentWell
2017-10-12 13:36:27 +02:00
Kai Bao
b5323b1b79
begin the class WellStateMSWell
...
it will be for each individual MS well.
it is kind of the start of the refactoring of the WellState.
2017-10-12 13:36:27 +02:00
Kai Bao
359de15f2b
begining MultisegmentWell.hpp
2017-10-12 13:36:27 +02:00
Atgeirr Flø Rasmussen
bbfd5b6413
Merge pull request #1180 from blattms/cleanup-version-ifs
...
[cleanup] Removes unnecessary if clauses for unsupported DUNE versions.
2017-10-12 13:28:50 +02:00
Atgeirr Flø Rasmussen
f30b95e0e7
Merge pull request #1298 from blattms/cleanup-version-ifs
...
[cleanup] Removes unnecessary if clauses for unsupported DUNE versions.
2017-10-12 13:28:45 +02:00
Atgeirr Flø Rasmussen
91cac266b4
Merge pull request #1299 from andlaus/remove_SimulationParameter
...
do not set the SimulationParameter property anymore
2017-10-12 10:47:03 +02:00
Atgeirr Flø Rasmussen
9206909f75
Merge pull request #1297 from GitPaean/ratio_economic_well
...
handling WELL workover over ratio economic limit.
2017-10-12 06:52:33 +02:00
Atgeirr Flø Rasmussen
aba0b14907
Merge pull request #1301 from andlaus/update_banner2
...
update flow startup message
2017-10-12 06:49:06 +02:00
Andreas Lauser
d1ce08d654
update flow startup message
...
The old message was not really accurate anymore because flow also
supports the polymer and solvent extensions. (Also, the parentheses
around the version were removed because they are not necessary.)
v2: use the message proposed by [at]atgeirr
v3: re-add accidentially removed website URL
2017-10-11 23:33:47 +02:00
Atgeirr Flø Rasmussen
df59dbbabf
Merge pull request #1177 from alfbr/master
...
Removing redundant checks from Nexus
2017-10-11 21:57:36 +02:00
Markus Blatt
2bdafdb602
[cleanup] Removes unnecessary if clauses for unsupported DUNE versions.
...
We are targetting DUNE 2.4.* and 2.5.* currently. Therefore this commit removes
the if checks for lower versions to cleanup the code.
2017-10-11 21:25:18 +02:00
Atgeirr Flø Rasmussen
d770e16abf
Merge pull request #1289 from totto82/removeWellStateFullyImplicitBlackoilDense.hpp
...
Remove WellStateFullyImplicitBlackoilDense
2017-10-11 18:59:53 +02:00
Andreas Lauser
ae3842fa80
remove do not set the SimulationParameter property anymore
...
this needs to merged before the SimulationParameter hack can be
removed from eWoms. the patch will cause spurious deprecation warnings
until then. (i.e., it is best to merge them together.)
2017-10-11 16:01:55 +02:00
Markus Blatt
6a5dc78249
[cleanup] Removes unnecessary if clauses for unsupported DUNE versions.
...
We are targetting DUNE 2.4.* and 2.5.* currently. Therefore this commit removes
the if checks for lower versions to cleanup the code.
2017-10-11 15:53:45 +02:00
Atgeirr Flø Rasmussen
67401d7d63
Merge pull request #1287 from andlaus/improve_polymorphic_flow
...
Improve polymorphic flow
2017-10-11 15:44:54 +02:00
Atgeirr Flø Rasmussen
0264a1f609
Merge pull request #1294 from akva2/there_there_mr_ocd
...
quell signed/unsigned mismatch warning
2017-10-11 14:07:03 +02:00
Kai Bao
5328de6361
handling WELL workover over ratio economic limit.
2017-10-11 13:35:07 +02:00
Tor Harald Sandve
dc8f811cbe
Remove WellStateFullyImplicitBlackoilDense
...
After the restructuring of of the well model, keeping an extra class for
the "Dense" model is not needed. The only thing still left in
WellStateFullyImplicitBlackoilDense was some solvent related stuff, this
PR moves this to WellStateFullyImplicitBlackoil and removes
WellStateFullyImplicitBlackoilDense.
In addition to a cleaning code this PR fixes missing solvent well output.
2017-10-11 10:54:59 +02:00
Alf B. Rustad
fa886bc3aa
Cosmetic change
2017-10-11 10:45:18 +02:00
Alf B. Rustad
7d32729a00
Cosmetic change
2017-10-11 10:45:18 +02:00
Alf B. Rustad
db7c47042c
Remove remaining Nexus checks
2017-10-11 10:45:17 +02:00
Alf B. Rustad
520574513f
Avoid false positives by introducing a tolerance
2017-10-11 10:45:17 +02:00
Alf B. Rustad
cc3ab456e9
Removing redundant checks from Nexus
2017-10-11 10:44:59 +02:00
Kai Bao
2458b45901
removing GEFAC and SSOL from MissingFeatures.cpp
2017-10-10 15:53:12 +02:00
Atgeirr Flø Rasmussen
de1be6b5ef
Merge pull request #1273 from GitPaean/different_oscillation
...
avoiding the oscillation treatment applied to well solution
2017-10-10 14:29:04 +02:00
Andreas Lauser
ab93f58371
some minor cleanups
...
this fixes a few warnings and removes now-unnecessary function arguments.
2017-10-10 14:07:07 +02:00
Arne Morten Kvarving
a0b81a131a
quell signed/unsigned mismatch warning
2017-10-09 14:45:08 +02:00
Atgeirr Flø Rasmussen
63b38cfe20
Merge pull request #1281 from totto82/fixRESV
...
Use pore volume weighted averaged hydrocarbon state in rateConverted.
2017-10-09 13:42:43 +02:00
dr-robertk
682424a7bf
Merge pull request #1286 from blattms/communicate-ebos-solution-in-run
...
Communicate the ebos solution at the beginning of the run method.
2017-10-09 13:13:58 +02:00
Andreas Lauser
cede806bd5
flow: refactor the specializations
...
The motivation for this PR is that currently the build fails on my
Ubuntu 17.10 laptop with two processes because that machine "only" has
8 GB of RAM (granted, the optimization options may have been a bit too
excessive). under the new scheme, each specialization of the simulator
is put into a separate compile unit which is part of
libopmsimulators. this has the advantages that the specialized
simulators and the main binary automatically stay consistent, the
compilation is faster (2m25s vs 4m16s on my machine) because all
compile units can be built in parallel and that compilation takes up
less RAM because there is no need to instantiate all specializations
in a single compile unit.
on the minus side, all specializations must now always be compiled,
the approach means slightly more work for the maintainers and the
flow_* startup code gets even more complicated.
2017-10-06 15:35:00 +02:00
Andreas Lauser
0c92c24dcb
flow_ebos*: make it build and (the sequential part) work if dune-fem is available
...
in particular, this implied some changes to the MPI initialization
code. since dune-fem's GridPart class currently has issues with
CpGrid's implementation of loadBalance(), parallel computations still
do not work if dune-fem is around, but at least sequential ones now
do even if MPI is enabled.
2017-10-06 15:35:00 +02:00
Andreas Lauser
64d7366de2
mark the non-template methods of the adaptive time stepper as inline
...
this is needed to avoid linker errors if this class ought to be used
in multiple compile units. IMO the main problem here is the use of an
_impl.hpp file.
2017-10-06 15:34:59 +02:00
Markus Blatt
9adc4d5d3c
Communicate the ebos solution at the beginning of the run method.
...
Currently, the ReservoirState passed to the method and converted
to the initial solution of the Ebos simulator might have wrong
values in the ghost layer (this is the case for SPE9, Norne, Model 2).
This commit uses the syncOverlap method to update these values once they
are converted to the Ebos solution. The ReservoirState remains untouched.
This is enough to have consistent values throughout the simulation and only
introduces one additional communication step.
2017-10-05 14:33:48 +02:00
Arne Morten Kvarving
35fbe03ca7
remove unused variables
...
quells warnings
2017-10-05 12:02:10 +02:00
Arne Morten Kvarving
167147acc4
use std::remove_const instead of Dune::remove_const
2017-10-05 12:02:10 +02:00
Andreas Lauser
d95b622c75
mark initHydroCarbonState() as inline
...
this allows it to be used in multiple compile units without the linker
running amok.
2017-10-04 19:24:20 +02:00
Tor Harald Sandve
ebc2f46967
Use pore volume weighted averaged hydrocarbon state in rateConverted.
...
- pressure, rs and rv is averaged using hydrocarbon pore volume weights.
- pvtRegions is used as input in the conversion factor calculations.
- the pvt cell of the first well cell is used as the pvt index.
(Completing a well in two different PVT regions sounds like a very bad
idea anyway)
- FIP region support is added to the rate converter also for the ebos
interface.
2017-10-03 10:25:56 +02:00
Kai Bao
28a7167d61
avoiding the oscillation treatment applied to well solution
...
it is a design to avoid some performance degeneration for parallel
running.
2017-09-29 17:15:39 +02:00
Atgeirr Flø Rasmussen
f7529cf33e
Merge pull request #1269 from GitPaean/fixing_well_efficiency
...
correcting the way to use efficiency factor in assembleWelEq
2017-09-25 10:26:55 +02:00
Atgeirr Flø Rasmussen
83ca6d41e3
Merge pull request #1263 from totto82/gasoil
...
Make 2p gas oil compile and run
2017-09-21 14:03:33 +02:00
Tor Harald Sandve
5839962e31
Some trivial cleaning
2017-09-21 12:16:46 +02:00
Atgeirr Flø Rasmussen
c1024ce2d1
Merge pull request #1268 from blattms/log-wells-debug-messages-only-on-master
...
Log debug messages about wells only on master.
2017-09-21 10:33:04 +02:00
Tor Harald Sandve
992ab84435
Remove support and tests for pseudo 2p model in flow ebos
2017-09-20 08:11:44 +02:00
Tor Harald Sandve
b452d16f46
Fix parallell run
2017-09-19 11:16:34 +02:00
Tor Harald Sandve
69c608829f
Include RESV in the scaling factor
...
- solvent + RESV is not correct. Make the simulator throw until this is
sorted out.
- remove unused parameter
2017-09-18 11:28:13 +02:00
Tor Harald Sandve
352dccd5e9
Make 2p gas oil compile and runs
...
-- use mapping from canonicalToActiveCompIdx from Ebos
-- add guards againts non-existing components
2017-09-18 11:28:13 +02:00
Alf Birger Rustad
7b1e034a90
Merge pull request #1270 from atgeirr/fix-output-timestep
...
Fix report step number associated with substeps.
2017-09-17 20:25:33 +02:00
Atgeirr Flø Rasmussen
60fe6b2687
Fix report step number associated with substeps.
...
It appears summary files by convention expect all substep data points to
be chunked together with the data point at the end of the report step.
2017-09-15 12:04:30 +02:00
Kai Bao
fa03db07f8
correcting the way to use efficiency factor in assembleWelEq
2017-09-11 13:01:55 +02:00
Markus Blatt
a1f960b467
Reallow logging fatal errors for well convergence on all ranks
2017-09-07 14:45:00 +00:00
Markus Blatt
5d1eff5107
Log debug messages about wells only on master.
...
Previously all ranks logged the message and did clutter the
output files quite a bit.
2017-09-07 14:17:56 +00:00
Kai Bao
cd4d17bfa7
removing a few unused nw variable in StandardWell_impl.
2017-09-07 15:04:09 +02:00
Atgeirr Flø Rasmussen
77f3bdaeda
Merge pull request #1257 from totto82/add_invert4x4
...
Add invert4x4 specialization for invertMatrix()
2017-09-04 09:08:32 +02:00
Tor Harald Sandve
210f1edf25
Add test for invert 4x4 matrix specialization
2017-08-29 11:01:20 +02:00
Kai Bao
b4538af164
not throwing when encountering multisegment wells.
2017-08-29 10:01:31 +02:00
Kai Bao
9accb56c86
adding a test for well model.
...
It is just test for StandardWell.
2017-08-25 14:09:26 +02:00
Kai Bao
355be6c26c
collecting the NaN and too large well residuals
...
make sure all the processes will throw if there is any of the processes
found abnormal residual values.
2017-08-25 14:09:26 +02:00
Kai Bao
8abe48a693
making destructor of WellInterface virtual
...
to avoid memory leaking.
2017-08-25 14:09:26 +02:00
Kai Bao
a60a969257
fixing one memory-leaking for flow_ebos running 2p case.
2017-08-25 14:09:26 +02:00
Kai Bao
96340a23ff
computePerfRate and crossFlowAllowed protected in StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
bc78553686
renaming well_solutions_ and well_variables
...
to give slightly easier understanding.
2017-08-25 14:09:26 +02:00
Kai Bao
25869026e5
renaming a few functions
...
to reflect the functions better. No functional change.
2017-08-25 14:09:26 +02:00
Kai Bao
9a4a9a2bcc
using well name and allow_cf form well_ecl.
2017-08-25 14:09:26 +02:00
Kai Bao
a908bd7cf1
makding createWellContainer a static function.
2017-08-25 14:09:26 +02:00
Kai Bao
f9b7094075
fixing of some comments
...
no functional change.
2017-08-25 14:09:26 +02:00
Kai Bao
52af70ad0e
adding debugging output for solveWellEq
...
to tell if the solveWellEq is successful.
2017-08-25 14:09:26 +02:00
Kai Bao
a29be796e7
adding comments about function calculateBhpFromThp.
2017-08-25 14:09:26 +02:00
Kai Bao
277d26df8a
cleaning up well residual related in BlackoilModelEbos
...
TODO: how to output the information for debugging well iteration
process.
2017-08-25 14:09:26 +02:00
Kai Bao
7a9fc2132e
more cleaning up of StandardWellsDense.
...
not functional change.
2017-08-25 14:09:26 +02:00
Kai Bao
68edfd7235
removing several unused variables.
2017-08-25 14:09:26 +02:00
Kai Bao
fe3d2f91e0
adding functions to calcuate between thp and bhp
...
to reduce some code duplication in StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
8a12ec677f
more cleaning up
...
not funtional change.
2017-08-25 14:09:26 +02:00
Kai Bao
66b5226039
removing some unused variables
...
to reduce warnings.
2017-08-25 14:09:26 +02:00
Kai Bao
f1c0e84878
cleaning up for StandardWellsDense.
2017-08-25 14:09:26 +02:00
Kai Bao
49df0c12f6
cleaing up and fixing the error from rebasing.
2017-08-25 14:09:26 +02:00
Kai Bao
af6155d15a
updating the well group status before updating targets.
...
This recovers the running with group control.
2017-08-25 14:09:26 +02:00
Kai Bao
31ce880ba7
fixing the prallel running.
...
It needs WellSwitchingLogger for all the processes even there are not
wells in some of the processes.
2017-08-25 14:09:26 +02:00
Kai Bao
5cb0a5109e
adding setWellSolutions to StandardWellsDense.
...
the function will calculate the well_solutions_ based on well_state.
It will be used when we recover the well_state from a failed iteration,
then we should also update well_solutions_ for consistence.
2017-08-25 14:09:26 +02:00
Kai Bao
5af15fa63f
removing well_soltutions_ from WellStateFullyImplicitBlackoilDense
...
adding function setWellSolutions() to StandardWell.
The class WellStateFullyImplicitBlackoilDense is ready to be removed
now, while the only thing can go wrong compred with the original version
is the group control, which is not tested yet.
2017-08-25 14:09:26 +02:00
Kai Bao
8441eb77bd
not using wellSolutions() from WellState
...
while not sure whether we can remove it totally because of the comments
related to group control.
2017-08-25 14:09:26 +02:00
Kai Bao
6dcb0dfba1
fixing the vfp running with flow_ebos.
2017-08-25 14:09:26 +02:00
Kai Bao
78dd9d1d16
more cleaning up of the interface of WellInterface and StandardWell
2017-08-25 14:09:26 +02:00
Kai Bao
1550fb7600
WIP in cleaning up the interfaces of WellInterface and StandardWell
...
commiting now to save some changes.
2017-08-25 14:09:26 +02:00
Kai Bao
d4f26ad47a
recovering the running of flow_ebos for 2p + dummy phase.
2017-08-25 14:09:26 +02:00
Kai Bao
c43505d007
cleaning up some interface in WellInterface.
2017-08-25 14:09:26 +02:00
Kai Bao
6bbbe5061d
adding the copyright information.
2017-08-25 14:09:26 +02:00
Kai Bao
3e26a8b467
using different size of block size of well and reservoir
2017-08-25 14:09:26 +02:00
Kai Bao
894529be57
small cleaning up.
2017-08-25 14:09:26 +02:00
Kai Bao
f19dd03387
using Base to represent WellInterface<TypeTag>
...
for better readability.
2017-08-25 14:09:26 +02:00
Kai Bao
bd84e3c9f3
making a trival way to reduce the covergence of the wells.
...
to be improved later.
2017-08-25 14:09:26 +02:00
Kai Bao
4f716a633d
using legacyDepth_ for the perfoation depth
...
for StandardWell. It turns out that it can be different with the
grid.getCellDepth() from the parser.
2017-08-25 14:09:26 +02:00
Kai Bao
6e0da756dc
fixing the running of flow_ebos_2p.
...
by not adding the dummy phase.
2017-08-25 14:09:26 +02:00
Kai Bao
c1ee941195
adding shear calculation to the polymer simulation.
2017-08-25 14:09:26 +02:00
Kai Bao
d4fa8c06f1
adding computeRepRadiusPerfLength() to WellInterface.
2017-08-25 14:09:26 +02:00
Kai Bao
d1727d0183
correcting the injectivity with polymer injection.
2017-08-25 14:09:26 +02:00