Commit Graph

1209 Commits

Author SHA1 Message Date
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
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
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
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
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
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
27c0430932 Change include paths for moved headers. 2017-02-10 16:07:25 +01:00
Arne Morten Kvarving
86fbb36fd2 adjustments for imported files
- adjust include paths
- add new test to build system
- add new example to build system
2017-02-10 13:02:00 +01:00
Arne Morten Kvarving
109780f62f Import adaptive time stepping and simulator timer from opm-core
also import associated tests / examples
2017-02-10 12:04:11 +01:00
Andreas Lauser
8a10a4d901 adapt to the move of the valgrind client requests into the Opm namespace 2017-02-09 18:25:44 +01:00
Andreas Lauser
42ec0ca3c3 do not explicitly pass the permeability to the well model anymore
this information is already part of the EclipseState. The reason why
this should IMO be avoided is that this enforces an implementation
detail (ordering of the permeability matrices) of the simulator on the
well model. If this needs to be done for performance reasons, IMO it
would be smarter to pass an array of matrices instead of passing a raw
array of doubles.  I doubt that this is necessary, though: completing
the full Norne deck takes about 0.25 seconds longer on my machine,
that's substantially less than 0.1% of the total runtime.
2017-01-27 13:06:09 +01:00
Andreas Lauser
04a1c25ebf do not explicitly pass the permeability to the well model anymore
this information is already part of the EclipseState. The reason why
this should IMO be avoided is that this enforces an implementation
(ordering of the permeability matrices) the simulator on the well
model. If this needs to be done for performance reasons, IMO it would
be smarter to pass an array of matrices, instead of passing a raw
array of doubles.  I doubt that this is necessary, though: completing
the full Norne deck takes about 0.25 seconds longer on my machine,
that's substantially less than 0.1% of the total runtime.

in order to avoid code duplication, the permeability extraction
function of the RockFromDeck class is now made a public static
function and used as an implementation detail of the WellsManager.

finally, the permfield_valid_ attribute is removed from the
RockFromDeck class because this data was unused and not accessible via
the class' public API.
2017-01-27 12:51:12 +01:00
Joakim Hove
270e5f9c0e Passing keys to the restart load function.
- Renamed EclipseWriter -> EclipseIO.
 - Loading from restart file is a method on the EclipseIO class.
2017-01-25 23:16:08 +01:00
Andreas Lauser
a9f53f9d87 Groundwater problem: use the conjugated gradient solver from dune-istl
the groundwater problem should be symmetric because it uses an
incompressible fluid, is a single phase problem and uses the
immiscible model. (i.e., there should never be a difference between
the upstream and the downstream cells.)

the main purpose of this commit is to have a test that uses a linear
solver wrapper which was generated by the internal
EWOMS_WRAP_ISTL_SOLVER macro.
2017-01-21 21:17:00 +01:00
Andreas Lauser
99304f9689 change the order of OPM_UNUSED and variable name
it seems like some compilers (GCC 4.9.2?) are picky about this and
require

```c++
TypeName VariableName __attribute__ ((__unused__))
```
2017-01-17 13:28:56 +01:00
Atgeirr Flø Rasmussen
86b71e7d48 Merge pull request #989 from jokva/read-rock-compressibility-from-eclipsestate
RockCompressibility takes only EclipseState
2017-01-09 09:33:41 +01:00
Andreas Lauser
b1995f7dfb provide access to the prestine linear solvers of dune-istl
... and use the restarted GMRES solver in conjunction with a ILU-2
preconditioner for the water-air unit test.

I do not really recommend using these solvers because BiCGSTAB tends
to be 20% to 30% slower than our home-brewn implementation (this is
because the dune-istl solvers cannot use custom convergence criteria),
but dune-istl offers more choices than just BiCGStab and this
functionallity could be helpful when debugging issues related to
solving the linear systems of equations.

Note that regardless of how pedantic the interpretation of DUNE's
license is, there are no licensing issues with this code because we do
not distribute any files derived from DUNE anymore.
2017-01-02 15:45:41 +01:00
Andreas Lauser
d514667977 remove the modified version of the linear solvers from dune-istl
i.e., the solvers.hh file is removed. The main reason for this is that
it avoids having to distribute a file with a potentially incompatible
license (i.e., GPLv2 + template exception vs GPLv2+), but the
home-brewn bicgstab solver also seems to perform a tiny bit better.
2017-01-02 15:45:41 +01:00
Andreas Lauser
ef731672c9 remove the BlackoilPropsAdInterface abstraction layer
instead, directly use BlackoilPropsAdFromDeck.
2017-01-02 13:19:23 +01:00
Jørgen Kvalsvik
d2b5327a72 RockCompressibility takes only EclipseState 2016-12-20 12:39:34 +01:00
Jørgen Kvalsvik
6e92374d34 Read ROCK from EclipseState, not Deck 2016-12-20 12:24:27 +01:00
Andreas Lauser
aa194cddbb reservoir_ncp_vcfv: change the epsilon base value for the finite difference method to 1e-11
this *might* fix the failed test on the jenkins server.
2016-12-16 21:24:36 +01:00
Andreas Lauser
e160bf7dd3 the new home of Valgrind.hpp is opm-common! 2016-12-14 12:38:12 +01:00
Andreas Lauser
64af85c1da adapt to the move of quad.hh to opm-material 2016-12-14 12:38:12 +01:00
Andreas Lauser
01326ad3c7 adapt to the move of Unused.hpp from opm-material to opm-common 2016-11-22 14:41:07 +01:00
Atgeirr Flø Rasmussen
e223c03647 Merge pull request #800 from OPM/frankenstein
Frankenstein V2
2016-11-18 15:49:31 +01:00
Atgeirr Flø Rasmussen
71bd419c03 Do not assign to dereferenced null pointers. 2016-11-17 13:18:02 +01:00
Andreas Lauser
d989c1e2fc Merge remote-tracking branch 'origin/master' into frankenstein
* origin/master:
  Do not throw for unrecognized file when merging log files.
  Do not populate cellData but issue a warning in parallel.
  Removed ternary operator in inline initialization.
  Correctly mark transfer of ownership for ouptut writer
  Indent nested #if
  Remove Solution.sdc assignment
  Cater variable name change in BCRSMatrix of DUNE 2.5
  Fix using local active cells for writing eclipse files in parallel.
  add restart test for SPE1CASE2_ACTNUM
  rename the 'flow' binary to 'flow_legacy' and set a symbolic link
  Added ctest for restart files
