Commit Graph

1216 Commits

Author SHA1 Message Date
Tor Harald Sandve
e875849497 Adapt test cases and vfpprint 2022-08-19 10:33:19 +02:00
Atgeirr Flø Rasmussen
c0f3b0072b Remove Unused.hpp inclusion. 2022-08-09 16:14:27 +02:00
Bård Skaflestad
326449fe0b Fix Build After "Unused.hpp" Removal
Needed for configurations that don't have Dune-localfunctions or
which *do* have ALUGrid.
2022-08-04 15:12:33 +02:00
Arne Morten Kvarving
d6c378e6a9 remove use of Unused.hpp 2022-08-02 11:24:40 +02:00
Tor Harald Sandve
f513662aa9 Add transflux module and a test that uses it
Compute flux based on transmissibilites. The permeability is assumed to be diagonal and alligned with the local cell
2022-04-07 10:46:31 +02:00
Joakim Hove
6b92443cb4 Downstream filesystem reorganisation in opm-common 2022-01-02 14:33:34 +01:00
Arne Morten Kvarving
c1f19b7447 disable conservativeness check
the check causes a segfault in release mode only on gcc9+
2021-10-27 09:56:09 +02:00
Arne Morten Kvarving
c76803b913 changed: make bhp template hidden and use explicit instantations
this to avoid includes in headers.
2021-05-31 11:42:29 +02:00
Arne Morten Kvarving
58dfda3082 adjust to enum changes in upstream 2021-05-05 21:59:50 +02:00
Arne Morten Kvarving
a4c5429341 fixed: include required headers where needed 2021-04-26 22:39:32 +02:00
Joakim Hove
74ca0d12e0 Use std::chrono::system_clock with 1/1000 second resolution 2021-02-25 23:50:25 +01:00
Joakim Hove
e4789d4eb7 Use std::reference_wrapper for VFP tables 2021-01-26 07:56:59 +01:00
Joakim Hove
17fcdfc87a Use ScheduleState to handle VFP propertes + simplifications 2021-01-14 19:22:34 +01:00
Atgeirr Flø Rasmussen
52c695937b Implement extended network model. 2020-10-15 10:54:03 +02:00
Markus Blatt
580f378e85 Use correct number of template arguments for fracture mode DUNE>2.7
The layout parameter has been deprecated some time ago and now removed
in DUNE > 2.7. This commit fixes its last usage in opm-models makes it
compiler with DUNE master.
2020-08-10 19:31:55 +02:00
Bernd Flemisch
d72de0f308 [cleanup] replace typedef by using 2020-06-10 13:49:42 +02:00
Bernd Flemisch
bdb7bac3e8 [properties] replace remaining macro calls 2020-06-10 13:07:19 +02:00
Bernd Flemisch
b809e9a4f7 [properties] replace SET_STRING_PROP calls
It's not possible to have `constexpr std::string`s in C++17. Taking
`std::string_view` gives conversion errors. Since this is all temporary
and will be replaced by pure runtime parameters anyway, use string
literals for the moment.
2020-06-09 11:15:16 +02:00
Bernd Flemisch
3ba67ebaa8 [properties] replace SET_TAG_PROP calls 2020-06-09 10:55:25 +02:00
Bernd Flemisch
cbffa2a7ba [properties] replace SET_SCALAR_PROP calls 2020-06-09 10:43:28 +02:00
Bernd Flemisch
725c022e69 [properties] replace BEGIN/END_PROPERTIES macro calls 2020-06-08 17:11:48 +02:00
Bernd Flemisch
880c5223ac [properties] replace macro calls by native C++ 2020-06-08 16:41:02 +02:00
Atgeirr Flø Rasmussen
cb3165e681 Add a small utility to print a slice of a VFP table. 2020-05-20 11:27:28 +02:00
Markus Blatt
431d5718e2 Fixed missing conversion ewoms->opm-models in header includes, 2019-10-24 14:19:54 +02:00
Arne Morten Kvarving
88a5e1db06 changed: ewoms/models/richards -> opm/models/richards 2019-09-19 11:08:59 +02:00
Arne Morten Kvarving
f558f5d98b changed: ewoms/models/pvs -> opm/models/pvs 2019-09-19 11:07:52 +02:00
Arne Morten Kvarving
09cdd3aadd changed: ewoms/models/ncp -> opm/models/ncp 2019-09-19 11:03:17 +02:00
Arne Morten Kvarving
d302771e6c changed: ewoms/io -> opm/models/io 2019-09-19 10:59:55 +02:00
Arne Morten Kvarving
9247935c8a changed: ewoms/models/immiscible -> opm/models/immiscible 2019-09-19 10:51:11 +02:00
Arne Morten Kvarving
72b5e42016 changed: ewoms/models/flash -> opm/models/flash 2019-09-19 10:32:32 +02:00
Arne Morten Kvarving
474ae4ded8 changed: ewoms/disc -> opm/models/discretization 2019-09-19 10:28:26 +02:00
Arne Morten Kvarving
f48ae0f7f1 changed: ewoms/models/blackoil -> opm/models/blackoil 2019-09-19 10:19:54 +02:00
Arne Morten Kvarving
e01f712294 changed: ewoms/common -> opm/models/utils 2019-09-19 10:14:17 +02:00
Arne Morten Kvarving
cf9252765c changed: ewoms/linear -> opm/simulators/linalg 2019-09-09 13:12:57 +02:00
Arne Morten Kvarving
799585f9d7 changed: namespace Ewoms -> namespace Opm 2019-09-05 16:21:10 +02:00
Robert Kloefkorn
661577daab [bugfix][dimworld] Fix mixup between Grid::dimension and
Grid::dimensionworld in GlobalPosition and similar.
2019-06-06 13:59:48 +02:00
Andreas Lauser
b77b97e5e6 Newton: Do not fiddle around with the user specified tolerance anymore
As a consquence, the property which sets this tolerance is renamed
from NewtonRawTolerance to NewtonTolerance.
2019-03-02 13:43:08 +01:00
Andreas Lauser
b44b650475 fix some masochistic compiler warnings for the GCC 9 pre-release
the flags which I used are
```
-pedantic \
-Wall \
-Wextra \
-Wformat-nonliteral \
-Wcast-align
-Wpointer-arith \
-Wmissing-declarations \
-Wcast-qual \
-Wshadow
-Wwrite-strings \
-Wchar-subscripts \
-Wredundant-decls \
-fstrict-overflow \
-O3 \
-march=native \
-DNDEBUG=1
```

