Paul Egberts
797fdc278b
water-gas ratio input and output plus simulator for salt precipitation and water evaporation
2022-03-01 20:52:43 +01:00
Tor Harald Sandve
ad799b3e80
Add more performance summary output
...
This commit ads: NEWTON, MLINEARS, MSUMLINS, MSUMNEWT, NLINEARS, NLINSMIN, NLINSMAX
2022-02-03 15:03:37 +01:00
Markus Blatt
710d648eda
Prevent multiple *.?.dbg/prt files in production crashed parallel runs.
...
There was a fallout when skipping concating these files to the
default ones (PR #1708 ). We should also have deactivated creating
these files at all. As a result these files appeared in all parallel
runs that were aborted.
This change now prevents creating and logging to these files in
parallel in a default
run (--enable-parallel-logging-fallout-warning=false).
Developers can still activate logging and concating to see whether
everything is only logged on the io process by passing
--enable-parallel-logging-fallout-warning=true.
Closes 3725
2022-01-27 17:21:29 +01:00
Tor Harald Sandve
bf77bbbc10
Merge pull request #3759 from plgbrts/saltp
...
Enable salt precipitation/dissolution
2022-01-18 12:02:32 +01:00
Arne Morten Kvarving
a82ad816c7
add fallback return (control reaches end of non-void function)
2022-01-17 13:59:47 +01:00
Paul Egberts
98c8e691c3
Allow for brine and precipitation/dissolution of salt
2022-01-14 11:46:40 +01:00
Bård Skaflestad
3317f10c4a
Merge pull request #3729 from goncalvesmachadoc/gaswater_brine
...
allow for gas-water + brine
2022-01-12 12:31:34 +01:00
goncalvesmachadoc
300f536a19
add exit_failure for water+brine case
2022-01-11 14:23:37 +01:00
Joakim Hove
6b92443cb4
Downstream filesystem reorganisation in opm-common
2022-01-02 14:33:34 +01:00
Atgeirr Flø Rasmussen
eec32ec581
Replace DEMONSTRATE_RUN_WITH_NONWORLD_COMM macro with runtime bool.
...
This allows for testing the simulator with the artifically split communicator,
in order to verify that there is no inappropriate usage of the world communicator.
2021-12-10 17:42:44 +01:00
goncalvesmachadoc
7f320102c3
allow for gas-water + brine
2021-12-08 14:35:22 +01:00
Tor Harald Sandve
4f75d1ab8d
Add gasoil + energy simulator
...
Useful when combining CO2STORE + THERMAL
This PR also fixes an issue with missing phases in computation of output temperature
2021-12-07 09:18:38 +01:00
Markus Blatt
a2246d331b
Spelling fixes
...
Gbp-Pq: Name 0005-Spelling-fixes.patch
2021-11-15 12:06:05 +01:00
Tor Harald Sandve
ae5a1df29c
Merge pull request #3638 from blattms/exclude-pv-aquifer-cnv
...
Exclude pv of numerical aquifer cells in ratio of cells violating CNV
2021-11-12 13:27:58 +01:00
Arne Morten Kvarving
dc136746df
cosmetics: do not indent for namespace
...
also avoid an unnecessary close/open for namespace Opm
2021-11-10 14:24:51 +01:00
Arne Morten Kvarving
7f7fbab2f4
remove FLOW_BLACKOIL_ONLY hack from Main.hpp
...
now that the python simulator uses runStatic, the
runDynamic template is never instanced, and thus there
are no linker issues.
2021-11-10 10:07:11 +01:00
Arne Morten Kvarving
06bd25575f
use std::filesystem directly
2021-11-01 12:31:58 +01:00
Bård Skaflestad
f212c946c7
Separate MICP Case Out to Helper Function
...
In keeping with the other simulation cases.
2021-10-29 16:15:44 +02:00
Arne Morten Kvarving
a056aa858a
changed: special case no input deck given handling
...
we do not want to invoke MPI_Abort in this case
2021-10-29 12:16:01 +02:00
Markus Blatt
85b5a60270
[bugfix] Exclude pv of numerical aquifer cells for CNV violation.
...
In some models there will be only a few cells with rather high pore volume representing the numerical aquifer. Including them (as non-violated cells) in the ratio will make the ratio lower than without the aquifer there and might lead to accepting vectors as converged when they should not.
2021-10-26 12:01:46 +02:00
Alf Birger Rustad
a10387fcec
Do not print confusing message to terminal.
2021-10-25 15:35:30 +02:00
Joakim Hove
56c7c74016
Handle NEXTSTEP behavior in time stepper
2021-10-18 11:52:33 +02:00
Tor Harald Sandve
70c9d2e237
Merge pull request #3590 from daavid00/micp-2021-10
...
micp
2021-10-14 22:28:28 +02:00
daavid00
48b175904a
first version of micp implementation in flow
2021-10-14 17:44:57 +02:00
Joakim Hove
4b85fc74ae
Merge pull request #3594 from joakim-hove/wtest-rst
...
load WellTestState from restart file
2021-10-13 11:27:41 +02:00
Arne Morten Kvarving
8eb63409cb
fixed: double call to MPI_Finalize
...
I missed this one when moving the MPI handling into RAII style
2021-10-13 09:35:16 +02:00
Joakim Hove
2c68f12769
Load WellTestState from restart file
2021-10-13 08:46:48 +02:00
Joakim Hove
5db60aba5e
Set external Action::State object in the vanguard
2021-10-12 10:41:29 +02:00
Bård Skaflestad
61ac76fe90
Make ARGV[ARGC] Into a Nullpointer
...
This is strictly speaking required by POSIX.
2021-10-09 00:17:32 +02:00
Bård Skaflestad
ad74de2e1a
Use Algorithm to Locate '--version' Option
2021-10-09 00:17:32 +02:00
Bård Skaflestad
fca167acfd
Split Individual Cases Out to Helper Functions
...
This commit moves the bodies of the various 'dynamicDispatch_<>()'
cases out to separate helper functions. Not only does this reduce
the number of nested conditionals, it also helps reasoning about
each case in isolation and aids future maintenance.
2021-10-09 00:17:32 +02:00
Bård Skaflestad
3455dbdac9
Main.hpp: Adjust Whitespace
...
In preparation of refactoring 'dispatchDynamic_<>()'
2021-10-09 00:17:32 +02:00
Markus Blatt
1520f9c85f
[bugfix] handle exception when linearizing the wells.
...
As multisegment wells may throw in applyUMFPack this is now needed and
the exception needs to communicated to all processes. We do this in
the linearize method of the well model.
Before this change this is what could happen:
- The process with the exception would have chopped the time step
- The others would have successfully setup the systems and entered the
linear solve
This poduced a deadlock. One processes was waiting in
OPM_END_PARALLEL_TRY during the setup of the shorter time step and in
collective communication during the setup of the linear solver for the
unchopped time step.
2021-10-08 16:01:07 +02:00
Elyes Ahmed
65f0e4e7f0
Replacing calling Communication with a header
2021-10-05 13:07:52 +02:00
Elyes Ahmed
0202b00d59
clean up after review
2021-10-05 13:07:52 +02:00
Elyes Ahmed
f53c597f90
Replacing use of MPI_COMM_WORLD with a variable communicator.
2021-10-05 13:07:52 +02:00
Tor Harald Sandve
afdfe55bbc
restrict maximum number of times a well can switch to the same control
2021-10-04 10:12:39 +02:00
Tor Harald Sandve
cb9254636b
rename and cleanup
2021-09-30 09:01:07 +02:00
Tor Harald Sandve
c9e93e6155
stop updating operability during iterations
2021-09-30 08:47:47 +02:00
Joakim Hove
5d3e56baa3
Call MPI_Abort() in main catch all clause
2021-09-28 20:53:38 +02:00
Markus Blatt
3cda8a2fdb
Added missing parallel try-catch clause for updatePrimaryIntensities.
...
As Problem::updatePrimaryIntensities might throw we need to do this
to prevent dealocks in parallel run in case problem occurs.
2021-09-24 09:25:44 +02:00
Håkon Hægland
7a394df43f
Include <stdexcept> header to use std::logic_error()
...
And some minor stylistic changes.
2021-09-23 13:13:23 +02:00
Håkon Hægland
4c5245196b
Changed calling convention for shared pointers.
...
Expect non-reference type shared pointers arguments instead of references
to shared pointer. This will make it clear to the caller that the called
function is making a copy of the pointer for its own use and not trying
to modify the original pointer of the caller.
2021-09-22 23:49:13 +02:00
Håkon Hægland
5ad65c70ee
Initialize blackoil simulator from schedule shared with Python.
...
Adds a new constructor to Main.hpp that takes shared pointers to Deck,
EclipseState, Schedule, and SummaryConfig. This makes it possible to
share these variables with Python without worrying about lifetime issues
of the underlying C++ objects. For example, a Python script can first
create an opm.io.schedule.Schedule object which is modified from Python.
Then, assume the same Python script creates an
opm.simulators.BlackOilSimulator which is initialized with the same
schedule object. Since the underlying C++ object is a shared pointer,
the Schedule object in Python may go out of scope (get deleted by Python)
without having the C++ schedule object being deleted. And the Python
BlackOilSimulator may continue to be used after the Python Schedule object
has been deleted since it still has a valid C++ schedule object.
2021-09-21 15:52:59 +02:00
Joakim Hove
357540bfca
Create Action::State external to the vanguard
2021-09-19 10:17:58 +02:00
Tor Harald Sandve
81d9a8c178
add option for relaxed convergence for stw
2021-09-14 14:32:14 +02:00
Atgeirr Flø Rasmussen
d1bfd48b6e
Add missing include for unordered_map.
2021-09-09 12:17:54 +02:00
Tor Harald Sandve
f3513a31eb
add option for relaxed well convergence for the last netwon iterations
2021-09-08 09:58:14 +02:00
Joakim Hove
060eac4999
Add basic functionality for validating special case keywords
2021-08-24 13:50:40 +02:00
Tor Harald Sandve
8e23a2b88d
Merge pull request #3476 from totto82/changeDefaultInner
...
Change default MaxNewtonIterationsWithInnerWellIterations to 8
2021-08-24 10:29:03 +02:00
Tor Harald Sandve
0f58343c48
Change default MaxNewtonIterationsWithInnerWellIterations to 8
2021-08-18 08:41:37 +02:00
Arne Morten Kvarving
1ef981f35c
use RAII for MPI initialization
2021-08-12 13:20:59 +02:00
Arne Morten Kvarving
d99f642dff
add collective communication to generic vanguard
2021-08-12 12:08:43 +02:00
Tor Harald Sandve
43d129861f
Merge pull request #3454 from plgbrts/gw1
...
adjustments needed for gas-water system
2021-08-03 12:01:34 +02:00
Arne Morten Kvarving
78c5675daf
changed: get rid of OPM_UNUSED macro usages
...
prefer anonymous parameters or c++17 [[maybe_unused]]
2021-08-02 14:55:41 +02:00
Paul Egberts
d5653d9ca2
removed exit failure for gas-water system
2021-08-01 18:11:56 +02:00
Paul Egberts
e25b78f106
fix for relative change calculation for gas-water system
2021-08-01 18:09:54 +02:00
Joakim Hove
c62a9ba198
Set external UDQState for flow blackoil
2021-07-04 08:55:07 +02:00
Joakim Hove
528078e8e1
Assemble UDQState external to the vanguard
2021-07-01 08:24:59 +02:00
Peter Verveer
7be1bce651
Small fix for the keyword validation
2021-06-18 12:12:58 +02:00
Atgeirr Flø Rasmussen
8c5a6b12d5
Merge pull request #3158 from totto82/operability_solve
...
shut/stop unsolvable wells
2021-06-18 10:13:14 +02:00
Tor Harald Sandve
b5e29684f2
shut/stop unsolvable wells
2021-06-17 11:50:31 +02:00
Peter Verveer
fd753e20c4
Add keyword validation using a predicate function
2021-06-14 18:10:36 +02:00
Tor Harald Sandve
96091f4313
change get param from bool to int
2021-06-11 08:09:35 +02:00
Tor Harald Sandve
5686d90c61
Merge pull request #3350 from totto82/maxNiWi
...
Change the inner iterations logic
2021-06-10 19:49:23 +02:00
Arne Morten Kvarving
14ea3e6dd1
SimulatorFullyIplicitBlackoilEbos: avoid boost includes in header
2021-06-08 15:44:28 +02:00
Arne Morten Kvarving
a0dea4d58f
remove unused method
2021-06-08 15:10:11 +02:00
Tor Harald Sandve
3ca6e215dc
Change the inner iterations logic
...
This replace the Boolean switch to enable inner iterations with a
int that controls for which maximum number of newton iterations
inner iterations applies.
Default is set to 3
2021-06-04 10:51:15 +02:00
Arne Morten Kvarving
cbd7cfe8b6
split eclproblem in typetag dependent and typetag independent classes
2021-05-28 08:54:10 +02:00
Arne Morten Kvarving
d55df4330e
fixed: do not use Opm:: prefix when inside namespace Opm
2021-05-25 12:06:06 +02:00
Joakim Hove
23180e06d2
Rename WellStateFullyImplicitBlackoil -> WellState
2021-05-21 15:07:21 +02:00
Joakim Hove
842e0a53a4
Merge pull request #3263 from akva2/move_ecldeck_param
...
changed: move Deck parameter to BlackoilModelParametersEbos
2021-05-18 08:19:19 +02:00
Arne Morten Kvarving
8d1a8126ea
changed: move Deck parameter to BlackoilModelParametersEbos
...
it is used there. now eclbasevanguard.hh includes
BlackoilModelParametersEbos, instead of the other way around.
2021-05-15 14:42:50 +02:00
Peter Verveer
ad0b62ab1c
Simplify the message for keywords with only a single record
2021-05-14 15:12:12 +02:00
Arne Morten Kvarving
306593af3b
changed: put unsupported keywords in separate compile unit
...
avoid triggering full simulator rebuilds when updating
this list
2021-05-12 14:29:33 +02:00
Arne Morten Kvarving
3397cd6252
eclbasevanguard: split in template and non-template parts
2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
86bc095e3a
eclbasevanguard: change canonicalDeckPath to std::string
...
makes use of filesystem an implementation detail
2021-05-11 09:15:11 +02:00
Arne Morten Kvarving
a4c0af09d9
fixed: do not use Opm:: prefix when inside namespace Opm
2021-05-05 11:59:18 +02:00
Bård Skaflestad
aa1df1352f
Merge pull request #3197 from akva2/move_to_comp_units
...
Move to separate compilation units
2021-04-30 16:50:54 +02:00
Arne Morten Kvarving
cf06a322ec
countGlobalCells: put non-template code in separate compile unit
2021-04-30 15:09:23 +02:00
Arne Morten Kvarving
238109b0e9
FlowMainEbos: use forwarding
...
also remove unnecessary includes
2021-04-29 12:47:27 +02:00
Arne Morten Kvarving
bbfda699d3
KeywordValidation: use forwarding
2021-04-29 12:46:49 +02:00
Tor Harald Sandve
090b75425f
Use switch event
2021-04-16 13:38:56 +02:00
Peter Verveer
1640c4afcf
Implement a new keyword validator
2021-04-12 16:47:02 +02:00
Kai Bao
347ca3978a
adding parameter to control the min time step
...
can be reduced to based on the newton iteration counts.
By default it is zero, so it should not change any running results.
2021-03-10 11:49:59 +01:00
Joakim Hove
ec344d555d
Pass ouput interval overeride to Schedule constructor
2021-03-08 19:30:58 +01:00
Joakim Hove
6f15765f53
Use Schedule time functions - avoid TimeMap
2021-02-25 18:10:22 +01:00
Kai Bao
a18c1a15ab
correcting the output of the number of threads
2021-02-03 14:02:56 +01:00
Markus Blatt
0238a80b02
Merge pull request #3032 from blattms/test-spe9-distributed-wells
...
Support external loadbalancers in EclCpGridVanguard
2021-02-02 11:21:40 +01:00
Markus Blatt
67fc95c340
Merge pull request #3029 from blattms/activate-distributed-wells
...
Activate distributed wells in the simulator
2021-02-02 09:40:08 +01:00
Bård Skaflestad
76c59978b6
Reset Non-Linear Iteration Count Before 'beginTimeStep'
...
While here, also fix a couple of misprints in a nearby comment.
2021-01-29 12:30:34 +01:00
Tor Harald Sandve
d3ea5a67ea
reset the iteration count in the newtonSolver
2021-01-29 07:59:56 +01:00
Markus Blatt
2d23b01da8
Restrict property/type tag changes to eclbasevanguar.hh
2021-01-27 14:41:10 +01:00
Tor Harald Sandve
c145722798
pass CartesianIndexMapper instead of the grid to the RelpermDiagnositics
2021-01-26 14:59:36 +01:00
Markus Blatt
f464d93f15
Activate distributed standard wells.
...
We introduce a new parameter --enable-distributed-wells=<true|false>
for this. During startup we check that the model either only has
standard wells or that multisegement wells are actively interpreted
as standard wells (by way of passing --enable-multisegment-wells=false
as an option).
2021-01-25 15:05:24 +01:00
Joakim Hove
237eb2b7ee
Fetch events from ScheduleState
2021-01-11 17:42:30 +01:00
Joakim Hove
fe788cdb05
Access tuning class from ScheduleState
2021-01-06 16:26:13 +01:00
Alf Birger Rustad
673328a4e1
Remove WSEGAICD from missing features
2020-12-18 11:23:26 +01:00
Tor Harald Sandve
6b7c0e630a
report pre/post time
2020-12-10 13:40:41 +01:00
Tor Harald Sandve
73439070f7
Merge pull request #2963 from totto82/extbo_conv
...
add convergence check for extended blackoil model
2020-12-09 08:51:11 +01:00