2016-11-11 18:29:46 +01:00
Atgeirr Flø Rasmussen
129db89dc0 Merge pull request #900 from blattms/fix-parallel-eclipse-writing
Fix using local active cells for writing eclipse files in parallel.
2016-11-11 15:28:46 +01:00
Andreas Lauser
923605a427 move all applications into their top-level directory
thanks to [at]akva2 for the suggestion.
2016-11-11 15:04:04 +01:00
Andreas Lauser
6fcb16c0c9 fix a signedness issue when retrieving parameters
the issue only bites if the tests are compiled in debug mode, so it
has only been discovered now.
2016-11-10 20:19:46 +01:00
Markus Blatt
3eba3353d0 Correctly mark transfer of ownership for ouptut writer 2016-11-10 13:04:30 +01:00
Andreas Lauser
ec4b6c82dd fix most pedantic compiler warnings in the basic infrastructure
i.e., using clang 3.8 to compile the test suite with the following
flags:

```
-Weverything
-Wno-documentation
-Wno-documentation-unknown-command
-Wno-c++98-compat
-Wno-c++98-compat-pedantic
-Wno-undef
-Wno-padded
-Wno-global-constructors
-Wno-exit-time-destructors
-Wno-weak-vtables
-Wno-float-equal
```

should not produce any warnings anymore. In my opinion the only flag
which would produce beneficial warnings is -Wdocumentation. This has
not been fixed in this patch because writing documentation is left for
another day (or, more likely, year).

note that this patch consists of a heavy dose of the OPM_UNUSED macro
and plenty of static_casts (to fix signedness issues). Fixing the
singedness issues were quite a nightmare and the fact that the Dune
API is quite inconsistent in that regard was not exactly helpful. :/

Finally this patch includes quite a few formatting changes (e.g., all
occurences of 'T &t' should be changed to `T& t`) and some fixes for
minor issues which I've found during the excercise.

I've made sure that all unit tests the test suite still pass
successfully and I've made sure that flow_ebos still works for Norne
and that it did not regress w.r.t. performance.

(Note that this patch does not fix compiler warnings triggered `ebos`
and `flow_ebos` but only those caused by the basic infrastructure or
the unit tests.)

v2: fix the warnings that occur if the dune-localfunctions module is
    not available. thanks to [at]atgeirr for testing.
v3: fix dune 2.3 build issue
2016-11-09 14:54:22 +01:00
Markus Blatt
077dc02481 Fix using local active cells for writing eclipse files in parallel.
Previously, the eclipseGrid used by EclipseWriter was constructed from
the one in the EclipseState with the current CpGrid. Unfortunately the
latter was the distributed version resembling only the local part that
the processor works on. Therefore the information about the active cells
was wrong when writing results (which raised an exception in the writer).

With this commit we construct the EclipseWriter before distributing the grid
and use this writer later on in the OutputWriter.
2016-11-07 19:35:53 +01:00
Andreas Lauser
511a9039ab rename the 'flow' binary to 'flow_legacy' and set a symbolic link
this is a precursor of merging flow_ebos into the master
branch. hopefully, this won't break any existing setups...
2016-11-04 16:19:15 +01:00
Andreas Lauser
79a838e7c8 fix the grid adaptivity functionality
Note that this is rarely tested because it requires the availability
of dune-alugrid and dune-fem.
2016-11-02 17:33:20 +01:00
Andreas Lauser
00a907962b co2injection problem: increase tolerance for conservativeness check
this fixes a few test failures in debug mode with quadruple precision
math enabled.
2016-11-02 16:37:57 +01:00
Robert Kloefkorn
a6d8748105 [feature] Make mapper inside stencil a reference to avoid re-computation of offsets when ElementContext is created. 2016-10-30 15:33:20 +01:00
Andreas Lauser
6754bad00b Merge branch 'master' into frankenstein
* master:
  Update to shared_ptr-less parser interface.
2016-10-20 20:16:42 +02:00
Jørgen Kvalsvik
1c6a4b34da Update to shared_ptr-less parser interface. 2016-10-20 14:08:04 +02:00
Jørgen Kvalsvik
ad6b77cc15 Update to shared_ptr-less parser interface. 2016-10-20 10:14:41 +02:00
Jørgen Kvalsvik
a52724ae97 Update to shared_ptr-less parser interface. 2016-10-20 10:14:41 +02:00
Andreas Lauser
7cfe8322e2 Merge branch 'master' into frankenstein
* master:
  adapt to the removal of the unit system of opm-core
2016-10-19 13:30:44 +02:00
Andreas Lauser
bbd545c358 reservoir problem: reduce the raw tolerance of the newton method to 10^-6
10^-4 lead to sporadic results if the final tolerance of the solution
really was 10^-4. (it currently is usually better because each time
step experiences an additional update after the Newton method deems it
to be converged.)
2016-10-14 18:26:55 +02:00
Andreas Lauser
d76bf11902 adapt to the removal of the unit system of opm-core
the one which is in opm-parser is now a drop-in replacement.
2016-10-10 17:00:09 +02:00
Andreas Lauser
db073ed7e3 lens problem: set the residual phase saturations again
this makes the results of the lens test problem match with those
obtained using dumux exactly. (if the time step sizes are forced to be
the same.)
2016-10-03 21:04:12 +02:00
Andreas Lauser
f90d1058a2 remove the navier-stokes test problem
this problem did not work properly anyway: it oscillated like hell
(very likely to the spatial discretization used being inappropriate)
and it did not even converge if more than a single iteration was
required.
2016-09-22 14:58:19 +02:00
Andreas Lauser
62de30d9b2 Merge remote-tracking branch 'origin/master' into frankenstein 2016-09-12 23:18:02 +02:00
Andreas Lauser
50e63422ba some minor cleanups
these are:

- remove the unused methods "baseEpsilon()" and "numericEpsilon()"
  from FvBaseAdLocalLinearizer. (they are only meaningful in the
  context of finite differences.)
- correct/update some comments
- replace most occurences of Toolbox::createConstant() with
  assignments to floating point values to unclutter the code a bit.
