Commit Graph

5762 Commits

Author SHA1 Message Date
Tor Harald Sandve
c076ed6485 Move Rateconverter and pvtIdx to the wellInterface 2017-11-23 08:37:30 +01:00
Tor Harald Sandve
054361d537 Make it possible to combine solvent and RESV
Compute the conversion factor for solvent using the RateConverter.hpp
2017-11-22 15:21:21 +01:00
Markus Blatt
f32743cf31 Disregard non-active cells when writing MPI_RANK in writeInitial.
This saves space and it is allowed and recommended (spacewise) to
use integer arrays with only values for active cells in writeInitial.
2017-11-22 14:18:32 +01:00
Atgeirr Flø Rasmussen
796f6cd13c
Merge pull request #1338 from totto82/scheduleTUNING
Support TUNING in schedule section.
2017-11-22 14:03:58 +01:00
Andreas Lauser
ef76d0a8cc
Merge pull request #1335 from atgeirr/refactor-sim
Removing unused code parts and minor refactoring
2017-11-22 13:57:58 +01:00
Tor Harald Sandve
6862ed0b35 Fix 2p bug 2017-11-22 09:24:52 +01:00
Tor Harald Sandve
197019d865 Adress PR review issues 2017-11-22 08:31:57 +01:00
Markus Blatt
9402f4bde1 Make CellOwnerHandle available without MPI
and thus make compilation succeed in this case as using
it is perfectly find even if MPI is not there.
2017-11-21 15:06:36 +01:00
Tor Harald Sandve
2a7d7b8ae5 Pass ref instead of shared pointer to initEquil 2017-11-21 14:29:08 +01:00
Tor Harald Sandve
31bfb22273 Adapt to the refactoring of the Equil initialization code
Most noteably the blackoilState is not returned by the initialization
code anymore, instead the initialization class is returned.
2017-11-21 13:52:07 +01:00
Tor Harald Sandve
d6ea5cc402 Cleaning the initialization code
-remove whitespaces
-fix documentation
2017-11-21 12:52:07 +01:00
Tor Harald Sandve
0ef82665f5 Use &ref not shared_pointer to MaterialLawManager 2017-11-21 12:08:10 +01:00
Tor Harald Sandve
51f48fcd13 Remove blackoilPhases and phaseUsage from the initialization code
Note 1: The initialization code now always consider 3 phases.
For 2-phase cases a trivial (0) state is returned.
Note 2: The initialization code does not compute a BlackoilStats,
but instead pass the initialization object with the initial state.
2017-11-21 12:08:10 +01:00
Tor Harald Sandve
36e8f1bfec Remove BlackoilProps from equil initalization code
Use FluidSystem and materialLaw from opm-material
directly not via the BlackoilProps in opm-core
2017-11-21 12:08:10 +01:00
Markus Blatt
e7688a2ca0 Use MPI_RANK as ECL keyword (max length is 8)
MPI_RANKS was one character to long and rose an exception with message
"Error: Program threw an exception: Keyword is too long."
2017-11-21 11:17:40 +01:00
Tor Harald Sandve
c03dbc1693 Support TUNING in schdule section. 2017-11-21 11:12:16 +01:00
Markus Blatt
073f63ac4c Adapt writeInitial call to use integer vectors for printing ranks
This adapts to the new function signature as of PR 216 in opm-output. It uses the
newly introduced map of integer vectors to print the MPI ranks in a parallel run.
2017-11-20 15:30:50 +01:00
Atgeirr Flø Rasmussen
6e8adbbd7d Remove old "backup-restore" functionality.
Was no longer working and would require some maintenance to work again.
2017-11-20 14:31:13 +01:00
Atgeirr Flø Rasmussen
353f4a6265 Move creating local fipnum array to constructor. 2017-11-17 15:42:16 +01:00
Atgeirr Flø Rasmussen
33833eebe3 Align PRT message header. 2017-11-17 15:41:46 +01:00
Atgeirr Flø Rasmussen
ed263ba030 Remove unused function argument. 2017-11-17 15:41:23 +01:00
Atgeirr Flø Rasmussen
8bd441f431 Remove obsolete time and convergence output. 2017-11-17 15:28:52 +01:00
Alf B. Rustad
7dba2c4d70 Format fix-up 2017-11-17 08:25:22 +01:00
Alf B. Rustad
18419be734 Moving developer centric messages from PRT file to DEBUG file 2017-11-17 08:25:22 +01:00
Alf B. Rustad
ad68c05982 Change substep to time step in logging 2017-11-17 08:25:21 +01:00
Alf B. Rustad
2d2198a775 Change log output from Time step to Report step 2017-11-17 08:25:21 +01:00
Atgeirr Flø Rasmussen
68dab29aec
Merge pull request #1333 from GitPaean/avoid_use_BlackoilPhases
replacing BlackoilPhases:: with Oil Water Gas in well model
2017-11-16 21:49:30 +01:00
Kai Bao
8274fc9275 replacing BlackoilPhases:: with Oil Water Gas in well model
and also WellStateFullyImplicitBlackoil.

