Commit Graph

2305 Commits

Author SHA1 Message Date
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