2016-09-06 18:22:13 +02:00
Joakim Hove
5aa2b97c31 shared_ptr<EclipseGrid> -> const EclipseGrid& 2016-09-03 17:49:46 +02:00
Joakim Hove
6eab1b9954 shared_ptr<EclipseGrid> -> const EclipseGrid& 2016-09-03 17:49:46 +02:00
Joakim Hove
10d76d5bb1 shared_ptr<EclipseGrid> -> const EclipseGrid& 2016-08-31 19:39:39 +02:00
Atgeirr Flø Rasmussen
61af1fa53d Remove unused nnc arg from BlackoilOutputWriter constructor. 2016-08-30 13:18:06 +02:00
Andreas Lauser
2e56597d0e fix Dune 2.3 build issue
this time I tested it.
2016-08-10 15:05:31 +02:00
Andreas Lauser
4b4ecb1145 fix a build issue with dune 2.3
(hopefully)
2016-08-10 14:45:20 +02:00
Andreas Lauser
3027e1f39d flow_ebos: do no longer use the generic FlowMain class
this will allow to boil the code down.
2016-08-09 18:38:23 +02:00
Robert Kloefkorn
3db63b0a22 add flow_ebos, an ebos based simulator
it uses ebos for linearization of the mass balance equations and the
current flow code from opm-simulators for all the rest. currently, the
results match the ones from plain `flow` for SPE1, SPE9 and Norne, but
performance is not optimal: on SPE9, converting from and to the legacy
data structures takes about a third of the time to do the actual mass
balance assembly. nevertheless `flow_ebos` is almost as fast as plain
`flow` for SPE9. (for Norne `flow_ebos` is about 15% slower, even
though the results match quite closely. the reason for this is that it
requires more iterations for some reason.)
2016-08-09 18:38:23 +02:00
Pål Grønås Drange
bd58792714 TransMult, Init, and SimConfig are references, applyModifierDeck takes reference, and EclipseState constructor too 2016-08-08 10:07:09 +02:00
Pål Grønås Drange
9579e4acd8 transmult and initconfig are ref's, use ref for EclipseState constructor 2016-08-08 10:02:53 +02:00
Pål Grønås Drange
7ff2328f3f transmult and initconfig are ref's, use ref for EclipseState constructor 2016-08-08 10:02:53 +02:00
Andreas Lauser
17670977f0 fix the reservoir problem tests with the blackoil model
this broke with 94006531. I actually fixed the reservoir problem
yesterday before pushing 94006531 but forgot to include the fix in my
local branch before pushing. Stupid me!
2016-07-12 19:12:22 +02:00
Atgeirr Flø Rasmussen
7489f15ee9 Add sequential models for black oil.
This commit adds sequential solvers, including a simulator variant
using them (flow_sequential.cpp) with an integration test (running
SPE1, same as for fully implicit).

The sequential code is capable of running several (but not all) test
cases without tuning or special parameters, but reducing ds_max a bit
(from default 0.2 to say 0.1) helps with transport solver
convergence. The Norne model runs fine (esp. with a little tuning). A
parameter iterate_to_fully_implicit (defaults to false) is available,
when set the simulator will iterate with alternating pressure and
transport solves towards the fully implicit solution. Although that
takes a lot extra time it serves as a correctness check.

Performance is not competitive with fully implicit at this point:
essentially both the pressure and transport models inherit the fully
implicit model and do a lot of double (or triple) work. The point has
been to establish a proof of concept and baseline for further
experiments, without disturbing the base model too much (or at all, if
possible).

Changes to existing code has been minimized by merging most such
changes as smaller PRs already, the only remaining such change is to
NewtonIterationBlackoilInterleaved. Admittedly, that code (to solve
the pressure system with AMG) is not ideal because it duplicates
similar code in CPRPreconditioner.hpp and is not parallel. I propose
to address this later by refactoring the "solve elliptic system" code
from CPRPreconditioner into a separate class that can be used also
from here
2016-06-27 10:28:09 +02:00
Jørgen Kvalsvik
dfac3adaea Pass NNC to OutputWriter constructor
Keep up with an interface change in opm-output.
2016-06-16 13:34:29 +02:00
Markus Blatt
9bd2f7c1dc Fix incomplete type error for std::ofstream in examples
On my system I got
```c++
error: variable ‘std::ofstream file’ has initializer but incomplete type
         std::ofstream file(fname.str().c_str());
```
This is fixed with this commit by including fstream. Previously, this include might have happened implicitely.
2016-05-27 09:10:00 +00:00
Markus Blatt
b0b43e97b6 Fix incomplete type error for std::ofstream in examples
On my system I got
```c++
error: variable ‘std::ofstream file’ has initializer but incomplete type
         std::ofstream file(fname.str().c_str());
```
This is fixed with this commit by including fstream. Previously,
this include might have happened implicitely.
2016-05-27 08:59:00 +00:00
Liu Ming
3e3c028581 remove the prefix from raw string, using OpmLog format. 2016-05-19 10:07:36 +08:00
Liu Ming
568101a373 use StreamLog to output messages. 2016-05-19 09:48:12 +08:00
Andreas Lauser
4d37a50c83 remove support for the legacy ALUGrid library provided by dune-grid
now, the dune-alugrid module is required if these tests are to be
run. (note that due to the fact that the OPM build system has not been
detecting the legacy alugrid library for a while, the practical
implications of this patch should be small to non-existant.)
2016-05-04 13:22:51 +02:00
Joakim Hove
db3bbbe65e Removed stale test code 2016-04-26 17:51:11 +02:00
Pål Grønås Drange
938e6119f4 Using getInputGrid API from Parser, changed GridManager to no longer accept Deck in constructor 2016-04-20 08:51:10 +02:00
Pål Grønås Drange
75936c1d9c Using getInputGrid API from Parser, changed GridManager to no longer accept Deck in constructor 2016-04-20 08:51:10 +02:00
Pål Grønås Drange
18f6672df0 Using getInputGrid API from Parser 2016-04-19 17:03:41 +02:00
Andreas Lauser
b31ceff970 adapt to the recent opm-material API change w.r.t. the ParameterCache
this is necessary to allow non-trivial ParameterCache objects with
Local-AD evaluations. So far, the only fluid system in opm-material
which needs this is the Spe5 fluid system (which is unused by eWoms),
but sooner or later this change would have been required anyway.

Note that it is possible that this patch is errornous if Evaluation !=
Scalar for a fluid system that uses a non-trivial ParameterCache
object, but the errors should be relatively easy to fix...
2016-04-15 18:44:14 +02:00
Atgeirr Flø Rasmussen
be67e0f7a5 Update include file locations. 2016-04-14 11:32:08 +02:00
Joakim Hove
6f6f1afb8f Replaced SimulatorState -> SimulationDatacontainer
Have removed the SimulatorState base class, and instead replaced with
the SimulationDatacontainer class from opm-common. The SimulatorState
objects were typcially created with a default constructor, and then
explicitly initialized with a SimulatorState::init() method. For the
SimulationDataContainer RAII is employed; the init( ) has been removed -
and there is no default constructor.
2016-04-14 11:32:08 +02:00
Liu Ming
bfb5a49af1 rename ParseMode in examples folder. 2016-04-14 11:32:08 +02:00
Jørgen Kvalsvik
6ec0594f17 Improve includes from opm-parser
Adopting to opm-parser PR#661, add previously missing includes.

