Commit Graph

2522 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
0147d28257 Merge pull request #848 from atgeirr/fix-bugs-explicitarraysfluidstate
Fix bugs related to ExplicitArraysFluidState
2015-08-12 15:25:29 +02:00
Joakim Hove
20968d9c0a Added small utility memcmp_double() 2015-08-12 14:31:07 +02:00
Atgeirr Flø Rasmussen
6921bd2af9 Make saturation functions work with two phases again.
Note that this changes ExplicitArraysFluidState to take
a run-time argument for the number of phases.
2015-08-12 13:38:32 +02:00
Atgeirr Flø Rasmussen
6c821aef10 Bugfix: add forgotten setIndex() call. 2015-08-12 13:38:10 +02:00
Atgeirr Flø Rasmussen
547018d3c7 Merge pull request #845 from atgeirr/fix-abs-bug-and-warnings
Fix abs bug and warnings
2015-08-12 12:50:31 +02:00
Atgeirr Flø Rasmussen
8a0010527c Suppress warnings. 2015-08-10 16:07:45 +02:00
Atgeirr Flø Rasmussen
1ead8dd458 Fix bug in floating-point comparison.
The function used integer abs() instead of fabs(), in C abs() only
takes integers so this is an error. Also needed to add comparison
with absolute tolerance to get reasonable behaviour (comparing 0 versus
0.0000000000001 is ok here).
2015-08-10 16:05:00 +02:00
Joakim Hove
8820e80f4a Merge pull request #843 from chflo/opm-218-reverse
Reverse changes that should not have been merged into master
2015-08-10 15:26:28 +02:00
Atgeirr Flø Rasmussen
d8edb3db92 Merge pull request #838 from andlaus/initialize_SatHyst
properly initialize the attributes of the SatHyst class
2015-08-10 14:26:54 +02:00
chflo
0ee4ed6eab Reverse changes that should not have been merged into master 2015-08-10 14:17:59 +02:00
Atgeirr Flø Rasmussen
2e4a8da02c Remove warning-suppression utility headers.
They have been moved upstream to opm-parser.
2015-08-10 10:52:52 +02:00
Robert Kloefkorn
9b16794a56 TofDiscGalReorder and TofReader: remove warnings due to new boost version. 2015-08-07 12:02:59 +02:00
Atgeirr Flø Rasmussen
06c9d7d7e5 Merge pull request #839 from atgeirr/handle-new-umfpack
Define the UF_long type if necessary.
2015-08-07 11:11:23 +02:00
Joakim Hove
7b6172a1f8 Updated to use ParseMode. 2015-08-06 15:56:51 +02:00
Andreas Lauser
feae6e393a properly initialize the attributes of the SatHyst class
this caused the hysteresis saturation shifts to be initially wrong and
was probably the source of a lot of my confusion w.r.t. the saturation
scaling and hysteresis shift code. I guess this also fixes a valgrind
complaint, but I haven't checked...
2015-08-06 11:34:22 +02:00
Atgeirr Flø Rasmussen
596eba610a Define the UF_long type if necessary.
The UF_long type is deprecated in UMFPack, and actually seems
to be removed from the latest versions.
2015-08-06 09:54:05 +02:00
chflo
a949d5a736 OPM-218: Write restart files at same interval as eclipse 2015-08-05 13:38:52 +02:00
chflo
5e9e472613 OPM-218: Fix Flow vs Eclipse restart interval write differences: Use new method for correct date in rsthead 2015-07-27 13:27:14 +02:00
chflo
338777f514 OPM-218: Fix Flow vs Eclipse restart interval write differences: Override method from SimulatorTimerInterface 2015-07-27 13:26:28 +02:00
chflo
0f064bea3e OPM-218: Fix Flow vs Eclipse restart interval write differences: Added new method to SimulatorTimerInterface 2015-07-27 13:25:33 +02:00
Robert Kloefkorn
ae740adaf3 SimulatorState: use register{Cell/Face}Data also in SimulatorState. 2015-07-08 16:30:51 +02:00
Robert Kloefkorn
0ad5146b1f make ids protected. 2015-07-08 13:24:19 +02:00
Robert Kloefkorn
034f163d88 SimulatorState: clear memory on init. 2015-07-08 13:23:36 +02:00
Robert Kloefkorn
5ca0a0f788 SimulatorState: added copyright
BlackoilState: added copyright

Also, small docu fix.
2015-07-08 13:23:36 +02:00
Robert Kloefkorn
3bc520eeb7 SimulatorState: store all data in a vector to allow for flexibility when used with
derived states.
BlackoilState: adjusted to SimulatorState changes.
2015-07-08 13:23:36 +02:00
Atgeirr Flø Rasmussen
7df516896d Fix unused argument warnings. 2015-07-08 12:37:11 +02:00
Andreas Lauser
4fe4bee158 fix SatFuncMultiplexer on old compilers
"old" == "gcc 4.4". the standard c++ library of this compiler seems to
invoke the copy operator when creating objects in a vector, whereas
newer versions of the library don't. The problem is that std::unique
pointer cannot be copied because it is -- err -- unique and thus the
implicit copy operator for the SatFuncMultiplexer class gets deleted
by the compiler.

