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
Atgeirr Flø Rasmussen
efc553b175
Merge pull request #1203 from atgeirr/debug-time-report
...
Add DebugTimeReport utility.
2017-06-02 14:14:28 +02:00
Atgeirr Flø Rasmussen
5f66a8ff4f
Add DebugTimeReport utility.
2017-06-02 13:48:24 +02:00
Robert Kloefkorn
46f66e34b9
[bugfix] Only create asyncOutput when output is enabled globally.
2017-06-02 13:09:48 +02:00
Atgeirr Flø Rasmussen
c8e1f31f1d
Fix minor warning (returning a const double).
2017-06-02 11:17:37 +02:00
Atgeirr Flø Rasmussen
37cbdbced2
Merge pull request #1199 from atgeirr/multiphase-upwind-refactor
...
Multiphase upwind refactor
2017-06-02 11:13:14 +02:00
Atgeirr Flø Rasmussen
f5795322fa
Add missing include directive for std::sort().
2017-06-02 08:52:16 +02:00
Atgeirr Flø Rasmussen
7e8ed40714
Use free function for multi-phase upwinding.
2017-06-01 14:15:31 +02:00
Atgeirr Flø Rasmussen
80c38d5a1a
Add connectionMultiPhaseUpwind() free function.
2017-06-01 11:01:25 +02:00
Robert Kloefkorn
3db16ede73
[bugfix] Fix invalid read in WellDenseStandard when used with 2P Model.
2017-05-31 16:17:59 +02:00
Tor Harald Sandve
f671af6cd6
Clean-up of the solvent implementation
2017-05-30 14:33:17 +02:00
Tor Harald Sandve
8b75e2eedc
Minor fixes solvent model
...
1) Fix GRAT controlled wells
2) Fix seg_fault in computeWellPotentials for solvent simulations
3) Fix mem_issus for RESV combinded with solvent
2017-05-30 14:22:19 +02:00
Tor Harald Sandve
683ba7e929
Fix fallout from rebase
2017-05-30 14:22:19 +02:00
Tor Harald Sandve
441a8895ac
Improvments for solvent model
...
- add dss to appleyard chopping
- support for bhp injectors with solvent
- copy perfSolventRates between the time steps.
- fix bug in well access indicies when numComponents ~= numPhases
2017-05-30 14:22:19 +02:00
Tor Harald Sandve
50c1a1404a
Remove BlackoilSolventState
...
The solvent saturation is added to BlackoilState and the
BlackoilSolventState is thus redundant.
2017-05-30 14:22:19 +02:00
Tor Harald Sandve
b987e4b324
Implement solvent model in flow_ebos
...
1) Extends the well model to account for solvent surface volumes
2) Add solvent to updateState
3) Add solvent to well and field output
The solvent parts is encapsled in if (has_solvent_) and should not effect
the standard runs.
2017-05-30 14:22:19 +02:00
Markus Blatt
138eb2c91b
Merge pull request #1193 from dr-robertk/PR/fix-mpi-deadlock-in-output
...
Bugfix: fix MPI deadlock in output when asyncOutput is enabled.
2017-05-30 11:33:54 +02:00
Robert Kloefkorn
e46810d2dc
[bugfix] 1) create asyncOutput object on all ranks to avoid deadlock in
...
MPI_Bcast call in writeTimeStepWithCellProperties.
2) ThreadHandle waits on destruction until all objects have been dealt with.
2017-05-29 18:08:18 +02:00
Tor Harald Sandve
434f96db0a
FIX output the correct next timestep after convergece failure
2017-05-29 09:48:34 +02:00
Markus Blatt
1b52fc0724
Add missing include of config.h
...
Closes OPM/opm-core#1164
2017-05-24 12:11:49 +02:00
Tor Harald Sandve
095c580933
Merge pull request #1174 from totto82/FIX_flowsolvent
...
BUGFIX Don't try to compute effective properties for FIP if no solvent
2017-05-22 15:02:09 +02:00
Markus Blatt
79799a5c5c
Use pressure for guiding coarsening in flow_ebos, too.
...
For flow_legacy the first component a block is used, which is the
oil pressure. As flow_ebos uses different indices this commit
explicitly uses BlackoilIndices::pressureSwitchIdx to tell the AMG
at which index the pressure is stored.
2017-05-22 12:09:58 +02:00
Markus Blatt
5a6ace9063
Resort to setting one define for AMG support in the main simulator
2017-05-22 11:34:20 +02:00
Markus Blatt
98e2eeb4dc
Allow usage of AMG if flow_ebos is used and UMFPack is available.
...
This was previously deactivated because of the single precision support
of flow_legacy and missing single-precision support for UMFPack.
As flow_ebos does not use single precision this commit allows using amg
at least for flow_ebos.
2017-05-22 11:32:02 +02:00
Andreas Lauser
c3555a21d2
Merge pull request #1019 from andlaus/flow_ebos-remove-geoprops
...
flow_ebos: remove the legacy geologic properties object
2017-05-19 18:49:21 +02:00
Atgeirr Flø Rasmussen
27c9585529
Merge pull request #1178 from totto82/dont_output_SSOL
...
Don't output SSOL if no solvent
2017-05-19 10:02:51 +02:00
Atgeirr Flø Rasmussen
644d1c7bb5
Merge pull request #1175 from nairr/prtheader
...
PRT header
2017-05-18 14:32:06 +02:00
Rohith Nair
59ec8a1bf5
edit based on comments
2017-05-17 17:46:10 +02:00
Tor Harald Sandve
a5fed26486
BUGFIX Don't try to compute effective properties for FIP if no solvent
2017-05-15 10:13:22 +02:00
Andreas Lauser
48b7d6ea56
improve writing of the INIT file
...
now, the dune APIs are used whereever possible and the data is
computed for the global grid, i.e. for parallel runs it does not need
to be gathered across the processes anymore. Also, the INIT file is
now only written once instead of twice.
I've verified that the sequential and the parallel INIT files stay
identical for the Norne case and that the INIT file does not change
w.r.t. before this patch.
2017-05-12 15:44:55 +02:00
Andreas Lauser
7cbea4be41
fix a bug in the transmissibility output code
...
the fact that faces may point into the opposite Cartesian direction
was not considered and these output fields are specified
w.r.t. logically Cartesian cell indices. (not compressed ones!)
2017-05-12 15:43:51 +02:00
Andreas Lauser
adb2715c8d
flow_ebos: also write the non-input NNCs to the init file
...
the corresponding code was shamelessly lifted from the DerivedGeology
class. it has been substantially modified to adapt it to the flow_ebos
specifics, though.
2017-05-12 15:43:51 +02:00
Andreas Lauser
e2e0e3290d
flow_ebos: do no longer use the legacy object for geologic properties
...
it was already almost unused (except for output). Besides making the
overall flow_ebos code leaner because it reduces redundancies, this
patch also implies a small reduduction of memory consumption and a
minor performance improvement. the latter is due to the fact that the
transmissibilities now do not need to be calculated more often than
necessary anymore.
2017-05-12 15:43:51 +02:00
Tor Harald Sandve
4ecc01d30a
Don't output SSOL if no solvent
2017-05-12 14:45:00 +02:00
Tor Harald Sandve
2af3019299
Dummy commit
2017-05-10 15:36:20 +02:00
Tor Harald Sandve
d7fa66197f
Add SSOL to blackoilState
...
Stores the solvent saturation in the simulator container.
2017-05-10 11:14:53 +02:00
Rohith Nair
b95f4fb6a0
edit
2017-05-09 14:05:01 +02:00
Rohith Nair
94da18514f
edit
2017-05-09 14:00:49 +02:00
Rohith Nair
53f2a13eb9
Adds header for .PRT file with the following information
...
1. Flow binary information
2. host names(s)/ machine names
3. host hardware
4. Operating system
5. User
6. System time and date
2017-05-09 13:58:21 +02:00
Andreas Lauser
f3e0b9c692
Merge pull request #1169 from totto82/prepare_solvent
...
Prepare for 2p and extended models.
2017-05-08 13:47:43 +02:00
Tor Harald Sandve
9e504da6a1
Add solvent to phaseUsage
2017-05-08 10:29:51 +02:00
Tor Harald Sandve
6084721812
Prepare for extended models.
...
Let the code loop over number of components instead of phase
Pass TypeTag as template parameter instead of all the properties.
2017-05-08 09:52:30 +02:00
Arne Morten Kvarving
3c0cb9e950
adjust for changed ParameterGroup namespacing
2017-04-28 15:36:25 +02:00
Arne Morten Kvarving
ca2288ac37
changed: remove embedded 'parameters' namespace in ParamGroup
...
inconsistent and unnecessary.
this is purely a cosmetic change, the only exception was a function with
the generic name 'split', which was renamed to splitParam to avoid confusion.
2017-04-28 15:34:11 +02:00
Andreas Lauser
5144359ac0
flow_ebos: update banner
...
since flow_ebos is the new silverback simulator of the opm-simulators
clan, it should itself as "flow"(the old silverback announces itself
as "flow_legacy" already).
Also some people seem to have been confused by the eWoms version and
codename. Since this information only exhibits limited value IMI,
let's remove it here.
2017-04-28 12:52:30 +02:00
Atgeirr Flø Rasmussen
a5b9b6d922
Merge pull request #1164 from atgeirr/fix-solvent-fip
...
Workaround: ensure properties necessary for FIP are computed.
2017-04-25 10:01:55 +02:00
Atgeirr Flø Rasmussen
fff99360b3
Workaround: ensure properties necessary for FIP are computed.
...
Should only result in an extra call the first time in this function.
2017-04-25 09:31:48 +02:00
Tor Harald Sandve
dad89974ae
Make initial viscosity output similar with Ecl
2017-04-24 13:29:47 +02:00
Atgeirr Flø Rasmussen
90d90fb452
Fix output of relative permeability for sequential model.
...
Bug caused assert() failures for debug mode runs.
2017-04-21 15:30:40 +02:00
Atgeirr Flø Rasmussen
ce6801df7a
Merge pull request #1157 from andlaus/fix-non-MPI-build
...
fix non-MPI builds
2017-04-20 21:47:08 +02:00
Andreas Lauser
6f257f0877
fix non-MPI builds
...
some headers must be included unconditionally.
2017-04-20 15:12:34 +02:00
Tor Harald Sandve
9a1a26b267
FIX memory leakage in well_controls
...
The Alq and vfp is set free in well_controls_destroy to avoid memory
leakage.
2017-04-20 12:58:16 +02:00
Andreas Lauser
4d02d51dd2
NewtonIterationBlackoilInterface: make its destructor virtual
...
this prevents GCC-7's address sanitizer from complaining about a
delete for a new of a different type. (i.e., the new is for the
derived class, but if the destructor is non-virtual only the dtor of
the base class is called if a pointer to the base class is deleted.)
finding this was quite some fun, mainly because it took a while what
the issue was.
2017-04-20 11:03:54 +02:00
Atgeirr Flø Rasmussen
422d834996
Merge pull request #1152 from atgeirr/conditional-output
...
Only push non-empty data to output.
2017-04-19 13:05:02 +02:00
Atgeirr Flø Rasmussen
2c3a497767
Merge pull request #1147 from babrodtk/bugfix_pdpb_output_legacy
...
This adds bubble/dew point pressure output to legacy flow
2017-04-19 10:17:29 +02:00
Atgeirr Flø Rasmussen
af4a12b872
Only push non-empty data to output.
2017-04-19 09:58:54 +02:00
Atgeirr Flø Rasmussen
e7285ba230
Fix bug in two-phase case.
2017-04-18 15:23:27 +02:00
babrodtk
8ae7178f0a
This adds bubble/dew point pressure output to legacy flow
2017-04-18 14:03:56 +02:00
Andreas Lauser
e24d8c3a57
SimulatorFullyImplicitBlackoilOutput: print warnings instead of silently ignoring requests for bubble/dew point pressure output
2017-04-18 11:09:09 +02:00
Andreas Lauser
7e388376af
only output the bubble and dew point pressures if they are available
2017-04-18 10:21:26 +02:00
Markus Blatt
9f5a904382
Removes deadlocks in the case where only few processes have wells.
...
The problem was that updateWellControls was not called on all
processes. But this is mandatory as the well switching output
requires global communication.
2017-04-12 17:37:34 +02:00
Markus Blatt
b5612806ac
Revert to using standard algorithms instead of using masks.
...
This is now possible as the values stored for ghost/overlap elements
(minimum where we compute the maxiumum, zero where we sum up)
will not influence the result of the computation any more.
2017-04-12 13:42:02 +02:00
Markus Blatt
0db663fe51
Only compute convergence markers for interior elements.
2017-04-12 13:42:02 +02:00
Markus Blatt
b72a167c76
Correctly compute maximum in a parallel flow_ebos run.
2017-04-12 13:42:02 +02:00
Atgeirr Flø Rasmussen
baa6104f39
Silence unused argument warnings.
2017-04-12 11:13:10 +02:00
Atgeirr Flø Rasmussen
246118d794
Silence sign mismatch warnings.
2017-04-12 11:12:34 +02:00
Atgeirr Flø Rasmussen
a17442f578
Remove unused variables.
2017-04-12 11:12:07 +02:00
Andreas Lauser
d334fc1c70
Merge pull request #1118 from GitPaean/calculating_well_potentials_for_each_timestep
...
[WIP] Changes to improve the StandardWellsDense
2017-04-12 10:33:57 +02:00
Joakim Hove
527c0a9e75
Using optional restart loading instead of extra.
2017-04-11 22:59:26 +02:00
Kai Bao
926f93fa4e
adding flag to tell when using well potential for guide rate
...
for WellNode.
2017-04-11 16:53:19 +02:00
Kai Bao
e0d48a366b
removing well potentails from WellsManager
2017-04-11 16:53:19 +02:00
Kai Bao
ff08c6b4f3
small corrections in WellsGroup
...
should not change reults.
2017-04-11 16:53:19 +02:00
Kai Bao
e8aa431ec7
not negative rate_for_group_control
...
in WellsGroup::updateWellProductionTargets. The current implementation
of group control is allowed tiny over-producing of the group target
while it cause negative rate_for_group_control . When all the wells are
not under group controls, it can cause oscillation of the control mode
later.
Probably a better way is to do something when we see overproducing
happens.
2017-04-11 16:53:19 +02:00
Kai Bao
a498d48a73
Tracking situation when group overproducing its target
...
Bascially it means that something wrong with our algorithms. Not sure
how to handle it properly yet.
2017-04-11 16:53:19 +02:00
Kai Bao
b027b27452
not applying the group control in WellsManager
...
since the guide rates are not completed yet.
2017-04-11 16:53:19 +02:00
Kai Bao
4bd1b1cf76
not setting up guide_rates in WellsManager based on well potentials
...
That part is moved to well_collection, will be handled in the beginning
of time step.
2017-04-11 16:53:19 +02:00
Kai Bao
bec92dee9e
Wells specified with GRUP will be put under group control
...
immediately.
2017-04-11 16:53:19 +02:00
Kai Bao
2f10b8fc23
Always updating the well targets under group control
...
for each iteration. Even all the wells are under individual controls,
their group targets/constraints should also be updated for correct group
behavoirs.
2017-04-11 16:53:19 +02:00
Kai Bao
530afe55dd
handle the situatioin when giving a NaN prod target to injectors
...
When all production wells are under individual controls, the group can
have zero production guide rates, which can result NaN value targets for
injectors.
2017-04-11 16:53:19 +02:00
Kai Bao
d41c4a371f
Considering the injection phase when applying VREP group controls
...
GCONINJE only support single phase injection. When we inject one phase,
the values of distr for other phases should be set to be zero.
It will provide one strategy to figure out which phase we are
injecting. It is important when we inject one phase while the well is
claimed to be another phase in WELSPECS.
2017-04-11 16:53:19 +02:00
Kai Bao
745a2a5561
adding a flag to indicate whether group controls applied
...
for WellCollection.
2017-04-11 16:53:19 +02:00
Kai Bao
dff247d975
adding a function setGuideRatesWithPotentials() to WellCollection
...
it only handles the calculation based on wellPotentials though.
Or it should also give each well a value for wells does not specify a
guide rates? which will be some value same for all the wells?
2017-04-11 16:53:19 +02:00
Kai Bao
0700c8cf67
adding more checking for the potential values
...
during the well well potential calculation.
2017-04-11 16:51:16 +02:00
Kai Bao
ce0e580cee
fixing comments.
...
no functional change.
2017-04-11 16:51:16 +02:00
Kai Bao
dd95114e6d
fixing well potentials calculation after introducing the saturation table
...
The calculation of well potentials of newly added well failed after using the saturation
table. Here, we fix it using much smaller parameters to stablize the
calculation, while it slows down the iteration process.
TODO: improves the convergence rate by either introducing better
paramters or better iteration strategy.
2017-04-11 16:51:16 +02:00
Kai Bao
972b911495
fixing two warnings.
...
no function change.
2017-04-11 16:51:16 +02:00
Kai Bao
72e2b7c6c3
fixing errors resulting from the rebasing procedure.
2017-04-11 16:51:16 +02:00
Kai Bao
7a4d0bb8aa
slightly re-organizing prepareTimeStep()
...
should not impact the simulation results.
2017-04-11 16:51:16 +02:00
Kai Bao
7038b6eb57
recovering the running of flow_multsigement without group control
...
flow_multisegment should not be able to handel group control yet.
2017-04-11 16:51:16 +02:00
Kai Bao
e0d96b3410
removing compute_well_potentials_ from BlackoilModelParameters
2017-04-11 16:51:16 +02:00
Kai Bao
4ed95fcbf0
calculate well potentials based on requireWellPotentials()
...
from well_colllection. Not based on command line paramters anymore.
2017-04-11 16:51:16 +02:00
Kai Bao
181112491b
recovering group control for legacy_flow.
2017-04-11 16:51:16 +02:00
Kai Bao
8fa3c4b324
removing one unnecessary if condition
2017-04-11 16:51:16 +02:00
Kai Bao
e627f35176
removing well_potential_ from WellStateFullyImplicitBlackoil
2017-04-11 16:51:16 +02:00
Kai Bao
72d0d4ddb8
revising the computeWellPotentials in StandardWells
...
so it compute the potentials for each well instead of each perforation.
2017-04-11 16:51:16 +02:00
Kai Bao
8d96d835b3
removing the well potential from WellsManager constructor.
2017-04-11 16:51:16 +02:00
Kai Bao
1aff98c4f4
adding the extra template type from recent merged PR
2017-04-11 16:51:16 +02:00
Kai Bao
22b2217dd3
removing setWellSolutionsFromPrevState from WellStateFullyImplicitBlackoilDense
...
Not used anymore.
2017-04-11 16:51:16 +02:00
Kai Bao
032f9803be
cleaning up unuseful comments and code fragments.
2017-04-11 16:51:16 +02:00
Kai Bao
279fbad17c
removing the comments from the NonlinearSolver_impl
...
which is from the development process.
2017-04-11 16:51:16 +02:00
Kai Bao
ef7769b77e
tracking if wells are newly added in WellStateFullyImplicitBlackoil
...
For a newly added well, the initialized rate cans cause big problem when
applied to VFP interploation when THP control is involved.
2017-04-11 16:51:16 +02:00
Kai Bao
a8ae9276c5
adding computeWellPotentialWithTHP() to compute well potential
...
in an iterative way. When VFP interpolation is performed, the bhp and
rates are coupled together. Some iteration will be required to get the
consistent bhp and well potential.
2017-04-11 16:51:16 +02:00
Kai Bao
182c5897c8
adding leastStrictBhpFromBhpLimits()
...
to pick the least strict bhp limits in the well controls. It is used to
calculate the well potential when there is no thp limits there.
If there is thp limits there, it will be used for further chosing of the
bhp value for well potential calculation.
2017-04-11 16:51:16 +02:00
Kai Bao
402a5a125a
adding computeWellRatesWithBhp() to calculate well rates
...
for one well based on the give Bhp.
2017-04-11 16:51:16 +02:00
Kai Bao
7b2e6760e1
adding wellHasTHPConstraints() to decide if there is THP control
...
for a specific well.
2017-04-11 16:51:16 +02:00
Kai Bao
86dc231cc3
adding more things related to group control when restarting
...
with a new time step due to convergence failure.
2017-04-11 16:51:16 +02:00
Kai Bao
e39ffefb2e
performing prepareTimeStep in assemble for StandardWellsDense
...
instead of model->preppareStep()
to avoid segmenttation error from eclSimulator and also not intervening
with NonlinearSolver
2017-04-11 16:51:16 +02:00
Kai Bao
4a6dbbe0a7
updating the control index for both well state and well_controls struct
...
when applying VREP group controls.
2017-04-11 16:51:16 +02:00
Kai Bao
cb85319a72
set thp() value to zero when no THP constraints exist
...
in updateWellState()
2017-04-11 16:51:16 +02:00
Kai Bao
7a7dcdf3ba
correcting a comment in computeWellFlux() in StandardWellsDense
2017-04-11 16:51:16 +02:00
Kai Bao
d02f028260
not resetWellControlFromState in assemble() in StandardWellsDense
...
other places should gurantee the control indices from the well_state and
well_controls struct are the same.
And also, since the first element in wellSolutions() depends on the type
of the control, this function is complete yet.
2017-04-11 16:51:16 +02:00
Kai Bao
34385ee58f
synchronizing the control index at the beginning of assemble()
...
in StandardWellsDense class.
It takes effects after restarting from a previous unconverged solution.
2017-04-11 16:51:16 +02:00
Kai Bao
2bc1c8702e
copying the thp value from prevState.
2017-04-11 16:51:16 +02:00
Kai Bao
77ec45cdd2
recovering the well_controls if solveWellEq not convergent
...
since we are using the control index from both WellState and
well_controls.
2017-04-11 16:51:16 +02:00
Kai Bao
ea3adb3c37
using reference of WellState in resetWellControlFromState()
2017-04-11 16:51:16 +02:00
Kai Bao
0acb646a4d
when there is group control, we should update WellState
...
since the group targets are updated.
TODO: maybe it is not necessary, need to investigate the design of getBhp() and
getQs().
2017-04-11 16:51:16 +02:00
Kai Bao
087b9471c7
completing prepareTimeStep() for StandardWellsDense
...
updating all the group control related.
2017-04-11 16:51:16 +02:00
Kai Bao
b83f37dcc0
considering the distr has zero values for non-injecting phases
...
to avoid NaN resulting from devided by zero.
2017-04-11 16:51:16 +02:00
Kai Bao
b21f577989
when there is VREP control, updateRateConverter in prepareStep
...
in BlackoilModelEbos.
2017-04-11 16:51:16 +02:00
Kai Bao
68eaf6ac1f
Not copying the wellSolutions from previous WellState
...
in WellStateFullyImplicitBlackoilDense.
2017-04-11 16:51:16 +02:00
Kai Bao
ed4e87ac24
not copying the contrl_index from the previous WellState
...
when there is new control keywords enter, the combination of control /
constraints change. Under this kind of situation, copying the control
index does not mean you copy the same types of control.
Using the control index from the previous WellState for many situation
is a good practice, while it also risks copying a random and rather bad
choice. It is a major problem when we have VFP, VFP can have very
damaging values for certain situation to show it is not desirable to
be in this kind of situation.
2017-04-11 16:51:16 +02:00
Kai Bao
653baae039
making the computeWellPotentials calculate potential for each well
...
Not store the well potentials to WellState anymore.
2017-04-11 16:51:16 +02:00
Kai Bao
4b5e1dfadc
more treatment for zero rate wells in updateWellStateWithTarget
2017-04-11 16:51:16 +02:00
Kai Bao
f70bb960dd
updating rates of multiphase with updateWellStateWithTargets
...
for StandardWellsDense model.
2017-04-11 16:51:16 +02:00
Kai Bao
819aa90d84
adding prepareTimeStep() to the StandardWellsDense
...
to handle the well potential related calculation
2017-04-11 16:51:16 +02:00
Kai Bao
57f7650228
adding a function computeWellPotentials for StandardWellsDense
...
for each well. It is a temporay approach for testing without breaking
any compilation before changing the interface for WellsManager.
2017-04-11 16:51:16 +02:00
Atgeirr Flø Rasmussen
189d91bc9e
Merge pull request #1134 from andlaus/report-failure
...
flow_ebos: print statistics about failed time steps
2017-04-11 12:29:33 +02:00
Atgeirr Flø Rasmussen
2dff8ef141
Merge pull request #1135 from nairr/terminal_output_mod
...
Minor terminal output modifications
2017-04-11 11:39:27 +02:00
Andreas Lauser
ef2a560fb3
flow_ebos: print statistics about failed time steps
...
the performance summary at the end of a Norne run which are printed by
`flow_ebos` now looks like this on my machine:
```
Total time (seconds): 773.757
Solver time (seconds): 753.349
Assembly time (seconds): 377.218 (Failed: 23.537; 6.23965%)
Linear solve time (seconds): 352.022 (Failed: 23.2757; 6.61201%)
Update time (seconds): 16.3658 (Failed: 1.13149; 6.91375%)
Output write time (seconds): 22.5991
Overall Well Iterations: 870 (Failed: 35; 4.02299%)
Overall Linearizations: 2098 (Failed: 136; 6.48236%)
Overall Newton Iterations: 1756 (Failed: 136; 7.74487%)
Overall Linear Iterations: 26572 (Failed: 1786; 6.72136%)
```
for the flow_legacy family, nothing changes.
2017-04-11 11:12:11 +02:00
Rohith Nair
1fd91b2ce0
edit
2017-04-11 10:03:22 +02:00
Rohith Nair
be74630699
minor changes to output tag
2017-04-11 09:49:59 +02:00
Atgeirr Flø Rasmussen
88e4646b71
Merge pull request #1084 from babrodtk/hysteresis_output
...
Adds hysteresis output and input (for restarting)
2017-04-11 07:44:59 +02:00
Andreas Lauser
5125929a66
SimulatorReport: make it possible to report failed time steps
...
the method can still be called as it used to be. in this case no
failures are reported, though.
2017-04-10 23:31:24 +02:00
Rohith Nair
375e4e2678
Changed output classification of NaN residuals to "Bug" from "Problem"
2017-04-10 18:55:54 +02:00
dr-robertk
9b29b57960
Merge pull request #1124 from atgeirr/output-dir
...
Refactor directory creation
2017-04-10 13:04:42 +02:00
babrodtk
4d286cf0b3
Makes hysteresis and somax optional in restart file
2017-04-07 16:20:35 +02:00
Atgeirr Flø Rasmussen
208e394e3d
Merge pull request #1153 from babrodtk/hysteresis_output
...
Added functions in SaturationProps for hysteresis IO
2017-04-07 15:54:26 +02:00
Atgeirr Flø Rasmussen
db8523e849
Merge pull request #1082 from totto82/satTableIdWells
...
Support for saturation table for each well completion
2017-04-07 14:43:28 +02:00
babrodtk
1fd36e9451
Fixed hysteresis input/output in flow_legacy
2017-04-07 14:36:36 +02:00
babrodtk
46bd3499dc
Added functions in SaturationProps for hysteresis IO
2017-04-07 14:31:22 +02:00
Atgeirr Flø Rasmussen
29f3b86ef0
Merge pull request #1123 from blattms/fix-parallel-istl-verbosity
...
Fix verbosity parameter used for parallel istl solvers.
2017-04-07 10:32:34 +02:00
Atgeirr Flø Rasmussen
d9daa651ac
Merge pull request #960 from dr-robertk/PR/flow_ebos_polyhedral
...
Allow to run flow_ebos with PolyhedralGrid (UnstructuredGrid)
2017-04-07 10:13:25 +02:00
Atgeirr Flø Rasmussen
289b24689f
Merge pull request #1126 from atgeirr/refined-output
...
Refined output to terminal and log
2017-04-06 22:17:34 +02:00
Atgeirr Flø Rasmussen
6f9fcdf7a5
Fix (debug log) output of time taken per report step.
...
First, the stepReport variable was not used with adaptive timestepping.
Second, even when properly updating stepReport, solver_time is still 0.
It just happens that lots of other timing variables are updated, but not
solver_time (nor total_time, pressure_time and transport_time). Simplest
way to handle is to just report the solver_timer seconds (which are still added
to the "full sim report"'s solver_time).
2017-04-06 21:08:21 +02:00
Atgeirr Flø Rasmussen
98debed741
Fix minor output bug and refine output.
...
Previously the substep summary reports were cumulative, misleading the user.
Also, made output a little more compact and readable, ensuring numbers line up
unless unusually many digits are needed for times and iteration counts.
2017-04-06 14:54:08 +02:00
Atgeirr Flø Rasmussen
e325dcd04b
Excessive nonlinear iterations is reported as problem, not error.
2017-04-06 14:52:19 +02:00
Tor Harald Sandve
ac36ad5ad1
BUGFIX. Store soMax also for the solvent model
2017-04-06 14:39:30 +02:00
Tor Harald Sandve
cd564ade5f
Support for saturation table for each well completion
...
Compute relperms for each well completion based on saturation table ids
(satnums)
Does not work in combination with hysteresis.
2017-04-06 14:21:59 +02:00
babrodtk
8340d26890
Adds hysteresis output and input (for restarting)
2017-04-06 14:17:15 +02:00
Tor Harald Sandve
214e9764b2
Add sat table id to well struct
2017-04-06 13:52:27 +02:00
Atgeirr Flø Rasmussen
85e1544553
Use ensureDirectoryExists() instead of boost::filesystem directly.
...
Motivated by
- proliferation of identical code
- need to avoid strange behaviour with "." directory on some boost versions
- potenial for further refactoring to avoid boost entirely
2017-04-06 12:14:54 +02:00
Atgeirr Flø Rasmussen
d267c1a77d
Create ensureDirectoryExists() free function.
2017-04-06 12:14:06 +02:00
Markus Blatt
9ed02b33bc
Fix verbosity parameter used for parallel istl solvers.
...
These are not aware whether they are parallel or not. Therefore
the user should only specify a verbose verbosity only on one rank.
With this commit we do this on the process responsible for terminal
output.
2017-04-06 12:11:26 +02:00
Robert Kloefkorn
8a7141fa88
[feature] Add GridInit for PolyhedralGrid.
2017-04-05 13:54:12 +02:00
Robert Kloefkorn
11f36de73e
[bugfix] Use AutoDiffGrid in unspecialized version of ParallelDebugOutput.
2017-04-05 13:53:28 +02:00
babrodtk
e0e1ca51e6
Added soMax to flow_legacy
2017-04-05 12:32:43 +02:00
babrodtk
bd0507cc3b
Added somax to input/output to restart file
2017-04-05 12:32:43 +02:00
Atgeirr Flø Rasmussen
69835d2cde
Merge pull request #1114 from blattms/parallel-dens-wells
...
Parallelize and dunify/ewomsify StandardWellDense
2017-04-05 09:10:16 +02:00
Arne Morten Kvarving
32d50eab4a
Merge pull request #1096 from andlaus/use-flow_legacy-for-unit-tests
...
make the unit tests to explicitly use flow_legacy instead of flow
2017-04-04 11:09:36 +02:00
Markus Blatt
30f3d4e2d0
Get rid off TypeTag system in StandardWellsDense.
...
Previously, we kind of hard coded the problem using the TypeTag system.
Instead of this we now simply pass the only additional thing needed, the
ElementContext, as an additional template parameter.
Removes the include of removed header BlackoilModelEbosTypeTags.hpp.
2017-04-04 11:08:17 +02:00
Markus Blatt
312aa24f86
Revert "Factor out ewoms typetag system to separate header."
...
This reverts commit 05c70491257a615472e68fb44776bcd7effb60b8.
2017-04-04 11:08:17 +02:00
Markus Blatt
2bf7f8efa7
Revert "Moved copyright notice to top of header BlackoilModelEbosTypeTags.hpp"
...
This reverts commit d341de0d8b796b66f7bd6d871c84e1c2db265ff1.
2017-04-04 11:08:17 +02:00
Markus Blatt
e56e2cae15
Added requested braces.
2017-04-04 11:08:17 +02:00
Markus Blatt
6b8b8b971e
Use global wellsActive to see whether wells are active at all.
...
This bug must have sneaked in during rebasing. Kudos to Atgeirr for
spotting this.
2017-04-04 11:08:17 +02:00
Markus Blatt
cde162b3d6
Use the global number of cells for the average.
...
This number is still wrong in master but well become correct once
PR #1107 is merged.
2017-04-04 11:07:57 +02:00
Markus Blatt
a6f6e4806e
Moved copyright notice to top of header BlackoilModelEbosTypeTags.hpp
2017-04-04 11:06:41 +02:00
Markus Blatt
29fb281406
Updated Copyright stuff
2017-04-04 11:06:41 +02:00
Markus Blatt
781eadb561
Removed unused method detail::convergenceReduction
2017-04-04 11:06:41 +02:00
Markus Blatt
0e83496740
Make getWellConvergence parallel and omit unnecessary computations.
...
detail::getConvergence computes a lot more than we actually need.
We only need the average over B and the maximum of the well residual.
Therefore we now compute these quantities in getWellConvergence and
do the global reductions manually.
2017-04-04 11:05:50 +02:00
Markus Blatt
4768bc9e90
Remove usage of cachedIntensiveQuantities from getWellConvergence
2017-04-04 11:05:50 +02:00
Markus Blatt
f6153f8133
Factor out ewoms typetag system to separate header.
...
We will need the typetag information also for the wells.
If it is not in a separate header we get problems
with recursive inclusion of the headers (BlackoilEbos.hpp
includes the header that also needs the typetag information).
2017-04-04 11:05:50 +02:00
Atgeirr Flø Rasmussen
1232a7a021
Merge pull request #1111 from blattms/make-updateState-work-for-non-interior-elements
...
Make update state and getConvergence work for non interior elements
2017-04-04 10:47:39 +02:00
Atgeirr Flø Rasmussen
81dbfc8205
Merge pull request #1107 from blattms/fix-ebos-global-cell
...
[Ebos,bugfix] Correctly compute the global number of cells.
2017-04-04 10:33:22 +02:00
Markus Blatt
2b0a9351d5
Iterate over Interior_Partition instead of All_Partition and if-clause
2017-03-24 12:25:28 +01:00
Markus Blatt
863bef4722
Fix superfluous dereferencing that broke compilation.
2017-03-24 08:22:32 +01:00
Markus Blatt
30e8753288
Use Interior_Partition when iterating over grid instead of if(..) continue.
...
Makes the code a bit cleaner.
2017-03-22 11:51:52 +01:00
Robert Kloefkorn
085df34183
[cleanup] Only iterate over grid once during getConvergence.
...
Resolved cherry-pick conflicts by @blattms.
2017-03-21 10:52:37 +01:00
Andreas Lauser
c5fd9ddb48
make the unit tests to explicitly use flow_legacy instead of flow
...
the results of `flow_legacy` and `flow_ebos` are not bit-wise
identical. The same tests using `flow_ebos` should to be added when
re-organizing the unit tests the next time.
2017-03-20 20:01:59 +01:00
Markus Blatt
990ea7c44c
Remove unused variable warning for endElementIt.
...
It was redefined and initialized in an inner scope.
2017-03-20 19:53:27 +01:00
Markus Blatt
ad1fe8fac0
Prevent using dangling references in BlackoilModelEbos::getConvergence.
...
Using cachedIntensiveQuantities on parallel grids will cause/is causing
dereferencing a null pointer here. Therefore we resort to iterating over
the grid and using the element Context.
If this turns out ot be performance regression @andlaus owes me a beer!
2017-03-20 16:46:10 +01:00
Markus Blatt
aa5940a2ff
Prevent using dangling references in BlackoilModelEbos::updateState.
...
Using cachedIntensiveQuantities on parallel grids will cause/is causing
dereferencing a null pointer here. Therefore we resort to iterating over
the grid and using the element Context.
If this turns out ot be performance regression @andlaus owes me a beer!
Closes #1110
2017-03-20 16:46:00 +01:00
Atgeirr Flø Rasmussen
0b0ef7e20f
Merge pull request #1108 from andlaus/apply_wells_in_assemble
...
BlackoilModelEbos: apply the well residual in assemble()
2017-03-20 08:44:32 +01:00
Atgeirr Flø Rasmussen
2eb8816507
Merge pull request #1103 from totto82/output_rsrv_pc
...
Fix output of rs and rv.
2017-03-20 06:47:17 +01:00
Atgeirr Flø Rasmussen
553f345670
Merge pull request #1088 from GitPaean/correcting_bhp_limits_for_well_potentials
...
more careful determination of the most restrictive bhp value
2017-03-19 14:08:13 +01:00
Atgeirr Flø Rasmussen
f504ca34f4
Merge pull request #1041 from blattms/fix-output_writer-setup
...
Fix output writer setup
2017-03-17 18:12:52 +01:00
Atgeirr Flø Rasmussen
eaf9d136bf
Merge pull request #1091 from GitPaean/calculating_surface_volume_fraction
...
[WIP] using surface volume fraction instead of wellVolumeFraction() and wellVolumeFractionScaled() in a few places
2017-03-17 14:31:31 +01:00
Bård Skaflestad
bdba47e5ac
Merge pull request #1105 from atgeirr/change-default-output-dir
...
Change default output dir
2017-03-17 13:58:08 +01:00
Andreas Lauser
093310c437
BlackoilModelEbos: apply the well residual in assemble()
...
This used to be done in solveJacobianSystem(), but this method is only
supposed to solve the linearized system of equations, not to modify it
IMO.
I tested this patch with Norne: It did not change anything.
2017-03-17 11:39:41 +01:00
Bård Skaflestad
d700f3e946
Merge pull request #1104 from atgeirr/allow-restart-without-opmextra
...
Allow restarting without OPMEXTRA field in restart file.
2017-03-17 11:18:06 +01:00
Markus Blatt
13956625b6
Removed duplicate output writer setup.
...
The cat must have dragged that in during some of the various rebases of this branch.
This introduced a segmentation fault as for the second setup eclIO was already null.
2017-03-17 11:08:55 +01:00
Markus Blatt
bb7934b1a2
[Ebos,bugfix] Correctly compute the global number of cells.
...
Currently, all parallel DUNE grid store some cells in addition to
interior cells. Therefore assuming that the global number of cells
(i.e. the number of cells a sequential grid needs to cover the same
whole domain with indentical cells) is not the sum of the number of
cells of the local grid. Previously, the latter was used.
2017-03-17 10:26:00 +01:00
Atgeirr Flø Rasmussen
059367e14d
Change default output dir for flow_ebos.
2017-03-16 16:05:33 +01:00
Atgeirr Flø Rasmussen
4ea87b31b2
Change output dir default.
...
With this the default output dir is the location of the deck file
(as stored in the IOConfig), rather than the current working directory.
2017-03-16 15:43:46 +01:00
Atgeirr Flø Rasmussen
4eda4d9ff6
Remove unused code and simplify.
...
- The output_interval_ member is no longer used (here).
- After setup, the IOConfig contains the output dir, use it.
2017-03-16 15:40:24 +01:00
Markus Blatt
0650f9b42e
Deactivate gather code when MPI is not available.
...
In this case some of the used classes do not exist.
2017-03-16 14:52:59 +01:00
Markus Blatt
35ff439ee1
Make ParallelDebugOutput constructable with global or distributed grid view.
...
That makes coding a little more me/fool proof.
2017-03-16 14:52:59 +01:00
Markus Blatt
03cb9f4afa
ParalleDebugOutput needs the distributed grid.
...
Because for the global grid the communicator sees just one process.
Unfortunately this is not documented.
2017-03-16 14:52:59 +01:00
Markus Blatt
2f95e33d59
Do not use the equilGrid in Ebos as it is deleted after the constructor.
...
Instead we create our own global grid representation.
2017-03-16 14:52:59 +01:00
Markus Blatt
fd3e3596a9
Setup output writer and write initial values in parallel correctly.
...
Before this commit only the solution of process 0 was written.
To fix this we make the equilGrid of Ebos available. It is used
for the output writer. The properties written initially are gathered from
all processes first using the new gather/scatter utility.
2017-03-16 14:52:59 +01:00
Markus Blatt
45cee3d9f4
Added missing header include.
2017-03-16 14:52:59 +01:00
Atgeirr Flø Rasmussen
711e9bacb7
Allow restarting without OPMEXTRA field in restart file.
2017-03-16 13:34:24 +01:00