There are more places to do so, while it might be easier to create a
header file for this.
2017-11-16 12:08:58 +01:00
Atgeirr Flø Rasmussen
d8ad13c4b5 Move fip computation and unit conversion to separate method. 2017-11-15 16:31:06 +01:00
Atgeirr Flø Rasmussen
4256af6754 Move (local) fipnum creation to separate method. 2017-11-15 16:13:28 +01:00
Atgeirr Flø Rasmussen
0f210dcb6c Move FIP output to separate method. 2017-11-15 15:55:58 +01:00
Atgeirr Flø Rasmussen
91ac16b7e3 Merge pull request #1184 from akva2/remove_unused_sources
remove unused code
2017-11-15 14:09:31 +01:00
Arne Morten Kvarving
a76ae214b8 remove unused code 2017-11-15 11:56:40 +01:00
Atgeirr Flø Rasmussen
f29f1b49d1 Merge pull request #1122 from atgeirr/fix-type-bug-in-equil
Fix type bug in equil
2017-11-14 14:40:47 +01:00
Atgeirr Flø Rasmussen
3d0c6da513
Merge pull request #1320 from joakim-hove/missing-features
Missing features
2017-11-14 11:19:13 +01:00
Joakim Hove
a6ef70cd91 Added keywords to list of unsupported. 2017-11-14 08:56:06 +01:00
Joakim Hove
d04c52cebf Reformatted list of unsupported keywords. 2017-11-14 08:55:52 +01:00
Atgeirr Flø Rasmussen
60ee67804b
Merge pull request #1330 from akva2/remove_simulators
Remove duplicate EBOS based simulators and legacy simulators that has been replaced
2017-11-13 15:56:33 +01:00
Arne Morten Kvarving
e0907ddc49 remove 'flow_solvent' and associated files
use 'flow'
2017-11-13 14:21:10 +01:00
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
Kai Bao
d470edfb0b correct an assertion error in getWellConvergence in StandardWell
and adding comments why it is the case for polymer case.
2017-08-25 14:09:26 +02:00
Kai Bao
5ed9f4d497 incorporting polymer except the parts related to PLYSHLOG 2017-08-25 14:09:26 +02:00
Kai Bao
b3428a8bf9 incorporating the solvent related to StandardWell 2017-08-25 14:09:26 +02:00
Kai Bao
72ca91d59b more cleaning up for StandardWellsDense and StandardWell 2017-08-25 14:09:26 +02:00
Kai Bao
0acd0ef387 small adjustment of member functions of WellInterface 2017-08-25 14:09:26 +02:00
Kai Bao
af254a8f4d removing some of the using of Wells in StandardWellsDense 2017-08-25 14:09:26 +02:00
Kai Bao
8ddd197dcf cleaning up StandardWellsDense
removing more unused stuff.
2017-08-25 14:09:26 +02:00
Kai Bao
63c418c02f adding fucntion updateListEconLimited() to WellInterface 2017-08-25 14:09:26 +02:00
Kai Bao
5986295975 adding checkRatioEconLimits to WellInterface 2017-08-25 14:09:26 +02:00
Kai Bao
1a4bd6ffb2 adding checkMaxWaterCutLimit and checkRateEconLimits to WellInterface 2017-08-25 14:09:26 +02:00
Kai Bao
369ccfef52 handling well_efficiency_factor_ in WellInterface. 2017-08-25 14:09:26 +02:00
Kai Bao
358d4c2a00 cleaning up more things from StandardWellsDense 2017-08-25 14:09:26 +02:00
Kai Bao
7e9eee4ee4 moving wsolvent and wpolymer to WellInterface
to do this, adding well_ecl_ and current_step_ to WelInterface.
2017-08-25 14:09:26 +02:00
Kai Bao
a02a0d8599 removing updateWellStateWithTarget from StandardWellsDense
and also fixing the assertion error related to disabling the residual()
    function of StandardWellsDense.
2017-08-25 14:09:26 +02:00
Kai Bao
8130b32791 cleaning up some functions from StandardWellsDense. 2017-08-25 14:09:26 +02:00
Kai Bao
e6d2b8550b adding function computeWellPotentials to StandardWell
for some similar reasons, this function stays in StandardWell for now.
Eventually, it should go to WellInterface with some refactoring work.
2017-08-25 14:09:26 +02:00
Kai Bao
1d34c9dc6e adding computeWellPotentialWithTHP() to StandardWell
it is not clear at the moment how all the well potentials related will
work with MS wells. For the moment, keep the well poentials related only
in StandardWell.

By theory, they should be very similar, while some dependence on certain
member variables makes some small refactoring work necessary.
2017-08-25 14:09:26 +02:00
Kai Bao
c3cc4021fa adding computeWellRatesWithBhp() to StandardWell 2017-08-25 14:09:26 +02:00
Kai Bao
dfc532a713 cleaning up some more stuff unused in StandardWellsDense 2017-08-25 14:09:26 +02:00
Kai Bao
e695a3c418 cleaning up some unused stuff from StandardWellsDense 2017-08-25 14:09:26 +02:00
Kai Bao
f1677015fe using getWellConvergence in BlackoilModelEbos
Tested with SPE1.

TODO: with the current way, we are not outputting any well residual
information. We need to address what kind of residual information we
want to output with the new well model.
2017-08-25 14:09:26 +02:00
Kai Bao
ab67635134 adding applySolutionWellState to apply solution from reservoir
to update well state.

With this way, the BlackoilModelEbos does not need to know the data type
assocated with different well type.

