Commit Graph

2923 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
0f210dcb6c Move FIP output to separate method. 2017-11-15 15:55:58 +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
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
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