the fix is to introduce a "fake" copy operator which does not do
anything but is present to make std::vector of stdlibc++-4.4
happy. this is obviously not very elegant, but I could not come up
with a better solution. (another fix would be to use raw pointers
instead of std::unique_ptr, but IMO this does not qualify as
"better".)
2015-07-02 11:47:32 +02:00
Andreas Lauser
8ccf1b3dbe multiplexer saturation function: get rid of the pesky union and the reinterpret_cast
basically, we now store a pointer to the base class and convert this
to the concrete incarnation of the saturation function. the only
disadvantage of this is that it requires to allocate the concrete
objects dynamically, i.e., there's another layer of indirection. On
the plus side it saves a few bytes per object and it makes things
quite a bit simpler, so it is a win IMO.

thanks to [at]atgeirr for suggesting this.
2015-06-29 15:28:30 +02:00
Andreas Lauser
388578f5ba use the multiplexer saturation function in SaturationPropsFromDeck
this makes it possible to switch to different saturation functions
again. So far the only supported function besides the default one is
the one which implements the "Stone 2" model.
2015-06-29 14:49:20 +02:00
Andreas Lauser
47521dca1d add a multiplexer saturation function 2015-06-29 14:49:20 +02:00
Andreas Lauser
e016b1ea37 convert the "Stone2" and "Simple" saturation functions to fluid states 2015-06-29 14:49:20 +02:00
Andreas Lauser
63075249a9 SaturationPropsFromDeck: make the jump to fluid states
this means the following changes:

- the "SatFuncGwseg" class is converted
- for now, Gwseg is the only saturation function supported by
  SaturationPropsFromDeck. (will be changed in later commits.)
- the funcForCell() method of SaturationPropsFromDeck is removed as it
  just occludes things
2015-06-29 14:49:20 +02:00
Andreas Lauser
4b5de05d15 SaturationPropsFromDeck: remove the 'SatFuncSet' template parameter
in any reasonable simulator which reads an ECL deck the deck is going
to decide which saturation function is to be used and not the outside
code. also, the table this which function will be using is not really the
calling code's business. (for any reasonable deck it is always going to
be a non-uniform table so it makes a lot of sense to avoid unnecessary
complexity IMO.)

this patch temporarily removes the ability to use anything except the
ECL default saturation function ("Gwseg"). this ability will be
restored later in this patch series.
2015-06-29 14:49:20 +02:00
Andreas Lauser
3c484e4c6f add some fluid state classes
namely BlackoilStateToFluidState which takes a BlackoilState object
and exposes it as a opm-material like fluid state object. Similar for
ExplicitArraysFluidState, which takes raw arrays.

since fluid states are a local API, the index of the cell to be used
for these two classes must be set externally. The advantage of this
concept is that it is possible to make "saturation functions" which
not only depend on saturations but also on arbitrary other quanties
(like temperature or phase composition) without having to change the
API of the "saturation" functions.
2015-06-29 14:49:20 +02:00
Andreas Lauser
6ff2cc287f remove obsolete and empty file SatFuncStone2.cpp 2015-06-26 13:01:30 +02:00
Andreas Lauser
4ee7c34970 remove obsolete and empty file SatFuncGwseg.cpp 2015-06-26 13:01:30 +02:00
Andreas Lauser
db615ae01f remove obsolete and empty file SaturationPropsFromDeck.cpp 2015-06-26 13:01:22 +02:00
Atgeirr Flø Rasmussen
590a4898b8 Add missing include statement. 2015-06-22 13:04:14 +02:00
Atgeirr Flø Rasmussen
ae378c691b Merge pull request #819 from edbru/OPM-188
Opm 188 Read and write of RESTART wellstate data
2015-06-22 12:34:31 +02:00
Atgeirr Flø Rasmussen
cd4bd4fe5a Merge pull request #820 from GitPaean/supress_warnings
Adding two more warnings to disable_warnings.h.
2015-06-17 11:07:49 +02:00
Kai Bao
64fe376ac5 Adding two more warnings to disable_warnings.h.
-Wpragmas and -Wunused-but-set-variable
2015-06-17 10:57:45 +02:00
Edvin Brudevoll
8e3d64a8cc OPM-188: Fixup after review comment, removed unnecessary include 2015-06-17 09:41:01 +02:00
Edvin Brudevoll
9ec438f0d1 OPM-188: Fixup after review 2015-06-17 09:41:00 +02:00
Edvin Brudevoll
7d9dbaf750 OPM-188: Updated EclipseWriter with write of Restart wellstate data 2015-06-17 09:40:59 +02:00
Edvin Brudevoll
6283a8621b OPM-188: Added EclipseReader class for read of Restart wellstate data 2015-06-17 09:40:59 +02:00
Atgeirr Flø Rasmussen
80dd0ef570 Merge pull request #813 from iLoop2/Add_WPIMULT
Add WPIMULT keyword support
2015-06-16 14:50:55 +02:00
chflo
3f06ddd400 Use the IOConfig object from EclipseState to decide whether:
* output is to be formatted or not (FMTOUT keyword, default if keyword not present is unformatted)
* Whether restart file should be written for a specified report step
* whether restart files are to be unified or not (UNIFOUT keyword, default if keyword not present is multiple)
* whether an EGRID file should be written (GRIDFILE, NOGGF keywords)
* whether an INIT file should be written (INIT keyword)