It is not well tested yet.
2017-08-25 14:09:26 +02:00
Kai Bao
07f563a1e1 implementing two apply() function in StandardWell_impl
The two functions will be essentially the same even for different types
of wells. Maybe later we should try to put them in WellInterface.
2017-08-25 14:09:26 +02:00
Kai Bao
f1123acdf0 also switching B and C in StandardWell_impl 2017-08-25 14:09:26 +02:00
Kai Bao
e7a2e52763 making matrix C and B same with the reference paper.
Really no good point to make C and B different from the paper
formulation except introducing more confusion.
2017-08-25 14:09:26 +02:00
Kai Bao
51226af445 refactoring solveJacobianSystem() not to handle xw.
which is one step to avoid to access the type of xw, which is related to
the implementation of the well model.
2017-08-25 14:09:26 +02:00
Kai Bao
b080874b89 adding the offset of perf for each well
when accessing perforation rate and perforation pressure from the
well_state.
2017-08-25 14:09:26 +02:00
Kai Bao
168205a993 checking magnitude of the residual for convergence
in StandardWell_impl.
2017-08-25 14:09:26 +02:00
Kai Bao
ddb21e1f2c correcting the indexing of xvar_well_old in updateWellState
in StandardWell_impl.
2017-08-25 14:09:26 +02:00
Kai Bao
1c2353fab8 making the ref_depth_ to be double in WellInterface
which is a mistake.
2017-08-25 14:09:26 +02:00
Kai Bao
4624ecc63d correcting the dFLimit and dBHPLimit in StandardWell_impl 2017-08-25 14:09:26 +02:00
Kai Bao
eca28a8ade adding a function outputWellState for StandardWellsDense
to output the well state for debugging purpose.
2017-08-25 14:09:26 +02:00
Kai Bao
3ceea76616 adding function computeAccumWell and computeWellConnectionPressures
to StandardWell and removing a few not needed function from StandardWellsDense
2017-08-25 14:09:26 +02:00
Kai Bao
033fe70620 making init() function for WellInterface virtual. 2017-08-25 14:09:26 +02:00
Kai Bao
4e4e383107 slightly changing createWellContainer() in StandardWellsDense
no functional change.
2017-08-25 14:09:26 +02:00
Kai Bao
9c215faade removing function allow_cross_flow() from StandardWellsDense 2017-08-25 14:09:26 +02:00
Kai Bao
229244142f adding updateGroupControls() to StandardWellsDense
which separates the group control related operations. The group control
has to be handled in the level of all wells, which makes more functions
of the well class to be visible outside.
2017-08-25 14:09:26 +02:00
Kai Bao
d535157b1a cleaning up a few fucntions in StandardWellsDense
to remove the implementation implemented in StandardWell already.
2017-08-25 14:09:26 +02:00
Kai Bao
fb5fa836c0 removing some repeated contents in getWellConvergence in StandardWellsDense
which results from the rebasing process.
2017-08-25 14:09:26 +02:00
Kai Bao
48dee6bd7a renaming function allCrossFlow() in StandardWell
to avoid confusion. and the detail of the function needs to be
justified.
2017-08-25 14:09:26 +02:00
Kai Bao
e5b5e250fe incoporating more content from PR 1220
while the parts related to polymer are not incoporated fully yet, since
it has been considered in the new well model refactoring.
2017-08-25 14:09:26 +02:00
Kai Bao
e3399ca203 fixing some compilation error after rebase.
while a lot of new stuff have not entered, since many of the essential
parts are in different files now. Rebasing will not incoporate the new
stuff automatically.
2017-08-25 14:09:26 +02:00
Kai Bao
07d24b9d8d solveWellEq in StandardWellsDense calls
solveWellEq from each individual well.
2017-08-25 14:09:26 +02:00
Kai Bao
9dace225de adding wellEqIteration() to StandardWell
the involvement of the group control in updateWellControls() makes the
solution of well equations for each well individually more troublesome.
As a result, we will still makes the solveWellEq in all the wells level.
2017-08-25 14:09:26 +02:00
Kai Bao
d99fe876dd adding getWellConvergence for StandardWell 2017-08-25 14:09:26 +02:00
Kai Bao
e01e8c352a adding function computeWellConnectionDensitesPressures to StandardWell 2017-08-25 14:09:26 +02:00
Kai Bao
0f997a537a adding computeConnectionPressureDelta to StandardWell
it is also copied from WellDensitySegmented while only handle one
Standard Well.
2017-08-25 14:09:26 +02:00
Kai Bao
9514e44d13 adding function computeConnectionDensities to StandardWell
which is copied from WellDensitySegmented, while avoid using of the
Wells struct.