https://github.com/OPM/opm-parser/pull/661
2016-04-14 11:32:08 +02:00
Atgeirr Flø Rasmussen
6d80b5b03f In sim_2p_incomp, avoid running everything twice.
There were loops (over all timesteps) both in the
main() function and the simulator class.

Note:
This simulator cannot properly handle changing
well configurations, and will now use only the
initial configuration (first report step), instead
of possibly crashing later.
2016-04-14 11:32:08 +02:00
Andreas Lauser
29f4be0f6c use the error macros from opm-common 2016-04-14 11:32:08 +02:00
Joakim Hove
d23c4e5518 Updated to use ParseMode. 2016-04-14 11:32:08 +02:00
Atgeirr Flø Rasmussen
03a84a3ac4 Use existing TimeMap, instead of creating new. 2016-04-14 11:32:08 +02:00
Atgeirr Flø Rasmussen
9f587fee21 Bugfix: avoid using TimeMap without deck.
This made the simulator crash when there is no deck involved.
2016-04-14 11:32:07 +02:00
Andreas Lauser
b27aadc083 adapt the the table related API changes of opm-parser 2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
e439084f81 Fix: eclipseState no longer shadowed. 2016-04-14 11:32:07 +02:00
Andreas Lauser
5b5f6e6aa6 Glue in support for the grid property modifier keywords
this basically means using Opm::EclipseState instead of the raw deck
for these keywords.

with this, property modifiers like ADD, MULT, COPY and friends are
supported for at least the PERM* keywords. If additional keywords are
required these can be added relatively easily as well.

no ctest regressions have been observed with this patch on my machine.
2016-04-14 11:32:07 +02:00
Andreas Lauser
12ece55907 rename all "newParserDeck" objects to "deck"
The "new" parser is now "the" parser...
2016-04-14 11:32:07 +02:00
Andreas Lauser
c89e1ed0b6 convert the examples and the tests to opm-parser 2016-04-14 11:32:07 +02:00
Joakim Hove
9f6d658486 Removed WellsManager constructor which takes an ole Eclipsegridparser instance. 2016-04-14 11:32:07 +02:00
Andreas Lauser
f0e86b98e3 catch all exceptions in all tutorials and examples 2016-04-14 11:32:07 +02:00
Andreas Lauser
e8458e9a23 convert THROW to OPM_THROW 2016-04-14 11:32:07 +02:00
Andreas Lauser
068519bd19 replace boost::scoped_ptr by std::unique_ptr
thanks to Bård Skaflestad, Atgeirr Rasmusen and Roland Kaufmann for
the hint.
2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
fbf938ef91 Changed #ifdef HAVE_... to #if HAVE_... 2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
c1e6c7c778 Fixed conditional compilation issues with UMFPACK.
This should fix the issue reported in #208 introduced in #203.
2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
3ba94c0a68 Moved ColumnExtract and initState.
ColumnExtract -> opm/core/grid/ and initState -> opm/core/simulator/.
2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
b312dfac6a Renamed newwells.h -> wells.h.
Also moved implementation file to subdir.
2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
9aa64340e4 Move GridManager to grid subdir.
Also remove GridAdapter (moved to dune-cornerpoint), and
moved grid.c implementation file to grid subdir.
2016-04-14 11:32:07 +02:00
Atgeirr Flø Rasmussen
01d376deb6 Removed unneeded simulator class, renamed a simulator. 2016-04-14 11:32:07 +02:00
Pål Grønås Drange
fd9f67ae55 Using API get3DProperties() 2016-04-12 14:47:50 +02:00
Pål Grønås Drange
77fc26475b Using new EclipseState API, made ->s into .s 2016-04-12 14:47:50 +02:00
Arne Morten Kvarving
66333051e7 Import the following files from opm-core
opm/core/utility/thresholdPressures.hpp
tests/test_thresholdpressure.cpp
opm/core/simulator/SimulatorCompressibleTwophase.hpp
opm/core/simulator/SimulatorCompressibleTwophase.cpp
opm/core/simulator/SimulatorIncompTwophase.hpp
opm/core/simulator/SimulatorIncompTwophase.cpp
examples/sim_2p_comp_reorder.cpp

the files in opm/core has been put in opm/simulators
2016-04-11 09:59:25 +02:00
Andreas Lauser
8a420748f5 use automatic differentiation for the co2injection_flash_ecfv test
i.e., the simulation for the CO2-injection problem which uses the
flash solver to handle its thermodynamics and element centered finite
volume method as the spatial discretization. The intention is to
ensure that opm-material's NcpFlash constraint solver works with
non-primitive types as Scalars. (or rather: that it will be quickly
detected if it breaks in that case.)
2016-04-08 14:29:26 +02:00
Liu Ming
939085155e refactor relperm diagnostics using OpmLog functions. 2016-04-01 12:27:03 +08:00
Atgeirr Flø Rasmussen
3aa5158842 Merge pull request #619 from kjellkongsvik/Move_OutputWriter_to_opm-output
Refactored to use OutputWriter from opm-output
2016-03-31 09:44:09 +02:00
Joakim Hove
18c07d5d66 Replaced SimulatorState -> SimulationDataContainer 2016-03-29 10:48:36 +02:00
Joakim Hove
38628de09e Replaced SimulatorState -> SimulationDatacontainer
Have removed the SimulatorState base class, and instead replaced with
the SimulationDatacontainer class from opm-common. The SimulatorState
objects were typcially created with a default constructor, and then
explicitly initialized with a SimulatorState::init() method. For the
SimulationDataContainer RAII is employed; the init( ) has been removed -
and there is no default constructor.
2016-03-29 10:44:49 +02:00
Joakim Hove
b42700c6a8 Replaced SimulatorState -> SimulationDatacontainer
Have removed the SimulatorState base class, and instead replaced with
the SimulationDatacontainer class from opm-common. The SimulatorState
objects were typcially created with a default constructor, and then
explicitly initialized with a SimulatorState::init() method. For the
SimulationDataContainer RAII is employed; the init( ) has been removed -
and there is no default constructor.
2016-03-29 10:44:49 +02:00
Joakim Hove
a256dc0e5d Replaced SimulatorState -> SimulationDatacontainer
Have removed the SimulatorState base class, and instead replaced with
the SimulationDatacontainer class from opm-common. The SimulatorState
objects were typcially created with a default constructor, and then
explicitly initialized with a SimulatorState::init() method. For the
SimulationDataContainer RAII is employed; the init( ) has been removed -
and there is no default constructor.
2016-03-29 10:44:49 +02:00
chflo
e63bf7aead Changed includes due to OpmLog moved from parser to common 2016-03-17 16:19:07 +01:00
Kjell W. Kongsvik
ea9e572a65 Refactored to use OutputWriter from opm-output
As OutputWriter has been deleted from opm-core
Only changes in includes
2016-03-17 14:45:30 +01:00
Andreas Lauser
290584dddc clean up the licensing preable of source files
the in-file lists of authors has been removed in favor of a global
list of authors in the LICENSE file. this is done because (a)
maintaining a list of authors at the beginning of a file is a major
pain in the a**, (b) the list of authors was not accurate in about 85%
of all cases where more than one person was involved and (c) this list
is not legally binding in any way (the copyright is at the person who
authored a given change, if these lists had any legal relevance, one
could "aquire" the copyright of the module by forking it and removing
the lists...)