note that some heavy filtering is not the worst idea because DUNE is
far from not emiting any warnings with these flags.

Also, there were some pesky warnings in test_ecl_output which I don't
know how to fix:

```
tests/test_ecl_output.cc:218:73: warning: missing initializer for member ‘Opm::data::Connection::effective_Kh’ [-Wmissing-field-initializers]
```
2019-01-09 09:34:26 +01:00
Arne Morten Kvarving
f027262ec4 remove files 2018-11-16 14:53:37 +01:00
Tor Harald Sandve
08c4a4857b Adapt to changes in schedule interface 2018-10-29 10:39:14 +01:00
Andreas Lauser
4e888fdfc8 make all header files includeable on their own right again
some property definitions and includes were missing.
2018-10-29 10:05:46 +01: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
Andreas Lauser
8e9b43fdce print usage message if the input case cannot be found 2018-08-17 11:36:21 +02:00
Andreas Lauser
f8a817e8f2 implement line breaks in the usage message
i.e. for `--help`. this is surprisingly complicated...
2018-08-16 15:55:51 +02:00
Andreas Lauser
f2b0630040 flow: minor parameter related fixes
- Change the brief description slightly
- Do not print anything anymore if there are no unused parameters
- Change the boiler plate text for printing the parameters to the
  PRT/DBG files

in part, this has been requested by [at]atgeirr.
2018-08-15 23:36:56 +02:00
Andreas Lauser
43ac2e36c6 remove the Flow prefixes of parameters only used by flow
this has been requested by [at]atgeirr.

Note: The FlowLinearSolverVerbosity, FlowNewtonMaxIterations and
FlowNewtonMinIterations parameters are still prefixed because they
clashes with parameters registered deeply within eWoms.
2018-08-15 23:34:32 +02:00
Andreas Lauser
9203b614e8 flow: customize the brief description printed in the usage message
The text can certainly be improved uppon.
2018-08-15 23:34:32 +02:00
Andreas Lauser
d94be85a9d flow: do not mention unused parameters in the help message
while they do no longer appear in the help message, in the code they
are still there and can be specified and used as normal.

also, this patch makes --print-parameters=1 and --print-properties=1
work.
2018-08-15 23:34:32 +02:00
Andreas Lauser
394790475f make it possible to disable the terminal output
the well model and (probably) the ECL output writing code look like
they cannot be gagged.
2018-08-15 23:34:32 +02:00
Andreas Lauser
b5cddef928 flow: switch it to use the eWoms parameter system
this has several advanges:

- a consistent and complete help message is now printed by passing the
  -h or --help command line parameters. most notably this allows to
  generically implement tab completion of parameters for bash
- the full list of runtime parameters can now be printed before the simulator
  has been run.
- all runtime parameters understood by ebos can be specified
- no hacks to marry the two parameter systems anymore
- command parameters now follow the standard unix convention, i.e.,
  `--param-name=value` instead of `param_name=value`

on the negative side, some parameters have been renamed and the syntax
has changed so calls to `flow` that specify parameters must adapted.
2018-08-15 23:34:32 +02:00