TODO: find a better place to put these long functions.
2017-08-25 14:09:26 +02:00
Kai Bao
20c36d19c1 adding computePropertiesForWellConnectionPressures to StandardWell 2017-08-25 14:09:26 +02:00
Kai Bao
d3378ab403 adding function computeAverageFormationFactor to StandardWellsDense
which is seperated from getWellConvergence for better flexiblity later.
2017-08-25 14:09:26 +02:00
Kai Bao
9c65684bf0 adding updateWellControl to StandardWell
TODO: check whehter it should go to WellInterface.
2017-08-25 14:09:26 +02:00
Kai Bao
f293e81336 adding function updateWellStateWithTarget to StandardWell
without dealing with wsolvent function. It can be just a member variable
since we are handling well one by one individually.
2017-08-25 14:09:26 +02:00
Kai Bao
1d9d70ee02 adding the updateWellState to StandardWell
this function is very long and need to debug very carefully and it
should be split for better readability for sure.
2017-08-25 14:09:26 +02:00
Kai Bao
1174d2de54 adding assembleWellEq to StandardWell
F0_ is not initialized yet.
2017-08-25 14:09:26 +02:00
Kai Bao
1942853337 adding function computePerfRate to StandardWell 2017-08-25 14:09:26 +02:00
Kai Bao
7223163155 handing the numComponents in WellInterface 2017-08-25 14:09:26 +02:00
Kai Bao
266442b0bd adding extendEval() to StandardWell
For this type of functions that related to Evaluation should be
implemented within individual well model.
2017-08-25 14:09:26 +02:00
Kai Bao
ff2ada66bc adding the three swapping functions to WellInterface
They should only be used to change the order related to the reservoir
variables, so they should be same for all the well models and should be
put in the WelInterface.
2017-08-25 14:09:26 +02:00
Kai Bao
1a4ceeec66 makding the StandardWell and WellInterface templated
with the template parameter TypeTag.
2017-08-25 14:09:26 +02:00
Kai Bao
182bf315f3 implementing getQs() and getBhp() within StandardWell.
It does not compile. Now it is pretty clear that anything related to
Evalulation should go to each individual well model (StandardWell or MS
well ) and not stay with the Wells.
2017-08-25 14:09:26 +02:00
Kai Bao
2d02503091 more or less getting the old implementation in
and compile now.
2017-08-25 14:09:26 +02:00
Kai Bao
0cf6699591 adding StandardWell class
copied from the old implementation, which is the starting point for the
new refactoring
2017-08-25 14:09:26 +02:00
Kai Bao
910fe0318c adding the WellInteface
will be the base class for different well models.
2017-08-25 14:09:26 +02:00
Robert Kloefkorn
07e0d71906 [feature][flow] Add a common executable for all flow variants, i.e.
flow_ebos, flow_ebos_polymer, flow_ebos_solvent, flow_ebos_2p.
2017-08-23 16:21:15 +02:00
Tor Harald Sandve
6716ca63c9 Force solvent saturation between [0,1] 2017-08-23 09:50:40 +02:00
Tor Harald Sandve
55fc987af8 Add 4x4 invertMatrix specialization in FMatrix
The specialization is added in the ISTLSolver, not in fmatrix.h in dune-
common since 1) we need it now 2) the special treatment of singular and
near singular matrices may be specifiy to the solvent model.
2017-08-23 09:50:19 +02:00
Atgeirr Flø Rasmussen
58eea94460 Merge pull request #1247 from totto82/removeState-PR
Remove reservoirState from BlackoilModelEbos
2017-08-22 20:47:16 +02:00
Tor Harald Sandve
d643476ea5 Fix fallout if no group controll (NONE) is specified for a group 2017-08-18 08:56:26 +02:00
Tor Harald Sandve
6146190844 Fixes comments from PR
Don't sum ghost cells in the RateConverter
Some cleaning and comments.
2017-08-18 08:46:44 +02:00
Atgeirr Flø Rasmussen
8998207d7e Merge pull request #1253 from blattms/print-bubble-dew-point-problems-only-on-0
Output bubble/dew point computation problems only on rank 0.
2017-08-17 22:25:53 +02:00
Tor Harald Sandve
6bca2ea69c Fix rebase 2017-08-17 11:34:33 +02:00
Tor Harald Sandve
2bf8d48272 Remove redundant local state in ParallelDebugOutput 2017-08-17 11:13:00 +02:00
Tor Harald Sandve
593546da4b Fix 2p case in relativeChange(...) in BlackoilModelEbos 2017-08-17 11:13:00 +02:00
Tor Harald Sandve
ce84a59b29 Remove reservoirState from BlackoilModelEbos
1) Use the solution variable directly in RelativeChange(...)
2) Add a method in the RateConverter that takes the simulator instead of the state.
3) Pass the reservoir pressure directly to the well initialization.
4) Move convertInput(...) to SimulatorFullyImplicitBlackoilEbos.hpp.
This code is only used to convert the initial reservoir state.
5) Modify  updateState(...). The solution variable is updated directly and adaptPrimaryVariable(...)
from ewoms is used to switch primary variables. An epsilon is passed to adaptPrimaryVarible(...) after a switch
of primary variables to make it harder to immediately switch back.

The following code used by flow_ebos still uses the reservoirState
1) the initialization
2) restart
3) output of the initial state
4) the step methods in AdaptiveTimeStepping and NonlinearSolver.
The reservoirState is not used by this methods, so after the initial step, an empty reservoirState is passed around in the code.
2017-08-17 11:13:00 +02:00
Atgeirr Flø Rasmussen
e3ceecdfa4 Silence unused variable warnings. 2017-08-15 11:17:30 +02:00
Markus Blatt
7b3b99f692 Output bubble/dew point computation problems only on rank 0.
We do this by switching to output the global index of the cells.
In a first step the problematic cell indices are gather on process 0.
Then they are logged there.