the only exception of this is the eWoms fork of dune-istl's solvers.hh
file. This is beneficial because the authors of that file do not
appear in the global list. Further, carrying the fork of that file is
required because we would like to use a reasonable convergence
criterion for the linear solver. (the solvers from dune-istl do
neither support user-defined convergence criteria not do the
developers want support for it. (my patch was rejected a few years
ago.))
2016-03-17 13:20:20 +01:00
Liu Ming
17e5eb2dee rename ParseMode as ParseContext. 2016-03-17 10:02:50 +08:00
Liu Ming
8cd08728f7 rename ParseMode as ParseContext. 2016-03-17 09:57:59 +08:00
Liu Ming
91a4346a27 rename ParseMode in examples folder. 2016-03-17 09:46:12 +08:00
Liu Ming
b4a9529aed rename ParseMode in examples folder. 2016-03-17 09:46:12 +08:00
Liu Ming
355f349470 make grid as template parameter. 2016-03-04 09:09:38 +08:00
Liu Ming
215a3f24d4 change .LOG to .SATFUNCLOG. 2016-03-02 14:58:37 +08:00
Andreas Lauser
099c958137 fix the deprecation warnings caused by OPM/opm-parser#687 2016-02-21 17:45:56 +01:00
Jørgen Kvalsvik
19e41bd246 Change Deck access methods/types to references
opm-parser#677 changes the return types for the Deck family of classes.
This patch fixes all broken code from that patch set.

https://github.com/OPM/opm-parser/pull/677
2016-02-19 11:55:19 +01:00
Liu Ming
d4ac98fb61 use standard filename for output log file. 2016-02-19 09:35:15 +08:00
Liu Ming
dbabffb91a Add more parser mode options. 2016-01-25 11:13:19 +08:00
Andreas Lauser
a128d49a6d lens problem: some small performance improvements
the changes enable the storage cache and the intensive quantity cache
for all simulators of the lens problem and automatic differentiation
for the one which uses the ECFV discretization.

while the performance improvements are not worthwhile for the problem
in its default incarnation (using automatic diffentiation even
slightly degrades performance), it speeds up linearization by about
30% if the grid exhibits 16 times as many elements (e.g. by passing
the --grid-global-refinements=2) parameter.
2016-01-23 20:35:20 +01:00
Jørgen Kvalsvik
50c1bbdc85 Fixes includes wrt opm-parser PR-656
Several files stopped compiling due to relying on opm-parser headers
doing includes. From opm-parser PR-656
https://github.com/OPM/opm-parser/pull/656 this assumption is no longer
valid.
2016-01-21 09:42:51 +01:00
Andreas Lauser
fd387777b5 make all tests and ebos compile when selecting float or quad as Scalar
at least, they compile as far as eWoms is concerned. Some external
libraries (in particular everything which uses SuperLU) still have
issues.

Also, there seem to be issues with the precision that is achievable
by the Newton method when using float.
2016-01-17 21:15:21 +01:00
Andreas Lauser
855abc09fc change the default grid used for the lens problem back to Dune::YaspGrid
this is because the reference solution changes for newer versions of
dune-alugrid and one of the main purposes of the lens problem is to
allow comparison with Dumux relatively easily. (Dumux usese YaspGrid
for its version of the lens problem.)
2016-01-17 21:15:03 +01:00
Robert Kloefkorn
9c38271ea4 FingerProblem: use shared_ptr to avoid mem leak. 2016-01-08 12:27:05 -07:00
Robert Kloefkorn
47c9b39e3b FingerProblem: bug fix, store pointers of MaterialLaw since copying seems not ot work.
LensProblem: use structuredgridmanager from ewoms/io.
2016-01-08 12:08:04 -07:00
Joakim Hove
833f5d053f Avoid using Deck.
Removed incorrect use of Deck for polymer and solvent properties.
2016-01-08 13:57:37 +01:00
Robert Kloefkorn
c10d4905f7 LensProblem and FingerProblem: use StructuredGridManager. 2016-01-07 15:59:31 -07:00
Robert Kloefkorn
9dd0ebff6b FingerGridManager: use DGF Parser. 2016-01-07 14:55:35 -07:00
Robert Kloefkorn
56b6d4a129 FingerProblem: avoid creating of unused empty grid. 2016-01-07 13:57:37 -07:00
Robert Kloefkorn
503b5038f6 FingerProblem: bug fix, don't use ALUGrid's SFC reordering. 2016-01-07 12:04:18 -07:00
Robert Kloefkorn
b9c0368915 FingerProblem: remove warning. 2016-01-07 11:32:54 -07:00
Robert Kloefkorn
c36cba7660 FingerProblem: restore default values. 2016-01-06 16:41:29 -07:00
Robert Kloefkorn
8526c6c0ea Merge remote-tracking branch 'upstream/master' into PR/ewoms-can-use-dune-fem 2016-01-06 16:21:17 -07:00
Andreas Lauser
877eccb4cc reservoir problem: various improvements
- start with an initial "do nothing" episode of 100 days to get
  hydrostatic conditions.
- after that, produce oil and inject water for 900 days. (thereafter
  the reservoir will be empty.)
- make the problem work with element centered FV discretizations. this
  requires to make the width of the injection/production areas at
  least one cell wide. This is achieved by using the new "WellWidth"
  property which specifies the with of wells as a factor of the total
  domain width.
- make the problem work with fully compositional models. This implied
  to calculate the full composition for the fluid states which specify
  the initial condition and the thermodynamic state at the wells.
- add tests and reference solutions for any combination of the {ECFV,
  VCFV} discretizations and the {black-oil, NCP} models.
2016-01-05 11:54:27 +01:00
Andreas Lauser
f6c835298a rewrite the mechanism to enforce constraint degrees of freedom
- the residual now does not consider constraints anymore
- instead, the central place for constraints is the linearizer:
  - it gets a constraintsMap() method which is analogous to residual()
    but it stores (DOF index, constraints vector) pairs because
    typically only very few DOFs need to be constraint.