* Removed former setting for interval writes to disk (from params)
2015-06-15 12:04:53 +02:00
Joakim Hove
c52ac33dfa Added missing free( ) to malloc() memory. 2015-06-10 22:53:51 +02:00
Fredrik Gundersen
8cf9703d25 Added support for WPIMULT 2015-06-02 13:24:37 +02:00
Atgeirr Flø Rasmussen
901209a723 Merge pull request #811 from atgeirr/fix-warnings
Silence multiple warnings.
2015-05-29 15:39:47 +02:00
Joakim Hove
6af549dce0 Merge pull request #804 from iLoop2/OPM-203
Added suport for converting of Metric grid values
2015-05-29 09:21:43 +02:00
Atgeirr Flø Rasmussen
a645c82a00 Silence multiple warnings.
Also add more warnings to the disabling list of disable_warnings.h.
2015-05-28 14:05:09 +02:00
Atgeirr Flø Rasmussen
e5e6a191f5 Merge pull request #809 from blattms/fix-mask-to-min
Fix mask to min (completes PR PR #805)
2015-05-27 17:45:40 +02:00
Markus Blatt
bc0e842ac8 Fix creation of initial value for computing the max (Fixes PR #805).
Bård spotet a bug after PR #805 was merged. Indead returning
-numeric_limits<type>::min() does not make sense for integral
values. This commit resorts to returning numeric_limits<type>::min().

Kudos to Bård for his attention.
2015-05-27 15:03:28 +02:00
Atgeirr Flø Rasmussen
06e7286443 Suppress a warning in serial mode. 2015-05-27 11:41:52 +02:00
Markus Blatt
494ab71924 Update copyright 2015-05-27 11:07:16 +02:00
Markus Blatt
347d1a8e23 Makes the time step control parallel.
The only stage where parallelism changes the adaptive time
stepping is when some inner products on the saturation and
pressure are computed.
This commit makes this part parallel by added an additonal boost::any
parameter to the time stepping and the controller. Per default this
is empty. In a parallel run it contains a ParallelIstlInformation object
encapsulating the information about the parallelisation. This then used
to compute the parallel inner product.
2015-05-27 11:07:16 +02:00
Markus Blatt
95fa515a5a Adds the possibility to compute a parallel inner product. 2015-05-27 11:07:15 +02:00
Markus Blatt
3224450b5d Do not use the masked value of the first container entry as initial value.
This behaviour does not work for computing a global inner product.
Therfore this commit introduces a new function to the functor that
returns an appropriate initial value.
2015-05-27 11:07:15 +02:00
Markus Blatt
83798c9f3a Use correct type get the maximum value.
Previously we hardcoded float. Now we use the result_type of
the binary_function without any qualifiers. With any cv or reference
qualifiers std::numeric_limits uses a default implementation which
produces nonesense (e.g. numeric_limits<const int>::max() returns 0).
2015-05-27 11:07:15 +02:00
Markus Blatt
18f504344a Removes well debugging output. 2015-05-27 09:22:54 +02:00
Markus Blatt
9e20efc4be [bugfix,parallel] Deactivate non-existing wells in manager.
Previously, we used the setStatus method to set wells that do not
exist on the local grid to SHUT. Or at least this is what I thought
that ```well.setStatus(timestep, SHUT)```. Unfortunately, my
assumption was wrong. This was revealed while testing a parallel run
with SPE9 that threw an expeption about "Elements must be added in
weakly increasing order" in Opm::DynamicState::add(int, T). Seems like
the method name is a bit misleading.

As it turns out the WellManager has its own complete list of active
wells (shut wells are simply left out). Therefore we can use this
behaviour to our advantage: With this commit we not only exclude shut
wells from the list, but also the ones that do not exist on the local
grid. We even get rid of an ugly const_cast.

Currently, I have running a parallel SPE9 test that has not yet
aborted.
2015-05-26 21:01:16 +02:00
Fredrik Gundersen
01282a49f2 OPM-203 Added supoort for converting of Metric grid values 2015-05-21 12:32:44 +02:00
Markus Blatt
9da18a14e1 Use more accurate name for the size of the global components.
The new name is num_global_components, which actually is an upper bound
for the the number of global components (1 plus the maximum global index).
2015-05-19 19:58:05 +02:00
Markus Blatt
f0a71e8898 Add spaces around binaries and explicit braces. 2015-05-19 19:56:37 +02:00
Markus Blatt
40fec324d5 Rename no_components to num_components. 2015-05-19 19:53:37 +02:00
Markus Blatt
3b359df534 Update copyright information. 2015-05-19 16:20:57 +02:00
Markus Blatt
e8ebf0840b Allow to create the correct communication information if there are several unknowns.
In this case the parallel index set might represent N entries (this might be the number of
cells of grid). Nevertheless, there several (n) equations/unknowns attached to each index.
In this case we construct a larger index set representing N*n unknows, where each unknown
is attached to an index.

This change only affects parallel runs.
2015-05-19 16:18:14 +02:00
Atgeirr Flø Rasmussen
99137ecf9b Merge pull request #800 from blattms/parallel-verbose-only-on-master
Allow to prevent printing to std::cout.
2015-05-13 14:42:37 +02:00
Markus Blatt
4c768eb177 Get rid of unclear continue; statement in favor of if-else 2015-05-12 15:30:20 +02:00
Markus Blatt
cc386ef3eb Switched from default constructing to explicit construction with false. 2015-05-08 19:44:50 +02:00
Markus Blatt
44f5ddd2c8 Adds possibility of having a well not stored on a grid partitioning.
In a parallel run each process only knows a part of the grid. Nevertheless
it does hold the complete well information. To resolve this the WellsManager
must be able to handle this case.

With this commit its constructor gets a flag indicating whether this is
a parallel run. If it is, then it does not throw if a well has cells that
are not present on the local part of the grid. Nevertheless it will check
that either all or none of the cells of a well are stored in the local part
of the grid.

Wells with no perforated cells on the local will still be present but set to SHUT.
2015-05-08 16:35:00 +02:00
Markus Blatt
52b40c9477 Allow to prevent ParameterGroup from printing to std::cout.
This commit adds a verbose flag to the constructor of
ParameterGroup to allow for deactivating any
output to std:cout. This is handy for parallel runs where we only
want to print statistics on one process.
2015-05-08 11:13:30 +02:00
Markus Blatt
973df44ea1 Allow to prevent SimulatorReport for printing to std::cout.
This commit adds a verbose flag to the constructor of
SimulatorReport to allow for deactivating any
output to std:cout. This is handy for parallel runs where we only
want to print statistics on one process.
2015-05-08 11:12:23 +02:00
Andreas Lauser
f66a43288f remove some unused classes
This is mostly infrastructural code (Opm::Spline,
Opm::TriDiagonalMatrix, property system and the cubic polynomial
inversion code) that is only used by opm-material and eWoms. The
original intention of bringing this code into opm-core was to allow
other modules to start to use this easily. Since nothing in this
direction happened during the last one and a half years, the code only
represents baggage in the opm-core context and should thus be moved to
their consumer modules to make the life of everyone involved simpler.
2015-04-28 12:46:59 +02:00
dr-robertk
ce88915466 Merge pull request #790 from atgeirr/new-default-parameters
Modify default parameters to be suitable for the Norne case. Please rerun Norne.
2015-04-22 14:37:47 +02:00
Atgeirr Flø Rasmussen
1845aa65f6 Adjust parameters after testing. 2015-04-22 13:03:19 +02:00
Joakim Hove
e2c5dba11e Ert function ecl_sum_add_tstep() expects seconds. 2015-04-22 09:30:32 +02:00
Atgeirr Flø Rasmussen
e70712f2d2 Modify default parameters to be suitable for the Norne case. 2015-04-21 11:41:45 +02:00
Atgeirr Flø Rasmussen
272b63e25d New method SimulatorReport::reportFullyImplicit().
It does not make sense to report transport and pressure separately
for fully implicit solvers. It still makes sense to separate solver
from init and output though.
2015-04-21 10:48:02 +02:00
Atgeirr Flø Rasmussen
1719e9f948 Silence PLT complaint spam.
While the warning is correct, it is not a good idea to spam
it for all wells and timesteps.
2015-04-21 10:47:55 +02:00
Joakim Hove
ea3fbcf317 Added bool time_in_days to ecl_sum constructor.
The ert ecl_sum class is avare of time units; for FIELD and METRIC units
the time in the summary files is stord in days, for LAB units it is
stored in hours. From EclipseWriter this is managed by a bool flag
'time_in_days'.
2015-04-16 18:33:12 +02:00
Bård Skaflestad
aea968877f Merge pull request #786 from atgeirr/unhandled-arguments
Store unhandled command-line arguments
2015-04-14 16:59:45 +02:00
Atgeirr Flø Rasmussen
f902b7e265 Modified behaviour for unhandled arguments.
Use constructor argument verify_syntax to decide course of action: if false,
store unhandled arguments, if true, write a message and throw.
2015-04-14 15:29:55 +02:00
Atgeirr Flø Rasmussen
dfe6e730eb Return const reference from unhandledArguments(). 2015-04-14 13:55:29 +02:00
Atgeirr Flø Rasmussen
1fb2bc651c Store unhandled command-line arguments.
A new method ParameterGroup::unhandledArguments() is available to
access the list of unhandled arguments. Before, when such arguments
were encountered they were ignored and a warning was printed to
standard out.

Apart from the lack of a (potentially misleading) warning, this
should not change the behaviour of existing clients of the class.
2015-04-14 13:39:43 +02:00
Markus Blatt
8ced45959f Correct documentation of why we use operator[] to initialize map.
This commit updates the source code comment about using operator[] to
initialize the unordered map. Thanks to Bard's persistence we found
out that the cause is not the construction of the key value of type
std::string from const char* but the mapped type being a (mutable)
char* (due to C?).

This completes the PR #784.
2015-04-14 09:36:47 +02:00
Markus Blatt
5347ac5aa3 Deactivate PETSc's KSPCHEBYSHEV (not available in 3.2!) 2015-04-13 11:01:24 +02:00
Markus Blatt
760cea8b44 Use operator[] to populize unordered_map with string as the key
g++-4.4 has problems converting const char* to char*
which it thinks is needed for constructing std::string.
Using operator[] circumvents this problem.

The compiler error fixed here was:
/usr/include/c++/4.4/bits/stl_pair.h: In constructor ‘std::pair<_T1, _T2>::pair(std::pair<_U1, _U2>&&) [with _U1 = const char*, _U2 = const char*, _T1 = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _T2 = char*]’:
/home/mblatt/src/dune/opm/opm-core/opm/core/linalg/LinearSolverPetsc.cpp:40:   instantiated from here
/usr/include/c++/4.4/bits/stl_pair.h:107: error: invalid conversion from ‘const char*’ to ‘char*’
make[2]: *** [CMakeFiles/opmcore.dir/opm/core/linalg/LinearSolverPetsc.cpp.o] Fehler 1
2015-04-13 10:58:31 +02:00
Tor Harald Sandve
9b2ca4d1d3 Add dune/istl/istlexception.hh to header
Fix to make it compile with dune-istl 2.2
2015-04-10 14:03:27 +02:00
Andreas Lauser
8eed770265 fix screw-up in the unit handling for the summary output
basically, the unit system was reversed for rates and a
UnitSystem::UnitType object was implicitly casted to bool for the
bottom hole pressure monitor. (if the BHP monitor worked, it was only
by accident...)
2015-04-08 13:36:43 +02:00
Atgeirr Flø Rasmussen
1d2849691f Merge pull request #775 from atgeirr/suppress-warnings
Suppress warnings
2015-04-07 09:13:14 +02:00
Andreas Lauser
28bde4290f do not pass the deck to the output writers anymore
I'd prefer to pass it for consistency reasons (because basically every
other class which takes an EclipseState object also requires a deck
object), but some people seem to have a very strong option about
this...
2015-03-31 12:12:02 +02:00
Andreas Lauser
db35b75975 summary output: use the EclipseState to determine the deck unit system
seems like the guy who added EclipseState::getDeckUnitSystem() suffers
from dementia...
2015-03-31 12:11:57 +02:00
Robert Kloefkorn
79f6bedf38 AdaptiveTimeStepping: also catch ISTLError casued in AMG when time step is to large. 2015-03-30 11:07:08 +02:00
Atgeirr Flø Rasmussen
81f7aaca68 Remove unused function argument. 2015-03-27 15:42:40 +01:00
Atgeirr Flø Rasmussen
488e2161dc Suppress sign-comparison warnings. 2015-03-27 15:38:21 +01:00
Atgeirr Flø Rasmussen
839bd724cb Merge pull request #772 from andlaus/use_deck_units_for_summary_output
Use deck units for summary output
2015-03-27 12:30:13 +01:00
Andreas Lauser
126827d166 summary writer: fix up the absolute times 2015-03-26 17:33:07 +01:00
Andreas Lauser
e03334a2f5 use deck units for the summary output
or more accurately: "use FIELD or METRIC units", LAB and PVT-M units
are still unsupported, but they seem to be pretty exotic and are also
not supported by opm-parser either...

note that this patch requires an API change (with the usual
consequences for all downstream modules which use this class) because
the deck needs to be passed to EclipseWriter. If somebody knows a
canonical way to get the names of the written units from EclipseState,
this is API change is not required.
2015-03-26 17:33:02 +01:00
Andreas Lauser
59c8fb83d4 write out the cell temperature field
I used "TEMP" as the name of the field of the UNRST files, but that is
just a guess. (I don't have access to any results of a thermal run of
the "It Defines The Truth (TM)" simulator.)
2015-03-26 17:33:00 +01:00
Atgeirr Flø Rasmussen
ca9c198368 Merge pull request #765 from andlaus/implement_temperature_dependent_density
Implement temperature dependent density
2015-03-26 15:10:13 +01:00
Atgeirr Flø Rasmussen
194a9bfd39 Fix property method calls.
Cell argument can not be null for BlackoilPropertiesFromDeck class.
2015-03-23 16:19:40 +01:00
Andreas Lauser
a386621495 add a wrapper for thermal gas PVT objects 2015-03-17 12:40:14 +01:00
Andreas Lauser
0b85af1bb6 add a wrapper for thermal oil PVT objects 2015-03-17 12:40:09 +01:00
Andreas Lauser
2a52c2926d add a wrapper for thermal water PVT objects 2015-03-17 12:40:07 +01:00
Andreas Lauser
0aa7620a0e PVT classes: do not implement temperature dependence directly anymore
instead, we will be going with wrapper classes around the PvtInterface
in the next commits. this considerably reduces the amount of
copy-and-paste required for temperature support.
2015-03-17 12:40:05 +01:00
Robert Kloefkorn
50a0ca8d5d [revision] restructure convertUnitTypeErtEclUnitEnum to comply with core standards. 2015-03-10 12:05:41 +01:00
Robert Kloefkorn
c952075556 [cleanup] use std::invalid_argument instread of OPM_THROW. 2015-03-10 11:07:56 +01:00
Robert Kloefkorn
75639d2824 [cleanup] remove warnings and avoid return of uninitialized values. 2015-03-09 10:41:00 +01:00
Robert Kloefkorn
a854bdc5b8 EclipseWriter: only write summary in sub steps that are not report steps. 2015-03-09 10:39:22 +01:00
chflo
17afda792b OPM-157: Write RFT data: Added comment on cleanup of memory 2015-03-05 16:04:43 +01:00
chflo
0abf53a0ae OPM-157: Write RFT data using the EclipseWriteRFTHandler class 2015-03-05 15:34:30 +01:00
chflo
4c932207a9 OPM-157: Added writehandler for RFT data, and corresponding test 2015-03-05 15:34:29 +01:00
Robert Kloefkorn
148fc8b431 iostream --> ostream. 2015-03-04 14:48:50 +01:00
Robert Kloefkorn
03a50f7ce2 SimulatorReport: add total number of newton and linear iterations to report struct. 2015-03-04 14:01:13 +01:00
Markus Blatt
71056f45d6 Renames ADCellVolumesTraits to CellVolumeIteratorTraits. 2015-03-02 11:15:08 +01:00
Markus Blatt
adc499b036 Moves all functions that do not depend on Eigen to Opm::UgGridHelpers. 2015-03-02 11:15:08 +01:00
Atgeirr Flø Rasmussen
18fc452ef0 Fix unneeded-internal-declaration warning.
Again related to anonymous namespace function only being used
in template functions.
2015-03-02 10:28:55 +01:00
Atgeirr Flø Rasmussen
e1f6e396a8 Merge pull request #762 from atgeirr/fix-minor-doc-issue
Doc fix: face -> cell.
2015-02-20 14:52:21 +01:00
Atgeirr Flø Rasmussen
60ae384ba8 Doc fix: face -> cell. 2015-02-20 14:51:03 +01:00
Markus Blatt
3cc072b320 Put spaces around operators. 2015-02-20 14:30:06 +01:00
Markus Blatt
55d26b358c Rely on auto instead of querying the explicit type
via e.g. typename UgGridHelpers::Face2VerticesTraits<Grid>::Type
2015-02-20 14:29:05 +01:00
Markus Blatt
ec2b0e180e Ported initStateEquil to using the GridHelpers.
Currently the keyword EQUIL is not supported by the fully
implicit blackoil simulator when using CpGrid. This
commit is a first step towards this as it makes the
implementation of initStateEquil generic.
2015-02-20 09:39:50 +01:00
Markus Blatt
7cebb3905b Adds funcionality to access the vertices of the faces and their coordinates.
This is needed for a grid agnostic implementation of EQUIL.
2015-02-20 09:35:29 +01:00
Markus Blatt
d5180c793a Prevents unsigned-signed-comparison warnings for container with signed size.
Well, you never know. There are containers that use a signed integer
for storing its size. This results in a warning about comparing signed with
unsigned integers. This commit prevents this by explicitly casting the size
to std::size_t.
2015-02-19 09:13:39 +01:00
Atgeirr Flø Rasmussen
1fef49c2e1 Merge pull request #758 from atgeirr/fix-warnings
Fix warnings (and small API change)
2015-02-18 13:16:01 +01:00
Tor Harald Sandve
09a15c6e58 BUG: use the scaled water saturation 2015-02-18 08:13:49 +01:00
Atgeirr Flø Rasmussen
1ff48cb87a Complete function argument cleanup. 2015-02-17 13:56:02 +01:00
Atgeirr Flø Rasmussen
eb82269900 Remove unused argument from several functions. 2015-02-17 10:28:11 +01:00
Atgeirr Flø Rasmussen
4a1a14d1da Suppress unused argument warning. 2015-02-17 10:27:44 +01:00
Atgeirr Flø Rasmussen
13df6b91b7 Suppress unused argument warning. 2015-02-17 10:27:19 +01:00
Atgeirr Flø Rasmussen
dcc9fe5f41 Use C++ explicit default initialization.
Avoids warning from -Wmissing-field-initializers.
2015-02-17 10:24:03 +01:00
Atgeirr Flø Rasmussen
0895eb37e6 Merge pull request #756 from chflo/opm-166
OPM-166: Use SimulationConfig instead of Deck to get threshold pressure
2015-02-16 12:49:53 +01:00
Atgeirr Flø Rasmussen
8e4a5dfb3f Merge pull request #755 from blattms/istl-consistent-rhs
Makes right hand side passed to linear solver consistent.
2015-02-16 12:48:28 +01:00
chflo
c7cbb4ea12 opm-166: Changes after review 2015-02-16 11:59:16 +01:00
chflo
0e2f786480 OPM-166: Use SimulationConfig instead of Deck to get threshold pressure 2015-02-16 08:43:47 +01:00
Atgeirr Flø Rasmussen
1315be7be6 Merge pull request #752 from atgeirr/compute-well-pairs
Improvements for flow diagnostic tools
2015-02-15 12:49:29 +01:00
Markus Blatt
a1e5b55c3b [fixup] Use the correct function.
This should have been in the las commit and should be added there before
merging.
2015-02-13 11:00:28 +01:00
Markus Blatt
a31fae4507 Makes right hand side passed to linear solver consistent.
Due to the size of the overlap layer and the discretization scheme
the rhs might not contain correct values for overlap cells. This
commit makes sure they are correct by an additional communication step.
2015-02-12 21:00:32 +01:00
Joakim Hove
d6bf9d3a36 Merge pull request #750 from qilicun/support_minpvf
Support minpvf.
2015-02-12 09:34:28 +01:00
Liu Ming
ea98e431bc adapt to api changes of opm-parser. 2015-02-12 16:04:41 +08:00
Atgeirr Flø Rasmussen
37fa48cfbe Added computeWellPairs() function. 2015-02-11 14:03:47 +01:00
Robert K
c52f2cc621 AdaptiveTimeStepping: remove initial_fraction (use restart factor instead) and use
average of previously used time steps to suggest next time step.
2015-02-10 13:10:39 +01:00
Liu Ming
4d7309b1bf Support minpvf. 2015-02-09 11:25:09 +08:00
Atgeirr Flø Rasmussen
b1ab170219 Merge pull request #746 from dr-robertk/PR/adaptive-timestepping-bugfixes
Adaptive timestepping improvements.
2015-02-06 14:27:44 +01:00
Robert K
fbaa790e70 AdaptiveSimulatorTimer: -improvement in time step adjustment near end of time interval
-max time step parameter

PIDTimeStepControl --> TimeStepControl:
- added simple iteration count time step control
- bug fix in PIDAndIterationCountTimeStepControl

AdaptiveTimeStepping: apply the above changes.
2015-02-06 13:59:50 +01:00
Markus Blatt
cb4bb025f7 Improve the documentation a bit. 2015-02-05 15:43:48 +01:00
Markus Blatt
37f9d5d14e Use correct name for the method parameter. 2015-02-05 15:43:22 +01:00
Markus Blatt
d6f63f7d0c Makes BlackoilPropertiesFromDeck copyable.
We need this for the parallel sim_fibo_ad_cp, where we will need
to point to the same parts in two copies without duplicating data.
2015-02-05 15:41:02 +01:00
Atgeirr Flø Rasmussen
2ebc20492d Add default producer BHP control when not given in deck.
Default limit is 1 atm.
2015-02-04 10:30:15 +01:00
Atgeirr Flø Rasmussen
9f4da3ad03 Rename directory opm/core/tof -> opm/core/flowdiagnostics. 2015-02-03 21:44:24 +01:00
Andreas Lauser
8dce4982fc PvtConstCompr: initialize the temperature vs viscosity table pointers in all constructors
this fixes opm-autodiff's "boprops_ad" unit test. thanks to
[at]atgeirr for pointing this out.
2015-02-03 15:44:25 +01:00
Atgeirr Flø Rasmussen
23e00bd643 Merge pull request #740 from andlaus/temperature_dependent_viscosity
PVT classes: implement temperature dependent viscosity
2015-02-03 14:34:02 +01:00
Joakim Hove
e435545eee Use Value<double> for Connection Factor 2015-02-03 13:10:38 +01:00
Andreas Lauser
c4ca344026 PVT classes: implement temperature dependent viscosity
this is implemented such that if the simulation is unchanged,
viscosities are assumed to be not temperature dependent. (only if
pvtObject->set{Oil,Wat}visctTables() is called, temperature dependence
is considered.)
2015-02-03 12:27:41 +01:00
Atgeirr Flø Rasmussen
034961c8ba Merge pull request #741 from joakim-hove/well-write-bug
Fixed writing well information to the restart file
2015-02-03 09:12:31 +01:00
Joakim Hove
67a218e61a Fixed writing well information to the restart file
The original version of the code wrote 14 items per connection to the
ICON array, however when loading restart information the ERT well loader
currently expects to find segment information in item 15. Will now write
an additional segment id item for each connection.

In addition the code has been refactored to use operator[] to set
elements instead of push_back() which was used previously.
2015-02-02 08:07:33 +01:00
Atgeirr Flø Rasmussen
e6b9158181 Merge pull request #738 from blattms/constify-parallelinformatio-workaround-eigen
Constify parallelinformation and workaround Eigen's weirdness
2015-01-30 20:35:33 +01:00
Markus Blatt
086c405e9d Do not rely on begin()/end() of the containers to compute reductions.
One would think that such an assumption is safe in any case,
wouldn't one? But foen Eigen'S container this does not hold.
They do not provide STL compliant iterators, and access to them.
With this patch make the even stricter assumption that the containers
are random access and use operator[] instead of iterators.
2015-01-30 16:10:41 +01:00
Robert K
e4ddabd9ad BlackoilState: added forgotten rv to equal method. 2015-01-29 11:07:24 +01:00
Markus Blatt
f544ccf308 Constified the compute reduction functions.
These should and have to be used with a const object.
2015-01-28 21:55:35 +01:00
Robert K
ef80032743 make documentation equal for all three classes. 2015-01-28 15:46:11 +01:00
Robert K
99e291d0ca SimulatorTimer...: added method advance which is the new interface for previously used
operator++.
2015-01-28 15:25:11 +01:00
Joakim Hove
82402eee00 Using Parser to calculate well reference depth. 2015-01-26 12:03:11 +01:00
Atgeirr Flø Rasmussen
f0f6706970 Merge pull request #732 from blattms/fixes-global-reductions
Fixes global reductions
2015-01-26 10:10:06 +01:00
Markus Blatt
fefd52a8be Fixes some unused variable warnings. 2015-01-23 20:58:37 +01:00
Markus Blatt
8810c3e7fe Correctly compute the minimum and maximum values.
As there are no functors for computing the minimum and maximum,
we convert the std::max and std::min function pointers to
functors (which is not really nice.) Previously we were somehow
tricked into using std::greater and std::less, which of course do
return true or false and not what we need. Additionally, do more
excessive testing with different ranges.
2015-01-23 20:48:53 +01:00
Markus Blatt
2f211f5469 Do recurse in the recursive funtion computeGlobalReduction!
Somehow this was missed and only the first entry in the tuple
was computed globally.
2015-01-23 20:46:46 +01:00
Bård Skaflestad
6c25e04c9f Merge pull request #728 from blattms/global-reductions
Added methods for computing global reductions.
2015-01-23 17:28:12 +01:00
Markus Blatt
0fb801dadc Add missing return statements. 2015-01-23 16:38:08 +01:00
Markus Blatt
420586d40c Calm warnings about excessive semi-colons, unused variables, and missing declarations. 2015-01-23 16:36:48 +01:00
Markus Blatt
d5ea991847 Fixes formatting according to Atgeirr's coding style. 2015-01-23 14:56:15 +01:00
Bård Skaflestad
8f0b4714a5 Merge pull request #725 from atgeirr/minpv-use-actnum
Make MinpvProcessor ignore inactive cells.
2015-01-23 11:27:13 +01:00
Atgeirr Flø Rasmussen
39ab778967 Reformat header for readability. 2015-01-23 09:13:43 +01:00
Atgeirr Flø Rasmussen
d910e9a9c5 Fix whitespace issues. 2015-01-23 09:12:15 +01:00
Atgeirr Flø Rasmussen
ab26c115a9 Add missing #include <algorithm>. 2015-01-22 13:02:16 +01:00
Atgeirr Flø Rasmussen
94d08b3db6 Fixed size of zero vector passed as gpress. 2015-01-21 21:14:32 +01:00
Markus Blatt
566aee7896 Added methods for computing global reductions.
We need to compute quite a few global reductions in the
Newton method of opm-autodiff. This commit adds the functionality
to compute several reductions combined using only one global
communication. Compiles and test succeeds with one or more process.
2015-01-21 16:19:35 +01:00
Atgeirr Flø Rasmussen
1e0d2ec43e Added calculation of flow diagnostics quantities.
New functions:
 - computeFandPhi()
 - computeLorenz()
 - computeSweep()

Also a unit test has been added for the new features.
2015-01-21 14:58:44 +01:00
Atgeirr Flø Rasmussen
8e1041326e Added IncompTpfaSinglePhase class. 2015-01-20 15:47:50 +01:00
Atgeirr Flø Rasmussen
3d73bd3c72 Add IncompPropertiesSinglePhase class. 2015-01-20 15:47:50 +01:00
Atgeirr Flø Rasmussen
605d3e0d09 Make MinpvProcessor ignore inactive cells. 2015-01-19 15:44:13 +01:00
Robert K
e6f7b2762d AdaptiveTimeStepping: make output more easy to read. 2015-01-16 16:08:59 +01:00
Robert K
a6f00b90ac AdaptiveTimeStepping: Switch suggested time step to max of the previous taken substeps. 2015-01-16 16:08:59 +01:00
Robert K
f38b76abe9 AdaptiveSimulatorTimer: initialization of first time step size follows the same rule as
for later steps.
PIDTimeStepControl: added maxgrowth factor which indicates the maximum allow groth of
                    the time step from one to the next value.
2015-01-16 16:08:59 +01:00
Atgeirr Flø Rasmussen
f7bd6076e6 Merge pull request #720 from blattms/add-facetag-access-2
Adds a free function to UgGridHelpers to access the face tag.
2015-01-15 14:19:42 +01:00
Atgeirr Flø Rasmussen
75ae3c33a2 Merge pull request #713 from dr-robertk/PR/EclipseWriter-revision-to-write-substeps
Introduce interface for SimulatorTimers and support writing of substeps with EclipseWriter.
2015-01-15 13:52:22 +01:00
Robert K
d97f622f91 EclipseWriter: remove leftovers of WriterTimer.
AdaptiveSimulatorTimer: use back instead of rbegin.
2015-01-15 11:34:59 +01:00
Markus Blatt
9cf21d87ee Skip the pointer arithmetic.
Bard was right that the iterator_range returns the underlying
native pointers. Therefore can write the computation much more
natural.
2015-01-14 21:58:37 +01:00
Joakim Hove
a5f00298e0 Protecting against use of unassigned deck values. 2015-01-14 11:41:41 +01:00
Markus Blatt
1b6bbb035e Fixed bogus documentation of vanished cell_index. 2015-01-14 10:09:01 +01:00
Markus Blatt
cba54977bb Adds a free function to UgGridHelpers to access the face tag.
To identify the face tag we use the iterator over the cell faces.
This provides all the information needed both for UG and CpGrid.
2015-01-13 20:36:33 +01:00
Atgeirr Flø Rasmussen
7f8ae2a878 Merge pull request #718 from blattms/fixes-mulisym-minpvprocessor
Avoid multiple symbol definitions for MinPvProcessor.
2015-01-12 16:45:18 +01:00
Markus Blatt
f7622f0e71 Avoid multiple symbol definitions for MinPvProcessor.
The non-template class MinpvProcessor contains all function
definitions inside of the header file without inlining. The
results in the symbols being in the library of opm-core and
in case of using CpGrid an addtional occurence in other
libraries (opm-autodiff?).

This commit changes this by simply inlining all these functions.

Note that another (better?) option would be to move at least
the bigger once into a cpp file.
2015-01-12 16:35:03 +01:00
Robert K
01fe222c2b Merge remote-tracking branch 'upstream/master' into PR/EclipseWriter-revision-to-write-substeps 2015-01-12 12:47:40 +01:00
Joakim Hove
f9bce38852 Wellsmanager will check completion status
With this commit the WellsManager will check the status of completions
before adding them to the internal struct wells
datastructure. Completions can be in the four states:

  OPEN, SHUT, AUTO, POPN

Completions with state == SHUT will be ignored, wheras the wellsmanager
will throw  if the states AUTO or POPN are encountered. The WELOPEN
keyword can also have the value 'STOP'; for completions that is
translated to 'SHUT' by Schedule object.
2015-01-12 12:43:45 +01:00
Joakim Hove
634c70a090 Pure white-space change 2015-01-12 12:43:44 +01:00
Joakim Hove
461e53e891 Added missing enum rename 2015-01-12 12:41:56 +01:00
Robert K
0ecff82940 Merge remote-tracking branch 'upstream/master' into PR/EclipseWriter-revision-to-write-substeps 2015-01-12 12:23:48 +01:00