This should prevent spurious ouput at the end of PRT and DEBUG files after the
simulation time is printed. This happened previously for some parallel
runs of model 2. Unfortunately, it seems these problems do not appear any
more for the current master. At least I could not reproduce them.
2017-08-14 21:34:54 +02:00
Atgeirr Flø Rasmussen
c6e729b1bf Merge pull request #1252 from atgeirr/debug-reordering-solver
Fixing bugs and improving the reordering solver
2017-08-10 14:09:58 +02:00
Atgeirr Flø Rasmussen
67823c5893 Disable debugging output of detailed cell data. 2017-08-10 13:09:22 +02:00
Atgeirr Flø Rasmussen
784bcf6892 Experiment with relaxing single cell iterations. 2017-08-10 12:31:04 +02:00
Atgeirr Flø Rasmussen
9cf6832140 Ignore limits to rs and rv changes.
As implemented with a relative limit, even with 1e9 default limit it
would still be impossible to get away from a zero value. It is
possible that the limits may return later, implemented in a less
buggy way, however for now they do not seem necessary.
2017-08-10 11:25:47 +02:00
Kai Bao
c59aa9127e making rate_converter to be reference to the one in Simulator
keeping the const property in the Well Model.
2017-08-10 11:20:09 +02:00
Kai Bao
cf902e1a8b Simulator Blackoil and StandardWellsDense uses same rate_converter
fixing the running of group control.
2017-08-10 10:25:39 +02:00
Atgeirr Flø Rasmussen
0a440d98ce Merge pull request #1238 from totto82/removeConvertResults2
Ask ebos to formulate the equation by surface volumes directly
2017-08-10 10:01:32 +02:00
Atgeirr Flø Rasmussen
1e0facec4a Fix updateState() saturation update. 2017-08-09 15:47:39 +02:00
Atgeirr Flø Rasmussen
608a674858 Make dh_sat behave like in coupled transport solver. 2017-08-07 16:17:57 +02:00
Kai Bao
338828fdce fixing the running of the vfp related for flow_ebos
the output of the THP is still not yet correct.
2017-08-07 11:39:11 +02:00
Atgeirr Flø Rasmussen
c39341006d Bugfix: follow opm-material convention for capillary pressure 2017-08-04 11:39:51 +02:00
Atgeirr Flø Rasmussen
e9e4416428 Make computeCellState() a const method. 2017-08-04 11:39:09 +02:00
Tor Harald Sandve
6b55b8316b Add interface for passing cell pressures directly in wellState.init(...) 2017-08-03 10:31:10 +02:00
Atgeirr Flø Rasmussen
12bd67e248 Create oil-in-place data if overall efficiency is requested by output. 2017-08-01 16:40:34 +02:00
Atgeirr Flø Rasmussen
babf06eade Merge pull request #1243 from blattms/write-initial-oip
Write the initial OIP values if requested.
2017-08-01 16:15:46 +02:00
Kai Bao
ab1b57b994 fixing the if condition for 2p + dummy phase
from if (numComp < numEq) to if (numComp < numWellEq)
2017-07-31 12:43:50 +02:00
Markus Blatt
900fec427d Cleaned up bogus documentation and whitespace 2017-07-20 12:37:01 +02:00
Markus Blatt
c06e5b7cf8 Removed boolean parameter indicating initial write to writeTimeStep.
Instead we use the timer to determine whether this is the initial write.
2017-07-20 12:12:41 +02:00
Markus Blatt
b89aa1fa4a Added initialStep to SimulatorTimerInterface 2017-07-20 12:11:11 +02:00
Markus Blatt
1939453adb Write the initial OIP values if requested.
This is when writing the first time step as is this is
the first step when OIP is available.
2017-07-19 22:06:08 +02:00
Markus Blatt
542f181f7e Narrow down the possible Matrix types for ParallelOverlappingILU0
It now has to be a BCRSMatrix, but the block type is flexible and
needs to this way. flow_legacy uses MatrixBlock, and flow_ebos uses
FieldMatrix.
2017-07-03 13:50:21 +02:00
Markus Blatt
1bb0968283 Work around unstable matrix inversion in DUNE 2.[34]
The versions are missing the specialized code for inverting
a 3x3 matrix that makes the algorithms quite a bit more stable.
With this patch we fall back to using our own MatrixBlock that does
not suffer from this deficiency.
2017-07-03 10:20:23 +02:00
Tor Harald Sandve
082e00d4ec Ask ebos to formulate the equation by surface volumes directly 2017-06-29 13:58:20 +02:00
Robert Kloefkorn
ce7f3f46a1 [feature] Added two-phase executable for numEq = 2. 2017-06-29 12:56:37 +02:00
Atgeirr Flø Rasmussen
a980993289 Make reordering solver work with iterated implicit.
Also tighten tolerances. They were too slack, giving significant
differences from non-reordering implementation towards the end of
SPE1CASE2 for example.
2017-06-28 07:47:17 +02:00
Atgeirr Flø Rasmussen
9b2d696b86 Tweak tolerance.
Note that a more proper dimensionless residual check is still a good idea.
2017-06-28 07:47:17 +02:00
Atgeirr Flø Rasmussen
c40ef4d9d0 Modifications to catch up with master branch. 2017-06-28 07:47:17 +02:00
Atgeirr Flø Rasmussen
4f9a9359ee Refine convergence check, retain max change info. 2017-06-28 07:47:17 +02:00
Atgeirr Flø Rasmussen
6167fff62a WIP: change what is logged, keep track of max change. 2017-06-28 07:47:17 +02:00
Atgeirr Flø Rasmussen
ab735b33e1 WIP: add sequential model for debugging. 2017-06-28 07:47:17 +02:00
Atgeirr Flø Rasmussen
0f8cd2c212 Bugfix: use correct sign for z gradient. 2017-06-28 07:47:17 +02:00
Atgeirr Flø Rasmussen
e653067951 Adapt new interface with timers. 2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
b5b8fa14de Bugfix: use correct pv multiplier for initial and current state. 2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
fb6dd3adf8 Add well flux terms. 2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
2c20bb6cde Bugfix: take absolute value of residuals for comparison.
Also tighten hardcoded tolerance for testing, and update a comment.
2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
87477f7a44 Bugfix: update output reservoir state. 2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
79fed93b76 Fix saturation bug. 2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
f12c781f3e Fix bugs. 2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
e83b8cd0ac Finished updateState(). 2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
0a3c65707d More work in progress... 2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
56853a0272 Avoid derivative pollution. 2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
5b21cdf54f Still working on reordering solver. 2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
fae4922482 More work in progress for reordering solver. 2017-06-28 07:47:16 +02:00
Atgeirr Flø Rasmussen
1a8e28bd7e More work in progress on reordering solver. 2017-06-28 07:47:15 +02:00
Atgeirr Flø Rasmussen
ad6b5ec812 Work in progress (still) on reordering solver. 2017-06-28 07:47:15 +02:00
Atgeirr Flø Rasmussen
ad3e8b591b Add pvtRegions() accessor. 2017-06-28 07:47:15 +02:00
Atgeirr Flø Rasmussen
edeeb3e0ad Work in progress on reordering solver. 2017-06-28 07:47:15 +02:00
Atgeirr Flø Rasmussen
5e34ba33a2 Add access to low-level functionality. 2017-06-28 07:47:15 +02:00
Atgeirr Flø Rasmussen
803b40b82f Work in progress on BlackoilReorderingTransportModel. 2017-06-28 07:47:15 +02:00
Atgeirr Flø Rasmussen
293a7abfa2 Add skeleton of reordering transport solver. 2017-06-28 07:47:15 +02:00
Atgeirr Flø Rasmussen
0d6bf85f96 Merge pull request #1189 from blattms/fix-amg-support
Fix the PR that said it activated AMG.
2017-06-27 22:40:14 +02:00
Atgeirr Flø Rasmussen
fa4c4ccee6 Remove 'auto' from one more parameter list. 2017-06-27 20:06:44 +02:00
Robert Kloefkorn
936d035dc2 [bugfix][StandardWellsDense] remove auto from method parameter list. 2017-06-27 16:51:11 +02:00
Markus Blatt
8759c3a89a Set defines in *.cpp files.
That way we can keep the old order of includes which seems to be needed for compilation.
2017-06-27 10:00:31 +00:00
Markus Blatt
e8d89bcf48 Fix lookup of std::cerr by including iostream 2017-06-27 10:00:31 +00:00
Markus Blatt
f913baa66e Make use of template argument deduction for createAMGPreconditionerPointer 2017-06-27 10:00:31 +00:00
Markus Blatt
59ca0b4424 Fix the PR that said it activated AMG.
Actually, it did not as it did set the define eith wrong
or the wrong locations. This commit fixes this and finally
makes AMG available.
2017-06-27 10:00:31 +00:00
Atgeirr Flø Rasmussen
bf0937fae1 Merge pull request #1220 from totto82/impl_polymer_simpleWellModel
Add flow_ebos_polymer and flow_ebos_solvent
2017-06-27 10:51:42 +02:00
Atgeirr Flø Rasmussen
730ab5526c Merge pull request #1233 from nairr/term_output_mod
Multiple problem logging for linear solver failure
2017-06-26 13:58:21 +02:00
Rohith Nair
7500d3eb0c edit 2017-06-26 12:46:09 +02:00
Rohith Nair
84ca3cd9b9 Removes multiple problem logging for linear solver convergence failure 2017-06-26 12:21:44 +02:00
Tor Harald Sandve
1c05402209 Fix 2p case after rebase 2017-06-26 08:40:30 +02:00
Tor Harald Sandve
1bc2550541 Fix polymer in well model for producers. 2017-06-26 08:03:54 +02:00
Tor Harald Sandve
e9a1aa2a83 Clean up after rebase 2017-06-26 08:03:54 +02:00
Tor Harald Sandve
8088347c96 Move adjustment of water mobility caused by polymer to getMobility() 2017-06-26 08:03:54 +02:00
Tor Harald Sandve
17ada607eb Assume polymer and water is fully mixed in the well 2017-06-26 08:03:54 +02:00
Tor Harald Sandve
0068c175a7 Add polymer option to flow_ebos
No extra equation is added for polymer in the well equation.