- the newton method consults the linearizer's constraint map to update
  the error and the current iterative solution. the primary variables
  for constraint degrees of freedom are now directly copied from the
  'Constraints' object to correctly handle pseudo primary variables.
- the abilility to specify partial constraints is removed, i.e., it is
  no longer possible to constrain some equations/primary variables of
  a degree of freedom without having to specify all of them. The
  reason is that is AFAICS with partial constraint DOFs it is
  impossible to specify the pseudo primary variables for models which
  require them (PVS, black-oil).

  because of this, the reference solution for the Navier-Stokes test
  is updated. the test still oscillates like hell, but fixing this
  would require to implement spatial discretizations that are either
  better in general (e.g., DG methods) or adapted to Navier-Stokes
  problems (e.g., staggered grid FV methods). since both of these are
  currently quite low on my list of priorities, let's just accept the
  osscillations for now.
2016-01-05 11:54:26 +01:00
Andreas Lauser
c0f8fc274d remove partial relinarization
the reasons are the same as for removing linearization recycling but
more so.
2016-01-05 11:54:26 +01:00
Andreas Lauser
5de416e314 remove the linearization recycling
linearization recycling lead to more complex code and -- more
importantly -- frequently caused problems for simulators.
2016-01-05 11:54:26 +01:00
Andreas Lauser
7b2b310131 adapt to the recent blackoil API changes of opm-material 2016-01-04 15:32:55 +01:00
Atgeirr Flø Rasmussen
bfcbd09488 Create and use FlowMainPolymer class. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
b156ce0b55 Create and use FlowMainSolvent class. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
e3ceac44a6 Renamed flowMain.hpp -> FlowMain.hpp. 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen
abf5443f33 Replace flowMain() function with FlowMain class. 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen
29d18261c6 Make multisegment flow variants use flowMain(). 2015-12-14 16:11:35 +01:00
Atgeirr Flø Rasmussen
460f0cb451 Use the new flowMain() function.
Also add it to the CMake file list.
2015-12-14 16:11:06 +01:00
Atgeirr Flø Rasmussen
be9b6a3cd2 Unconditionally instantiate the (possibly fake) MPI helper.
This reduces the difference between flow and flow_mpi. For builds
without MPI, the fake helper from Dune is instantiated, which has
the same interface.
2015-12-14 16:07:47 +01:00
Atgeirr Flø Rasmussen
7c5256031c Use GridInit in flow.cpp. 2015-12-14 16:07:47 +01:00
Tor Harald Sandve
e3393c5ee9 Handle combination of threshold_pressure and nnc
The nncs threshold pressures are calculated and appended to the face
threshold pressures
2015-12-08 11:03:05 +01:00
Liu Ming
5ba0742bc9 remove unused object. 2015-12-08 16:02:36 +08:00
Atgeirr Flø Rasmussen
ef07b8daef Update run() calls in polymer fully implicit sims. 2015-12-07 13:45:07 +01:00
Atgeirr Flø Rasmussen
ffc91bc35e Remove unnecessary EclipseState argument from run(). 2015-12-07 13:40:06 +01:00
Arne Morten Kvarving
3ce3b0aac1 move polymer test to tests directory 2015-12-07 10:46:20 +01:00
Arne Morten Kvarving
8808642708 Import examples/ and opm/ from opm-polymer w/ history 2015-12-07 10:45:34 +01:00
Liu Ming
35dff82700 Use OpmLog to output messages.
return messages and opmLog.
2015-12-02 10:58:06 +08:00
Liu Ming
2fc6a037b8 rename variables and remove some unnecessary check and comments. 2015-12-01 13:49:49 +08:00
Kai Bao
38a9dbd9ff parallel running for flow_mutlisegment
SPE9 can be run in parallel now.
2015-12-01 00:06:46 +01:00
Atgeirr Flø Rasmussen
fe4f99a94e Minimise differences between flow.cpp and flow_multisegment.cpp. 2015-12-01 00:06:46 +01:00
Kai Bao
a684c390f5 cleaning up SimulatorFullyImplicitBlackoilMultiSegment_impl 2015-12-01 00:06:46 +01:00
Atgeirr Flø Rasmussen
b9e80c1950 Update flow_multisegment to match thresholdPressure() API change. 2015-12-01 00:06:45 +01:00
Kai Bao
c3b4088448 recovering the compilation after updating opm-parser. 2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen
ae512d5c83 Update location of ErrorMacros.hpp header in includes. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen
15fd5dad47 Suppress warnings in the multisegment well code. 2015-12-01 00:06:44 +01:00
Kai Bao
d93b27cedd fixing the compilation due to function interface change.
outputWriter function introduced extra arguments.
2015-12-01 00:06:43 +01:00
Kai Bao
ac0fdda48b A WIP version BlackoilMultiSegmentModel
and also a Simulator Class and example for multisegment wells.
2015-12-01 00:06:42 +01:00
Liu Ming
b4b23bfab0 1. Move implemtation to .cpp file.
2. Delete constructors.
3. Add config.h
2015-11-30 10:11:43 +08:00
Andreas Lauser
976d38bf37 implement abililty to change the geology during the simulation run
i.e. it now supports stuff like MULTFLT in the schedule
section. Possibly, the MPI-parallel code paths need some fixes. (but
if the geology is not changed during the simulation, the parallel code
will do the same as before.)

