Commit Graph

44 Commits

Author SHA1 Message Date
Joakim Hove
5ad4936025 RestartConfig has moved from EclipseState to Schedule 2020-02-17 21:48:12 +01:00
Robert Kloefkorn
e04bb6e91a [feature][flow_blackoil] Added a variant to compile the blackoil option
only for faster development.
2020-02-10 12:11:30 +01:00
Bård Skaflestad
73a58c4599
Merge pull request #2287 from akva2/avoid_deck_for_phases
avoid instancing a new Runspec from deck to obtain active phases
2020-01-17 16:22:26 +01:00
Arne Morten Kvarving
8a14d70f97 avoid instancing a new Runspec from deck to obtain active phases
this is already available in the eclipseState.
in particular, this is preparing for the case where only the
root-process has a deck instance.
2020-01-17 15:36:30 +01:00
Arne Morten Kvarving
3fca2ae631 changed: avoid using deck setting up schedule on non-root processes 2020-01-17 10:29:46 +01:00
Trine S. Mykkeltvedt
99e7785fb5 renamed saltwater-->brine and removed keywords from missingFeatures 2020-01-09 14:14:38 +01:00
Trine S. Mykkeltvedt
5749615bd8 addd simple salt/brine implementation 2020-01-09 14:14:38 +01:00
Arne Morten Kvarving
227ff00730 avoid usage of deck on all processes setting up SummaryConfig 2020-01-08 10:30:57 +01:00
Joakim Hove
252829850e Pass ParseContext settings in constructor 2019-10-25 14:30:13 +02:00
Joakim Hove
4490f31540 stdout logging only for rank 0 2019-10-16 15:19:00 +02:00
Tor Harald Sandve
aeb29a5412 move PRT header to the top 2019-10-03 12:13:13 +02:00
Joakim Hove
dccb9bfa10
Merge pull request #2017 from atgeirr/fix-abort-unknown-param
Abort the run before reading the deck if there are unknown params.
2019-09-23 22:10:17 +02:00
Atgeirr Flø Rasmussen
c7200460ab Abort the run before reading the deck if there are unknown params. 2019-09-19 14:20:05 +02:00
Arne Morten Kvarving
d3d9831fc3 changed: ewoms/common -> opm/models/utils 2019-09-19 11:14:36 +02:00
Atgeirr Flø Rasmussen
7c34877630 Ensure output dir exists before creating log streams. 2019-09-06 12:35:40 +02:00
Joakim Hove
c804e85bc7
Setup logging before the simulator is initialized (#1980)
Setup logging before the simulator is initialized
2019-08-27 22:41:48 +02:00
Franz G. Fuchs
7fb90bff47 Use foam module. 2019-08-07 10:39:16 +02:00
Bård Skaflestad
6cf0710271 Flow: Verify Consistent Array Dimensions
The output code has an unfriendly error mode in which we
unceremoniously crash--without writing any data--if some declared
array dimensions from RUNSPEC aren't big enough to hold all the
dynamic objects (wells, groups, connections &c).

Verify that the declared dimensions are indeed big enough for the
current simulation run before starting the simulator to ensure that we
don't waste a lot of computational effort if, for instance, the first
output is very close to the end of the simulation.
2019-06-30 23:50:38 +02:00
Atgeirr Flø Rasmussen
a33cfbf0bc Moved Flow-related classes and files to opm/simulators/flow. 2019-06-20 11:00:51 +02:00
Kai Bao
8ac85b892c
Merge pull request #1859 from joakim-hove/use-exit
Return EXIT_FAILURE in main() instead of rethrow
2019-05-24 10:29:59 +02:00
Joakim Hove
7489269172 Return EXIT_FAILURE in main() instead of rethrow 2019-05-24 08:34:12 +02:00
Atgeirr Flø Rasmussen
41ef80dd7d
Merge pull request #1842 from blattms/always-print-version-if-requested
If requested always print version and exit.
2019-05-15 15:13:24 +02:00
Markus Blatt
b885c1a013 Let only master process print information about exception.
Previously, each process did this in a parallel run which
clutters the terminal output quite a bit in a parallel run.
2019-05-15 11:14:06 +02:00
Markus Blatt
18a404768e If requested always print version and exit.
Previously this was only done if there were no other parameters on the
command line. That approach feels a bit unusual.
2019-05-13 14:40:42 +02:00
Atgeirr Flø Rasmussen
c17adf788f Moved files to opm/simulators/ subdirs. 2019-05-08 12:58:19 +02:00
Andreas Lauser
6f1018f11a also pass the parseContext and errorGuard to Opm::checkDeck() 2019-04-04 18:13:36 +02:00
Joakim Hove
935642ba88
Merge pull request #1716 from joakim-hove/unsupported-keywords
The missing features check takes a ParseContext argument
2019-02-22 07:49:43 +01:00
Joakim Hove
e20037167f Remove unused ParameterGroup.hpp header file 2019-02-17 12:44:28 +01:00
Andreas Lauser
777fd61342 flow: account for external setup costs 2019-02-05 16:52:58 +01:00
Joakim Hove
13aeee109c The missing features check takes a ParseContext argument 2019-01-25 18:03:32 +01:00
Joakim Hove
71d4162a7e Add strict parsing option to flow 2019-01-11 17:25:54 +01:00
Joakim Hove
eedbafb805 Call Ewoms::setExternalSchedule() and Ewoms::setExternalSummaryConfig() 2019-01-11 15:38:23 +01:00
Joakim Hove
b3344a7b99 All objects which require ParseContext / ErrorGuard are created in flow 2019-01-11 08:30:05 +01:00
Joakim Hove
8a9df385af Add ErrorGuard when parsing 2019-01-07 10:44:33 +01:00
Kai Bao
167306169b including the injectivity program to flow 2018-12-11 21:41:44 +01:00
Atgeirr Flø Rasmussen
eeb17b460f
Merge pull request #1677 from joakim-hove/version
Add special case handling of commandline argument "--version"
2018-12-10 10:07:05 +01:00
Joakim Hove
54417a8033 Intercept and the handle commandline argument --version 2018-12-09 20:47:00 +01:00
Andreas Lauser
bf602c621b flow: use eclipseState.simulatorConfig().isThermal() to determine whether energy ought to be conserved
this is the new and hip way to query this information from the ECL
parser.
2018-11-16 14:49:17 +01:00
Andreas Lauser
e5fb6cf83c flow: do not pass the schedule and summaryConfig objects anymore
they are now always created internally by the vanguard.
2018-11-07 12:34:54 +01:00
Tor Harald Sandve
08c4a4857b Adapt to changes in schedule interface 2018-10-29 10:39:14 +01:00
Andreas Lauser
25ae95375b flow: print the "reading deck file" message only once
this is a small follow-up to #1599: not only the banner must be
protected but also the "reading deckfile" message. Mea culpa!
2018-10-24 17:30:45 +02:00
Andreas Lauser
d26fe45d52 flow: print the startup-banner only on the first rank
thanks to [at]atgeirr for catching this.
2018-10-24 14:30:21 +02:00
Andreas Lauser
7d30a8408a flow: print the startup banner immediately
also, add a "reading deck" output. The idea is to make `flow`'s
behaviour less surprising by preventing people from thinking that
nothing happens after starting `flow` for a large deck.
2018-10-22 10:37:16 +02:00
Andreas Lauser
d7efb362a2 make the build of flow fully parallelizable
so far, the actual specializations of the simulator were compiled into
the `libopmsimulators` library and the build of the glue code
(`flow.cpp`) thus needed to be deferred until the library was fully
built. Since the compilation of the glue code requires a full property
hierarchy for handling command line parameters, this arrangement
significantly increases the build time for systems with a sufficient
number of parallel build processes. ("sufficient" here means 8 or more
threads, i.e., a quadcore system with hyperthreading is sufficient
provided that it has enough main memory.)

the new approach is not to include these objects in
`libopmsimulators`, but to directly deal with them in the `flow`
binary. this allows all of them and the glue code to be compiled in
parallel.

compilation time on my machine before this change:

```
> touch ../opm/autodiff/BlackoilModelEbos.hpp; time make -j32 flow 2> /dev/null
Scanning dependencies of target opmsimulators
[  2%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_gasoil.cpp.o
[  2%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_oilwater.cpp.o
[  2%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_blackoil.cpp.o
[  2%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_solvent.cpp.o
[  4%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_polymer.cpp.o
[  6%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_energy.cpp.o
[  6%] Building CXX object CMakeFiles/opmsimulators.dir/opm/simulators/flow_ebos_oilwater_polymer.cpp.o
[  6%] Linking CXX static library lib/libopmsimulators.a
[ 97%] Built target opmsimulators
Scanning dependencies of target flow
[100%] Building CXX object CMakeFiles/flow.dir/examples/flow.cpp.o
[100%] Linking CXX executable bin/flow
[100%] Built target flow

real    1m45.692s
user    8m47.195s
sys     0m11.533s
```

after:

```
> touch ../opm/autodiff/BlackoilModelEbos.hpp; time make -j32 flow 2> /dev/null
[ 91%] Built target opmsimulators
Scanning dependencies of target flow
[ 93%] Building CXX object CMakeFiles/flow.dir/flow/flow.cpp.o
[ 95%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_gasoil.cpp.o
[ 97%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_oilwater_polymer.cpp.o
[100%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_polymer.cpp.o
[100%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_oilwater.cpp.o
[100%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_solvent.cpp.o
[100%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_blackoil.cpp.o
[100%] Building CXX object CMakeFiles/flow.dir/flow/flow_ebos_energy.cpp.o
[100%] Linking CXX executable bin/flow
[100%] Built target flow

real    1m21.597s
user    8m49.476s
sys     0m10.973s
```

(this corresponds to a ~20% reduction of the time spend on waiting for
the compiler.)
2018-09-26 11:49:12 +02:00