Seperate executables are added for polymer: flow_ebos_polymer
and solvent: flow_ebos_solvent

Tested and verified on the test cases in polymer_test_suite

This PR should not effect the performance and results of the blackoil
simulator
2017-06-26 08:03:54 +02:00
Atgeirr Flø Rasmussen
2ceca48f04 Merge pull request #1206 from GitPaean/switching_well_primary_variables
Not switching the order of well primary variables and well equations
2017-06-22 19:37:40 +02:00
Robert Kloefkorn
2f13de8592 [cleanup][Ebos::getConvergence] removed unnecessary creation of vectors
for temporary quantities.
2017-06-22 14:37:43 +02:00
Kai Bao
e0e1fc65e2 removing ebosCompToFlowPhaseIdx from StandardWellsDense 2017-06-21 11:44:43 +02:00
Kai Bao
aaa66e0982 not switching the order of well equations. 2017-06-21 11:44:43 +02:00
Kai Bao
70e193696d removing the order switiching of the well primary variables.
Order swtiching of the well primary variables make the code more
complicated, and harder to understand and extend.
2017-06-21 11:44:43 +02:00
Atgeirr Flø Rasmussen
757320c57d Merge pull request #1224 from blattms/only-created-step_timings.txt-if-output
Only create step_timing.txt file if it gets written to.
2017-06-21 09:01:33 +02:00
Atgeirr Flø Rasmussen
f48acb8807 Merge pull request #1226 from blattms/use-output-to-skip-debug-or-all-files
Use output to skip debug or all files
2017-06-21 09:01:17 +02:00
Markus Blatt
a6175942fd Make lambda C++11 compliant 2017-06-20 15:49:13 +02:00
Markus Blatt
e6c2ab47b3 Equalize if statements governing step_timing.txt output 2017-06-20 15:46:04 +02:00
Markus Blatt
75561a0da7 Some cleanup concerning spaces, const, simplified logic. 2017-06-20 15:27:05 +02:00
Markus Blatt
e5b8cddfa8 Reactivate no_debug_log to indicate whether .CASE.DEBUG should be written
This switch only has an effect if output is not equal to none.
2017-06-20 13:36:22 +02:00
Markus Blatt
d7c2d58853 write init stuff only if output=all or output=true. 2017-06-20 13:21:26 +02:00
Markus Blatt
58948521bb Do not activate output writer for when output=log 2017-06-20 13:16:50 +02:00
Markus Blatt
1f8b747299 Removed leftover getDefault("output", ...) where bool was expected. 2017-06-20 13:11:16 +02:00
Markus Blatt
9c6e9b3715 Use option output to activate or (partly) deactivate output to files.
Possible values are none, log, and all. The first does not do any logging
to files. The second does log to files but does not create and log to
the DEBUG file. The latter uses all possible files.
2017-06-20 11:57:47 +02:00
Joakim Hove
eafadaa555 Merge pull request #1222 from joakim-hove/time-map-api
Changed to TimeMap api - using std::time_t
2017-06-20 10:29:29 +02:00
Markus Blatt
588111d135 Allow a flow_ebos run without creating a debug or prt file.
Adds two switches no_prt_log, and no_debug_log that deactivate
writing to PRT and DEBUG file.
One can now run flow_ebos without creating any output by
passing "output=false no_prt_log=true no_debug_log=true"
on the command line.
2017-06-20 08:33:47 +02:00
Markus Blatt
e0a7ced256 Only create step_timing.txt file if it gets written to.
If output=false is requested we created an empty file.
Now that file will only be created if output was requested
and it will only be opened on one rank in a parallel run.
2017-06-19 17:51:26 +02:00
Joakim Hove
66931cb030 Changed to TimeMap api - using std::time_t 2017-06-19 14:03:14 +02:00
Andreas Lauser
dc9ad10f87 flow_ebos: do not use BlackoilPropsAdFromDeck anymore
the only thing that was used of this class was the phase usage object,
but the phase usage object can be accessed via much leaner interfaces.