the most fundamental change of this patch is that the
reference/pointer to the DerivedGeology object is made
non-constant. IMO that's okay, though, becase the geology can no
longer assumed to be constant over the whole simulation run.
2015-11-26 13:35:33 +01:00
Andreas Lauser
e0a1abba09 adapt to the "mutable geology" changes from opm-autodiff 2015-11-26 12:20:15 +01:00
Liu Ming
7fa569bc91 add endpoints scaling consistency check. 2015-11-26 15:22:51 +08:00
Liu Ming
bb92612fec use commandline instead of paramGroup. 2015-11-19 16:08:26 +08:00
Liu Ming
bec412793d use more relax ParseMode. 2015-11-19 13:31:19 +08:00
Liu Ming
d9a2fa6f42 initial RelpermDiagnostics. 2015-11-19 09:21:00 +08:00
Andreas Lauser
cd0f14295e Flash model: do not change the flash tolerance in the model, fix the tests
for some reason, fixing "co2injection_flash_ni_ecfv" required to
disable the linearization recycling. I'm puzzled...
2015-11-18 18:10:04 +01:00
Andreas Lauser
2c97e90a79 make most indices unsigned
(instead of using 'int'.) This triggered quite a few compiler warnings
which are also dealt-with by this patch.
2015-11-18 18:09:56 +01:00
Liu Ming
356a35600f use more non-strict ParseMode. 2015-11-18 15:23:12 +08:00
Atgeirr Flø Rasmussen
324cd80cb7 Merge pull request #151 from andlaus/thpress_from_initial
adapt to the threshold pressure related API changes
2015-11-17 09:03:12 +01:00
Atgeirr Flø Rasmussen
9bf79f6974 Merge pull request #506 from andlaus/thpress_from_initial
adapt to the threshold pressure related API changes
2015-11-17 09:03:08 +01:00
Andreas Lauser
70614e2fd6 adapt to the threshold pressure related API changes
to be able to determine the threshold pressure from the initial
condition it needs to be able to access the initial condition, i.e.,
the initial simulator state, material properties object and gravity
constant need to be passed to the thresholdPressure() function.
2015-11-13 16:09:20 +01:00
Andreas Lauser
4f23ef92e3 adapt to the threshold pressure related API changes
to be able to determine the threshold pressure from the initial
condition it needs to be able to access the initial condition, i.e.,
the initial simulator state, material properties object and gravity
constant need to be passed to the thresholdPressure() function.
2015-11-13 15:38:28 +01:00
Markus Blatt
d29a181336 Adapts flow_solvent to change in redistribution interface. 2015-10-29 16:15:30 +01:00
Markus Blatt
4526cce41b Setup a distributed material law manager and copy values.
Since the refactoring to using opm-material a material law  manager for
the global grid was used. This meant that the properties used for
elements of the local grid were wrong. With this commit we set up a
manager that is based on the local grid only.
2015-10-28 16:39:47 +01:00
Atgeirr Flø Rasmussen
7d2b6481a0 Use moduleVersion() in startup message. 2015-10-28 16:26:12 +01:00
Atgeirr Flø Rasmussen
bb7530edc3 Add and use moduleVersion() utility. 2015-10-23 11:25:06 +02:00
Joakim Hove
0a7c778c36 Changes to solver approach configuration:
1. Added new parameter group string: "solver_approach" which can take
    the values {direct, cpr, interleaved}.

 2. Hierarchy:

    i   If a value is set in the parameter group that takes absolute
        presedence.

    ii  If the Eclipse input deck asks for CPR - you get CPR.

    iii You get the flow default - currently interleaved.
2015-10-21 13:01:44 +02:00
Robert Kloefkorn
5fb9c9e74e ArtGridManager: removed
DgfGridManager: added capability to handle fractures.
2015-10-20 14:40:18 +02:00
Robert Kloefkorn
c58713e92c [bugfix] avoid use of sfc for ALUGrid. 2015-10-20 14:40:18 +02:00
Atgeirr Flø Rasmussen
9cbae76d06 Merge pull request #503 from babrodtk/openpm_experiment
Added/fixed comments
2015-10-20 09:32:30 +02:00
André R. Brodtkorb
d43b88af76 Added/fixed comments 2015-10-20 09:30:06 +02:00
Atgeirr Flø Rasmussen
98a3d1675a Merge pull request #454 from babrodtk/openpm_experiment
Parallel assembly (partial)
2015-10-19 15:32:50 +02:00
André R. Brodtkorb
40d2262f8e Fixed typo 2015-10-19 14:25:45 +02:00
Andreas Lauser
651bd91482 use the error macros from opm-common 2015-10-12 15:24:59 +02:00
Atgeirr Flø Rasmussen
df668cc5e7 Merge pull request #497 from andlaus/error_macros_to_opm_common
Error macros to opm common
2015-10-12 13:31:54 +02:00
Markus Blatt
82a73d969e Renamed flow_cp to flow_mpi 2015-10-12 10:59:01 +02:00
Andreas Lauser
72b0cb2c3e use the error macros from opm-common 2015-10-08 12:08:28 +02:00
Andreas Lauser
13fd63e2b3 use the error macros from opm-common 2015-10-08 11:42:15 +02:00
Andreas Lauser
d41f989a78 use the error macros from opm-common 2015-10-08 11:42:15 +02:00
Andreas Lauser
6b2bf9a100 lens problem: make it easily switchable between ALUGrid and YaspGrid
"easily" is a relative measure and means "easy in the C++ code". it
works by setting the LENS_USE_ALUGRID define in lensproblem.hh.
2015-10-07 18:52:35 +02:00
Joakim Hove
76f674b16b Updated path to warning suppression header. 2015-10-06 12:11:49 +02:00
babrodtk
57c95ecf00 Added missing endline to printout 2015-10-02 10:37:08 +02:00
babrodtk
c991ba8188 Added default setting for number of threads 2015-10-02 10:37:08 +02:00
Bård Skaflestad
13df018745 Follow API update of BlackoilOutputWriter
The constructor of class BlackoilOutputWriter gained a new parameter
in commit OPM/opm-autodiff@299b0aa (OPM/opm-autodiff#484).  Honour
new API requirement.
2015-09-30 11:01:01 +02:00
Andreas Lauser
3720246c7d adapt to the simplifications of the blackoil PVT API in opm-material 2015-09-29 14:47:23 +02:00
Robert Kloefkorn
299b0aa3cf ParallelDebugOutput: fix initialization of wells for the I/O rank. 2015-09-21 14:05:35 +02:00
Robert Kloefkorn
591a6e86fe flow_solvent: create BlackoilWriter after grid has been partitioned. 2015-09-16 12:40:41 +02:00
Robert Kloefkorn
326faa99d7 ParallelDebugOutput: make the output in ecl format work in parallel by communicating
to an io rank and then proceed with serial output.
2015-09-16 09:48:22 +02:00
Atgeirr Flø Rasmussen
72509968b8 Update for changes in SaturationPropsFromDeck. 2015-09-14 15:07:45 +02:00
Atgeirr Flø Rasmussen
23c28201a5 Update for changes in SaturationPropsFromDeck. 2015-09-14 15:05:32 +02:00
Atgeirr Flø Rasmussen
62d633a8ff Update for removed constructor args. 2015-09-14 10:32:07 +02:00
Atgeirr Flø Rasmussen
608ba47823 Update for removed constructor args. 2015-09-14 10:27:58 +02:00
Robert Kloefkorn
dc90cb934b CartesianIndexMapper: use the CartesianIndexMapper to applied the mapping from the
Cartesian coordinate to the flat index and vice versa.
2015-09-10 16:01:53 +02:00
babrodtk
466f1947a3 Fixed Eigen 3.3 compatibility 2015-09-07 13:01:31 +02:00
babrodtk
6a6a1d5280 Fixed warnings 2015-09-07 13:00:41 +02:00
babrodtk
171cbbe3bb Fixed sim_simple.cpp 2015-09-07 13:00:41 +02:00
Tor Harald Sandve
18d429ebff Use CPR as fall back if use_interleaved=false 2015-09-07 06:08:13 +02:00
Tor Harald Sandve
fd48a6e004 Change defaults
Use the more stable interleaved solver instead of CPR as default
Solve well equation initially as default
2015-09-03 12:38:03 +02:00
Atgeirr Flø Rasmussen
59fccb2f86 Merge pull request #422 from andlaus/satfunc_refactoring
add a few missing "#include <Evaluation.hpp>"
2015-09-02 15:23:16 +02:00
Andreas Lauser
5eef205551 only initialize the satfuncs once
this makes the main files more similar to the primary simulator (i.e., flow.cpp)
2015-09-02 14:56:38 +02:00
Andreas Lauser
73710a01d2 move the code which creates a compressed to cartesian cell index map to a separate free function 2015-09-02 14:50:41 +02:00
babrodtk
5b287e0ea8 Fixed warnings 2015-09-02 13:02:27 +02:00
Andreas Lauser
0e5d8da66b adapt to the change of the API due to using compressed instead of cartesian indices 2015-09-02 12:32:41 +02:00
Andreas Lauser
a394af6734 flow: initialize the parameters for the material law only once
this saves some memory and some time at initialization.
2015-09-02 12:32:41 +02:00
Bård Skaflestad
994e342d7b Restore build of flow_polymer
Function Opm::thresholdPressures() gained a new ParseMode parameter
in commit OPM/opm-core@09aa2b7 (PR OPM/opm-core#857).  Chase updated
call interface.
2015-08-25 09:30:44 +02:00
Fredrik Gundersen
6c85751d91 Added suport for new Threshold Pressure behavior 2015-08-24 15:41:32 +02:00
Tor Harald Sandve
cca5410ebb Fix minor comments in PR#425 2015-08-18 07:24:08 +02:00
Tor Harald Sandve
3b99338bd0 Rename Extended to Solvent
- classes and files are renamed to use solvent instead of extended in
their names.
2015-08-18 07:24:08 +02:00
Tor Harald Sandve
7c3f184d43 Rename simulator from flow_extended to flow_solvent 2015-08-18 07:24:08 +02:00
Tor Harald Sandve
86afb1bbf6 Update to new parserMode interface 2015-08-18 07:24:08 +02:00
Tor Harald Sandve
a5f625f541 Add parsermode to EclipseState 2015-08-18 07:24:08 +02:00
Tor Harald Sandve
17cddaf126 Add support for solvent properties
-surface density are specified using the Eclipse keyword SDENSITY
and the pvt properties (viscosity (mu) and formation volume factor (b)
using PVDS
2015-08-18 07:24:08 +02:00
Tor Harald Sandve
971e7e19cb Add simple solvent model
assumes:
- solvent is immiscible in the oil phase
- gas pvt and relperms are used for the solvent
- no initial solvent in the model

Solvent is injected using the WSOLVENT keyword
TODO: Make it possible to change WSOLVENT
2015-08-18 07:24:08 +02:00
Joakim Hove
6680279815 Using new string based ParseMode api. 2015-08-09 22:18:36 +02:00
Robert Kloefkorn
8dc97d54ca RestrictProlong: take problem parameters into account that depend on grid elements. 2015-08-07 19:49:50 +02:00
Robert Kloefkorn
b8b703cc2d FingerProblem: use PersistentContainer to store material laws. 2015-08-07 16:37:06 +02:00
Joakim Hove
796a34bebe Updated to use ParseMode. 2015-08-06 15:56:51 +02:00
Joakim Hove
b94d5a135d Updated to use ParseMode. 2015-08-06 15:56:51 +02:00
Joakim Hove
23b3670c1e Updated to use ParseMode. 2015-08-06 15:56:51 +02:00
Andreas Lauser
4c8b0524f1 finger problem: provide a version that used the ECFV discretization
and some assorted cleanups.
2015-08-06 15:24:56 +02:00
Andreas Lauser
8a6133b1b8 add a unit test for adaptivity that uses the finger problem 2015-08-06 13:48:38 +02:00
Andreas Lauser
5de508135a multiphase adaption criterion: some improvements
now all phases are considered and a potential division by zero (if all
the saturations of a phase are zero) is avoided.
2015-08-06 13:48:38 +02:00
Andreas Lauser
408afe74fe make the tests compile again
they were broken by the grid adaptation/Dune-FEM changes.
2015-08-06 13:48:37 +02:00
Andreas Lauser
4527aca9d3 Merge commit 'refs/pull/23/head' of github.com:OPM/ewoms
* github.com:OPM/ewoms:
  adaptation works, needs revision.
  [dune-fem] using discrete function works.
  some further work on grid adaptivity
  dune.module: add dune-fem as a noptional dependency

Conflicts:
	ewoms/common/start.hh
	ewoms/io/basegridmanager.hh
	ewoms/parallel/mpihelper.hh
2015-08-06 11:15:48 +02:00
Joakim Hove
7bd36a6b65 Addde ParseMode argument to parse and EclipseState 2015-08-05 14:18:05 +02:00
Joakim Hove
71f3cc9c64 Added ParseMode argument 2015-07-27 13:53:11 +02:00
Atgeirr Flø Rasmussen
6494dee820 Pass parallel info to NewtonIteration... classes. 2015-07-16 14:32:36 +02:00
Robert Kloefkorn
bdb30ec023 GeoProps: fix the use_local_perm implementation for flow_cp. The problem that the
faceNormals are scaled differently remains.
2015-07-08 13:15:00 +02:00
Robert Kloefkorn
34429b60f1 [bugfix] CpGrid does not yet work with use_local_perm. 2015-06-30 14:28:01 +02:00
Robert Kloefkorn
5b51a5b7b1 Merge remote-tracking branch 'upstream/master' into PR/merge-flow-and-flow_cp 2015-06-30 13:39:03 +02:00
Andreas Lauser
501db847cd remove our own fork of Dune::MPIHelper
this is not needed anymore because the grid manager is no longer a
singleton and the grid is thus is always destructed before
MPI_Finalize() is called.
2015-06-19 21:01:08 +02:00
Andreas Lauser
438acf34b7 improve the doxygen documentation
the module hierarchy should now even be mildly useful.
2015-06-19 13:20:19 +02:00
Atgeirr Flø Rasmussen
5002fe1e37 Add use_interleaved option to flow_cp. 2015-06-19 10:53:33 +02:00