The old BlackoilPropsFromDeck (without "Ad") is still required to
compute the initial condition, but the init code should be refactored
soon anyway.
2017-06-16 15:13:47 +02:00
Tor Harald Sandve
d247b05b6b Add polymer to phase usage. 2017-06-16 13:40:29 +02:00
Atgeirr Flø Rasmussen
56cef57c8d Merge pull request #1218 from blattms/faster-ilu-old-order
This is the faster ilu pull request but with the traversal of the columns of upper in the original ordering
2017-06-15 14:23:17 +02:00
Atgeirr Flø Rasmussen
dd453d3e50 Merge pull request #1211 from andlaus/improve_cnv
Improve stability by changing the convergence check
2017-06-15 10:39:13 +02:00
Andreas Lauser
e3d0bbc144 specify the number of iterations where we use a "strict" Newton convergence criterion using a separate parameter
that parameter is called "max_strict_iter". This increases the
flexibility of this slightly and it avoids screwing up the default
value for the "max_iter" parameter in the future. The credits for this
patch go to [at]atgeirr for proposing it.
2017-06-14 14:22:22 +02:00
Andreas Lauser
0304183361 Newton: fail earlier
i.e. give up after 10 instead of 15 Newton iterations. since this now
also causes the CNV convergence criterion to be ignored after 8
instead of after 13 Newton iterations, and because CNV stagnation
seems to be the cause for the vast majority of the failures, it does
not lead to worse results or more time step chopping on Norne but
causes fewer wasted iterations.
2017-06-14 14:22:22 +02:00
Andreas Lauser
e58fed9956 ignore the CNV convergence criterion for the last few newton iterations
the cell based residual can cause problems for cells with
almost-singular shapes and/or small pore volume.
2017-06-14 14:22:22 +02:00
Atgeirr Flø Rasmussen
699b0678a0 Remove unused simulator program.
This stand-alone simulator is no longer needed since
flow_polymer supports two-phase runs.
2017-06-14 14:15:13 +02:00
Markus Blatt
c2129185ae Store columns of ParallelOverlappingILU0::upper in descending order
This is the order used by ILU in dune-istl
2017-06-14 10:06:33 +00:00
Atgeirr Flø Rasmussen
d284a657cf Merge pull request #1213 from nairr/terminal_output
remove debug info from convergence failure terminal output
2017-06-14 07:43:00 +02:00
Robert Kloefkorn
e3c898030c [cleanup] ilu_iteration --> ilu_fillin_level. 2017-06-13 15:48:01 +02:00
Robert Kloefkorn
0b90b7863b [cleanup[ use Dune::Amg::SequentialInformation instead of int. 2017-06-13 15:48:01 +02:00
Robert Kloefkorn
38300a4c9b [cleanup] avoid over aggressive memory allocation in ILU. 2017-06-13 15:48:01 +02:00
Robert Kloefkorn
1fa04096c3 [bugfix] circumvent bug in dune-istl when matrix was assembled in
row_wise mode. Also cleanup of output.
2017-06-13 15:48:01 +02:00
Robert Kloefkorn
e4f1bf9955 [feature] make ILU relaxation and iteration a dynamic parameter. 2017-06-13 15:48:01 +02:00
Robert Kloefkorn
a774128fb7 [feature] Make ILU use CRS for storing lower and upper triangular matrices.
Then the backwards in memory iteration for the upper triangular can be
avoided by storing the matrix blocks in the correct order.
2017-06-13 15:48:01 +02:00
Atgeirr Flø Rasmussen
a064f1bae2 Merge pull request #1215 from atgeirr/transport-solver-bugfixes
Transport solver bugfixes
2017-06-13 14:26:35 +02:00
Atgeirr Flø Rasmussen
f37a72da71 Merge pull request #1209 from dr-robertk/PR/remove-uninitialized-vars
[cleanup] initialized Eval variables with 0.
2017-06-13 08:56:23 +02:00
Tor Harald Sandve
655b81c8d7 Add polymer to blackoilstate 2017-06-12 15:37:57 +02:00
Atgeirr Flø Rasmussen
e0570fc980 Fix issues for iterated sequential implicit. 2017-06-12 15:36:56 +02:00
Atgeirr Flø Rasmussen
e01eca28ca Bugfix: avoid modification of flux data every iteration. 2017-06-12 15:36:48 +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
Rohith Nair
2976b62d75 Add cause_of_failure for NumericalProblem 2017-06-12 10:48:07 +02:00
Rohith Nair
073e4ce839 Add cause_of_failure for LinearSolverProblem 2017-06-12 10:28:38 +02:00
Rohith Nair
18dfe1783b remove debug info from terminal output for convergence failure 2017-06-11 22:32:46 +02:00
Arne Morten Kvarving
85e65415c5 fixed: constructor has been made explicit 2017-06-09 18:45:11 +02:00
Bård Skaflestad
1e0428d821 Merge pull request #1208 from atgeirr/refactor-sequential-solver
Refactor sequential solver
2017-06-09 15:10:11 +02:00
Atgeirr Flø Rasmussen
462d90aeb1 Merge pull request #1207 from GitPaean/improve_WellModelMatrixAdapter
making wellMod_ in WellModelMatrixAdapter is actually a well model
2017-06-09 10:46:13 +02:00
Robert Kloefkorn
ee7520d896 [cleanup] initialized Eval variables with 0. 2017-06-08 15:35:40 +02:00
Atgeirr Flø Rasmussen
fa4d4fb0fb Make argument of setParameters() a const reference. 2017-06-08 11:03:27 +02:00
Atgeirr Flø Rasmussen
2f30897c70 Make proper convergence check for iterated sequentical implicit. 2017-06-08 11:03:26 +02:00
Atgeirr Flø Rasmussen
fd36a122c6 Modifications to catch up with master branch. 2017-06-08 11:03:26 +02:00
Atgeirr Flø Rasmussen
1a3c1d3058 Further templatized sequential model and simulator classes.
Now the actual pressure and transport model classes are not specified,
but taken as template template parameters, also grid and well model
are templates for both the sequential model and the simulator class,
although at this point only StandardWells is expected to work with
the sequential model.
2017-06-08 11:03:26 +02:00
Atgeirr Flø Rasmussen
6e66d885fb Pass 0 min_iter for pressure and transport solve. 2017-06-08 11:03:26 +02:00
Atgeirr Flø Rasmussen
5290b000ef Add setParameters(), return int from minIter(), maxIter(). 2017-06-08 11:03:26 +02:00
Atgeirr Flø Rasmussen
56597a9238 Merge pull request #1205 from atgeirr/tcpu-work
Implement TCPU
2017-06-08 09:08:51 +02:00
Atgeirr Flø Rasmussen
60985fdbeb Merge pull request #1168 from nairr/term_output_mod
Logging of multiple problems/warnings
2017-06-07 15:47:34 +02:00
Rohith Nair
c1e76d6b51 edit 2017-06-07 14:49:00 +02:00
Rohith Nair
deaf90f211 edit 2017-06-07 14:47:45 +02:00
Rohith Nair
58285bb8f8 edit 2017-06-07 14:46:04 +02:00
Rohith Nair
348cb5e5a4 Changes made as requested 2017-06-07 14:40:18 +02:00
Kai Bao
908b2bdf81 making wellMod_ in WellModelMatrixAdapter is actually a well model
instead of the BlackoilModelEbos, which reduces some confusion and also
removes a few unnecessary wrapping functions.
2017-06-07 14:26:00 +02:00
Tor Harald Sandve
2a66aa23a9 Merge pull request #1198 from dr-robertk/PR/fix-densewell-for-2p
[bugfix] Fix invalid read in WellDenseStandard when used with 2P Model.
2017-06-07 13:57:44 +02:00
Robert Kloefkorn
02b0b9d0f9 [cleanup] remove two uninitialized warnings in SaturationProposFromDeck. 2017-06-07 13:19:21 +02:00
Rohith Nair
c12665e04f -Added exception TooManyIterations
-Combined log messages from NonLinearSolver_impl.hpp and AdaptiveTimeStepping_impl.hpp
2017-06-07 10:37:25 +02:00
Atgeirr Flø Rasmussen
42aa343d9f Write total solver time to TCPU. 2017-06-06 21:35:05 +02:00
Atgeirr Flø Rasmussen
2d0701c1e8 Include possibility for arbitrary summary data.
This adapts to the upstream API change in opm-data, and adds a
proof-of-concept dummy TCPU field.
2017-06-06 11:42:51 +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
Atgeirr Flø Rasmussen
b62d84f7b8 Logging flexibility improvements.
Added "all_messages_to_terminal" parameter (defaulting to false),
it true, all messages (including note and debug) will be sent to
the terminal.

In addition, parser messages are tagged, to make the terminal output
less likely to be overwhelmed.
2017-06-02 15:26:23 +02:00