Atgeirr Flø Rasmussen
ecfe98dd3d
Merge pull request #4758 from hnil/subdomain_updates
...
moved fully implicit calls to opm-simulators
2023-08-18 08:18:58 +02:00
Markus Blatt
b4e7a4fc85
Merge pull request #4770 from akva2/eclproblem_cleanup_timestepping
...
EclProblem: cleanup time stepping related members
2023-08-17 11:19:55 +02:00
Arne Morten Kvarving
290c783f83
SimulatorFullyImplicitBlackoilEbos: remove unused member
2023-08-16 08:58:08 +02:00
Arne Morten Kvarving
13b0e14f18
EclGenericProblem: remove unused time steppping parameters
...
and remove some hidden duplicates
2023-08-15 14:02:55 +02:00
Arne Morten Kvarving
46aae8cda6
changed: move EclInterRegFlows to opm/simulators/flow
...
no opm-models usage
2023-08-15 13:14:42 +02:00
Arne Morten Kvarving
368eac1078
EclActionHandler: mark method const
2023-08-15 12:11:33 +02:00
Arne Morten Kvarving
7da3c96247
EclActionHandler: fix indent
2023-08-15 12:10:51 +02:00
Arne Morten Kvarving
dd1359bcf0
changed: move EclActionHandler to opm/simulators/flow
...
no opm-models usage
2023-08-15 12:10:01 +02:00
Bård Skaflestad
0960494aeb
Merge pull request #4794 from akva2/avoid_segfault_in_cleanup
...
fixed: avoid segfault in cleanup if simulator has not been set up
2023-08-15 11:57:26 +02:00
Arne Morten Kvarving
19f446a7a5
fixed: avoid segfault in cleanup if simulator has not been set up
2023-08-15 09:51:41 +02:00
Arne Morten Kvarving
92fa9577da
consistently use std::size_t
2023-08-15 09:32:10 +02:00
Arne Morten Kvarving
b0f1e5d3f5
move output error log to LogOutputHelper
2023-08-14 11:44:32 +02:00
Arne Morten Kvarving
e2d4bae78d
move output of fip reservoir log to LogOutputHelper
2023-08-14 11:44:32 +02:00
Arne Morten Kvarving
daced47301
move output of fip log to LogOutputHelper
2023-08-14 11:44:32 +02:00
Arne Morten Kvarving
f5985ff02f
move output of injection log to LogOutputHelper
2023-08-14 11:44:32 +02:00
Arne Morten Kvarving
c9b703f40d
move output of production log to LogOutputHelper
2023-08-14 11:44:32 +02:00
Arne Morten Kvarving
91a4701fa4
added: add dedicated class for output of logs
...
start by moving output of cumulative logs to the new class
2023-08-14 11:44:32 +02:00
Arne Morten Kvarving
0883d46d50
rename ISTLSolverEbosWithGpu to ISTLSolverEbosBda
...
BDA also includes CPU (amgcl) solvers
2023-08-11 11:00:07 +02:00
Arne Morten Kvarving
896cb8484d
added: option to disable the BDA solvers
2023-08-11 11:00:07 +02:00
hnil
07fb18422d
hopefully fixed compilation and linking problems with WITHGPU
2023-08-11 11:00:07 +02:00
Tor Harald Sandve
8083765a65
Include production/injection update as timestepping event
2023-08-08 12:19:36 +02:00
Arne Morten Kvarving
82ba00b4ba
remove accidentially left-over member
2023-08-04 15:34:05 +02:00
hnil
59de509105
-- moved fully implict related updates to FIblackoil
...
-- changed spesicic nldd calls to use subDomain instead of gridview
(-- clang formated FIBlackoil)
2023-07-26 11:07:26 +02:00
Markus Blatt
f20716eaf3
Rename LinearTimeSteppingBreakdown to TimeSteppingBreakdown.
2023-07-25 15:10:07 +02:00
Markus Blatt
943d84c836
Don't write out of bounds (fixes fallout from PR #4750 )
...
While we never use the data receive, we should still not write beyond
arrays as this may create problems.
2023-07-24 16:04:15 +02:00
Markus Blatt
118dfdf041
Move MPI process check to *-cpp file.
2023-07-19 14:05:19 +02:00
Markus Blatt
7551229e77
Do a graceful exit instead of MPI_Abort for expected exceptions.
...
Instead of unconditionally issuing MPI_Abort if we encounter a fatal
exception, we try to test whether all processes have experienced this
exception and if this is the case just terminate nomally with a exit
code that signals an error. We still use MPI_Abort if not all
processes get an exception as this is the only way to make sure that
the program aborts.
This approach also works around issues in some MPI implementations
that might not correctly return the error.
Multiple messages like this are gone now:
```
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD
with errorcode 1.
NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
[smaug.dr-blatt.de:129359] 1 more process has sent help message help-mpi-api.txt / mpi-abort
[smaug.dr-blatt.de:129359] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
```
Bu we still see something like this:
```
--------------------------------------------------------------------------
Primary job terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:
Process name: [[35057,1],0]
Exit code: 1
--------------------------------------------------------------------------
```
2023-07-19 13:44:12 +02:00
Markus Blatt
fc9b1cccce
Improve error message when time step is cut too often/much.
...
Changes
```
Program threw an exception: [/home/mblatt/src/dune/opm/opm-simulators/opm/simulators/timestepping/AdaptiveTimeSteppingEbos.hpp:586] Solver failed to converge after cutting timestep 11 times.
```
to
```
Simulation aborted: Solver failed to converge after cutting timestep 11 times.
```
Which seems more user friendly.
2023-07-12 16:18:29 +02:00
Arne Morten Kvarving
8e7de83218
BlackoilModelEbos: put Nldd solver in separate class
2023-07-05 13:40:13 +02:00
Arne Morten Kvarving
241c1d3279
BlackoilModelEbos: use value in localAccumulatedReports
...
cheap to copy and aids refactoring
2023-07-05 10:26:14 +02:00
Arne Morten Kvarving
184c6128cd
BlackoilModelEbos: add acccessor for component names
2023-07-05 10:26:14 +02:00
Arne Morten Kvarving
0c8446eed3
BlackoilModelEbos: add acccessor for model parameters
2023-07-05 10:26:14 +02:00
Arne Morten Kvarving
6f726049ce
BlackoilModelEbos: add accessor to linear solve setup time
...
to allow for external usage
2023-07-05 09:38:08 +02:00
Arne Morten Kvarving
cee8dc4c6e
BlackoilModelEbos: make getMaxCoeff public
...
to make it possible to call externally
2023-07-05 09:38:08 +02:00
Arne Morten Kvarving
8fc2b83948
BlackoilModelEbos: make initialLinearization public
...
to make it possible to call externally
2023-07-05 09:38:08 +02:00
Arne Morten Kvarving
4d35ec26de
isNumericalAquiferCell: put in separate struct for easier reuse
2023-07-04 14:56:10 +02:00
Arne Morten Kvarving
c6cd74270b
BlackoilModelEbos: enumerate solver approach for NLDD
...
adds command line validation and allows us to remove an assert on
user provided data
2023-07-03 15:51:07 +02:00
Arne Morten Kvarving
8eb5e173c3
BlackoilModelEbos: put Gauss-Seidel NLDD solve in separate method
...
increases readability of nonlinearIterationNldd
2023-07-03 14:53:12 +02:00
Arne Morten Kvarving
faa4bb25d7
BlackoilModelEbos: put jacobi NLDD solve in separate method
...
increases readability of nonlinearIterationNldd
2023-07-03 14:53:12 +02:00
Arne Morten Kvarving
cf6697b630
BlackoilModelEbos: make domain ordering measure configurable
2023-07-03 12:24:41 +02:00
Arne Morten Kvarving
e17b696a7e
BlackoilModelEbos: put selection of domain order in separate method
...
to increase readability of nonlinearIterationNldd code
2023-07-03 12:24:41 +02:00
Arne Morten Kvarving
c7f9d2d357
put initial linearization in separate method
...
to share code between newton and nldd
2023-07-03 10:51:10 +02:00
Arne Morten Kvarving
3656196684
put calculation of max coefficient in separate method
...
to reduce code duplication
2023-07-03 10:51:10 +02:00
Bård Skaflestad
8c6a92356f
Merge pull request #4621 from vkip/use_mb_from_tuning
...
Use mass balance limit (XXXMBE) from TUNING with --enable-tuning=true
2023-06-30 13:04:49 +02:00
Arne Morten Kvarving
64ce4a206e
Merge pull request #4729 from akva2/partitioncells_reorg
...
PartitionCells: move all related code to compile unit
2023-06-30 13:02:20 +02:00
Arne Morten Kvarving
b95b342517
partitionCells: drop indent for namespace
2023-06-30 12:14:47 +02:00
Arne Morten Kvarving
e8f04eec68
changed: move all partitionCells code to partitionCells.cpp
2023-06-30 12:14:11 +02:00
Arne Morten Kvarving
35bb329022
put BlackoilModelEbos::ComponentName in separate header
...
more tidy and potentially easier to reuse
2023-06-30 11:18:27 +02:00
Arne Morten Kvarving
4201d94241
BlackoilModelEbos: remove unused includes
2023-06-30 09:53:59 +02:00
Arne Morten Kvarving
034f20c37e
BlackoilModelEbos: include tuple
2023-06-30 09:53:50 +02:00
Arne Morten Kvarving
e008c76a80
BlackoilModelEbos: output error message using OpmLog
2023-06-30 08:57:14 +02:00
Arne Morten Kvarving
e88c44eaaf
BlackoilModelEbos: remove unused member function
2023-06-30 08:57:14 +02:00
Arne Morten Kvarving
0a670f3694
BlackoilModelEbos: use constexpr where appropriate
2023-06-30 08:57:14 +02:00
Arne Morten Kvarving
5874377937
BlackoilModelEbos: prefer using
2023-06-30 08:57:14 +02:00
Arne Morten Kvarving
b29f24c9be
BlackoilModelEbos: use Parallel::Communication type alias
2023-06-30 08:57:14 +02:00
Vegard Kippe
a80f44a3be
Updating variable name in SimulatorFullyImplicitBlackoilEbos.hpp and adding tests
2023-06-29 15:20:38 +02:00
Vegard Kippe
65f73f5462
Chaning to new TUNING semantics (opm-common pr3522)
2023-06-29 15:13:10 +02:00
Vegard Kippe
029e3c8616
Removing some whitespace
2023-06-29 15:13:10 +02:00
Vegard Kippe
462ec3153d
Use mass balance limit from TUNING
2023-06-29 15:12:51 +02:00
Bård Skaflestad
9de535098f
Merge pull request #3764 from atgeirr/aspin
...
Add nonlinear solver based on domain decomposition method
2023-06-28 15:49:56 +02:00
Arne Morten Kvarving
adfe80cba0
avoid dead stores
2023-06-27 13:40:54 +02:00
Atgeirr Flø Rasmussen
98b7f4d986
Fix header order and remove dead code.
2023-06-26 17:37:13 +02:00
Atgeirr Flø Rasmussen
424ee2174d
Make sure micp and energy fixes are not discarded.
...
Also do not change getting intensive quantities in convergence
checks.
2023-06-26 11:18:57 +02:00
Atgeirr Flø Rasmussen
15c1e38533
Silence unused variable/parameter warnings.
2023-06-23 16:24:18 +02:00
Atgeirr Flø Rasmussen
cbfe25d0f0
Add NLDD nonlinear solver option.
2023-06-23 16:24:18 +02:00
Vegard Kippe
d6d4b94b25
Parameterized iteration limits in network solver
2023-06-16 12:15:06 +02:00
Atgeirr Flø Rasmussen
81bda54c67
Merge pull request #4709 from blattms/omp-allow-oversubscribe
...
OpenMP: allow oversubscribing to prevent only 1 thread on some hardware
2023-06-14 13:58:12 +02:00
Markus Blatt
2906d7157d
Allow oversubscribing OpenMP threads.
...
There is a strange interaction when using MPI and OpenMP on some
hardware/MPI implementations. I a serial run omp_get_num_procs() would
return the number of processors but when started under mpirun it would
always return 1.
With this we now allow users to use any amount of threads.
2023-06-14 12:03:56 +02:00
Markus Blatt
ae1f319c10
[bugfix] Honor command line --threads-per-process
...
While we reported that we used the number of threads that were passed
on the command line, we never really used it for OpenMP but always
sticked to two unless environment variable OMP_NUM_THREADS was set.
Note that because the ThreadManager in opm-models would always use the
command line option and hence the linearizer would use that number of
threads.
Please note that the only use of OpenMP in opm-common (volume
calculation in EclipseGrid) is not effected by this as it happens
before we set the number of OpenMP threads.
2023-06-14 12:02:25 +02:00
Atgeirr Flø Rasmussen
7f3635145b
Make solver object a member of SimulatorFullyImplicitBlackoilEbos.
2023-06-14 10:01:53 +02:00
Atgeirr Flø Rasmussen
712a7c8131
Add utilities that will be needed for NLDD solvers.
...
Includes:
- SubDomain struct,
- simple partitioning utilities for testing,
- some matrix and vector manipulation functions,
- tests for the above.
2023-06-09 10:08:29 +02:00
Kjetil Olsen Lye
c478e46c8d
Setting CUDA device for MPI runs.
2023-05-31 21:47:46 +02:00
Bård Skaflestad
3549d85d83
Merge pull request #4568 from totto82/2psolvent
...
Add gaswater solvent
2023-05-30 11:36:16 +02:00
Kai Bao
23c0126095
Merge pull request #4640 from steink/ms_pressure_eq_derivatives
...
Update of multisegment well pressure equations - testing
2023-05-26 22:57:23 +02:00
Bård Skaflestad
3c643dba13
Don't Provide Deck Accessors in FlowMainEbos
...
Following commits f4f8c033d
and c7016854d
(PR #4286 ), the "vanguard"
no longer maintains an internal Deck data member. Don't pretend
that it does by providing member functions to access that data
member. If someone tries to actually call these member functions
then they will get an unfriendly diagnostic message and a build
failure.
2023-05-26 17:12:30 +02:00
Tor Harald Sandve
7cf3f69cf9
Add gaswater solvent
...
Fix some places that assumed 3p + solvent
2023-05-26 16:24:38 +02:00
Tor Harald Sandve
1592ef8bd2
solvent + foam simulator
2023-05-24 16:03:09 +02:00
Stein Krogstad
3beef758e4
Merge branch 'OPM:master' into ms_pressure_eq_derivatives
2023-05-24 13:35:11 +02:00
Stein Krogstad
5c0b76f337
Revert to original segment density computations
...
(keep average version as option)
2023-05-23 12:44:06 +02:00
Tor Harald Sandve
ee39117771
Add energy + precsalt simulator
2023-05-12 10:49:17 +02:00
Bård Skaflestad
bf0b7ed948
Merge pull request #4592 from totto82/fix_vapwat_gw
...
pick correct version of flow for gas-water-vapwat case
2023-05-03 11:14:22 +02:00
Bård Skaflestad
4dba837b39
Merge pull request #4606 from akva2/opmrst_more_checks
...
Serialized restart: Add some more checks
2023-04-27 13:32:19 +02:00
Arne Morten Kvarving
c61639251f
added: check command line parameters when doing a .OPMRST restart
...
compare command line used to create .OPMRST differ
to current run and warn if they differ. safety net to avoid
misunderstandings
2023-04-27 12:32:00 +02:00
Arne Morten Kvarving
1003bf7735
added: explicitly check that number of processes matches .OPMRST file
...
while the grid hash check would pick this up as well, it's better
to emit an explicit error message
2023-04-25 15:07:58 +02:00
Arne Morten Kvarving
163ea6f0b0
fixed: missed a .SAVE -> .OPMRST
2023-04-25 15:07:31 +02:00
Atgeirr Flø Rasmussen
ca62d96714
Add helpful message about termination due to unsupported keywords.
2023-04-25 13:02:45 +02:00
Atgeirr Flø Rasmussen
9ca6034388
Remove EclStrictParsing, replace with ParsingStrictness.
...
The new parameter takes the "high", "normal" (default), or "low" string.
Also implemented behaviour.
2023-04-25 12:03:13 +02:00
Atgeirr Flø Rasmussen
04d2b8f39d
Make KeywordValidation::validateDeck() more flexible.
...
Adding a bool argument 'treat_critical_as_noncritical' to possibly
reduce terminating errors to warnings.
2023-04-25 10:44:59 +02:00
Atgeirr Flø Rasmussen
77d151e0b5
Refactor get_error_report() for more flexibility.
2023-04-25 10:33:20 +02:00
Tor Harald Sandve
2a20ad8283
pick currect version of flow for gas-water-vapwat case
2023-04-17 15:25:59 +02:00
Arne Morten Kvarving
f2983ac6af
minimum dune version required is now 2.7
2023-04-12 09:41:23 +02:00
Tor Harald Sandve
4dd0798e5b
add gas + water + energy to flow
2023-03-31 08:47:19 +02:00
Kai Bao
c8d914caad
using double for regularization_factor_wells_
2023-03-23 16:47:03 +01:00
hnil
dedda84a2b
fixed review comments
2023-03-22 19:17:22 +01:00
hnil
e1c4a73c43
-- removed double evaluation of processLocalData
...
-- separated fluid in place work from other cell based data
-- added some timing macros for better preformance overview
2023-03-22 11:55:37 +01:00
Atgeirr Flø Rasmussen
c9ba0afea3
Silence warnings: struct/class, missing override.
2023-03-03 10:12:46 +01:00
Bård Skaflestad
dcf2a1304b
Merge pull request #4499 from akva2/adaptivetimesteppingebos_more_compile_unit
...
AdaptiveTimeSteppingEbos: move more code to compile unit
2023-03-02 13:38:07 +01:00
Arne Morten Kvarving
ebd53ee72d
move StepReport into ConvergenceReport.hpp
...
there is no reason for this to be typetag dependent
2023-03-02 12:37:13 +01:00
Bård Skaflestad
00da723b59
Merge pull request #4497 from akva2/nonlinearsolverebos_compile_unit
...
NonlinearsolverEbos: add compile unit
2023-03-01 16:14:22 +01:00
Arne Morten Kvarving
cbaaca4f14
NonlinearSolverEbos: put stabilizeNonlinearUpdate in compile unit
2023-03-01 10:48:17 +01:00
Arne Morten Kvarving
4aeb980f4f
changed: make NonlinearSolverEbos::RelaxType a namespace scoped enum class
...
name it NonlinearRelaxType
2023-03-01 10:46:51 +01:00
Arne Morten Kvarving
64c4694bab
NonlinearSolverEbos: put detectOscillations in compile unit
2023-03-01 10:46:51 +01:00
Arne Morten Kvarving
c92195c96a
changed: pass the version info as parameters in Banners.cpp/Main.cpp
...
we want to avoid these symbols in the library
2023-03-01 09:11:18 +01:00
Bård Skaflestad
6636b2f331
Merge pull request #4494 from akva2/flowmainebos_compile_unit
...
FlowMainEbos: add a compile unit
2023-02-28 20:13:30 +01:00
Arne Morten Kvarving
b238bba53b
FlowMainEbos: move ExtraConvergenceOutput code to compile unit
2023-02-28 16:02:08 +01:00
Atgeirr Flø Rasmussen
b5678bf5cb
Merge pull request #4495 from atgeirr/add_timing_block
...
Add timing block
2023-02-28 15:00:17 +01:00
Arne Morten Kvarving
143139c6ee
FlowMainEbos: move parallel file merge code to separate compile unit
...
avoid some headers in simulator objects
2023-02-28 14:05:51 +01:00
Arne Morten Kvarving
fe011bbd41
FlowMainEbos: prefer std::make_unique
2023-02-28 13:58:52 +01:00
Arne Morten Kvarving
5fd5753ed7
fixed: mixed-up input and output paths for restart serialization
2023-02-27 12:17:00 +01:00
Arne Morten Kvarving
070f3677f7
fixed: output OPMRST file to output dir
...
will look in both output dir and input file dir on load
2023-02-22 14:26:23 +01:00
Arne Morten Kvarving
c50fcc5818
added: store a hash of the grid cell mapping on each process
...
this is a simple sanity check to make sure the restarted run
has the same grid partitioning as the original run.
2023-02-16 14:49:38 +01:00
Arne Morten Kvarving
8c3400f562
added: parallel support to HDF5File / HDF5Serializer
2023-02-16 14:49:38 +01:00
Arne Morten Kvarving
a60b7e50ca
added: ability to specify .OPMRST file to be used
...
useful, in particular for testing.
2023-02-16 13:56:29 +01:00
Arne Morten Kvarving
72133deadc
added: support for loading serialized state from .OPMRST file
2023-02-16 13:48:36 +01:00
Arne Morten Kvarving
ed170026c1
added: support for saving serialized state to OPMRST file
...
uses a HDF5 container
2023-02-16 13:46:36 +01:00
Arne Morten Kvarving
524c1320bb
add serialization support to SimulatorFullyImplicitBlackoilEbos
...
this is the top of the hierarchy so a test would basically
be a full restart test
2023-02-16 12:38:02 +01:00
hnil
fd98d8ea27
added timing blocks to most important parts
2023-02-15 09:41:37 +01:00
Arne Morten Kvarving
c33240f5c1
changed: introduce EclGenericVanguard::SimulationModelParams
...
this is a struct that holds the information transferred
from the simulator prior to vanguard instantation.
this way we can avoid the static members for state,
which causes issues for serialization (in particular, it makes
it impossible to compare two instances like we do in tests).
2023-02-13 18:52:38 +01:00
Arne Morten Kvarving
05f92a1133
EclGenericVanguard: rename setParams to defineSimulationModel
...
setParams is a rather generic method name, be more specific
2023-02-13 17:49:59 +01:00
Arne Morten Kvarving
e5dc2996e2
changed: move banner printing to separate compile unit
2023-02-01 22:54:55 +01:00
Arne Morten Kvarving
385f526d77
fixed: regression from 82d2146c90
...
missing PRT header
2023-01-31 15:18:25 +01:00
Arne Morten Kvarving
715e0e1c82
fix Damaris setup in Main
2023-01-18 15:37:41 +01:00
Arne Morten Kvarving
e89a68b2ff
Main.hpp: forward WellTestState
2023-01-18 14:01:43 +01:00
Arne Morten Kvarving
2b756a8202
Main: forward Action::State
2023-01-18 14:01:42 +01:00
Arne Morten Kvarving
7991af9c66
Main.hpp: forward UDQState
2023-01-18 14:01:42 +01:00
Arne Morten Kvarving
4aab577275
Main: move code for setting up Damaris to compile unit
2023-01-18 14:01:42 +01:00
Arne Morten Kvarving
560b0e5cbb
Main: move code for setting up Vanguard to compile unit
2023-01-18 14:01:42 +01:00
Arne Morten Kvarving
c901570c9b
Main.hpp: remove unnecessary Python.hpp include
2023-01-18 14:01:42 +01:00
Arne Morten Kvarving
82d2146c90
Main: move code for reading deck to compile unit
2023-01-18 14:01:42 +01:00
Arne Morten Kvarving
1729c1a414
Main: move some code to separate compile unit
2023-01-18 12:26:10 +01:00
Arne Morten Kvarving
fef009f792
Main: remove unused method and associated filesystem include
2023-01-18 12:22:50 +01:00
Arne Morten Kvarving
ffcfc5e2ea
Main.hpp: remove unnecessary ErrorGuard.hpp include
2023-01-17 13:30:39 +01:00
Arne Morten Kvarving
240c039f53
readDeck: make the ErrorGuard an internal detail
2023-01-17 13:30:39 +01:00
Arne Morten Kvarving
8179935217
Main.hpp: remove unnecessary ParseContext.hpp include
2023-01-17 09:36:35 +01:00
Arne Morten Kvarving
56df430bd6
readDeck: make the ParseContext an internal detail
2023-01-17 09:36:31 +01:00
Bård Skaflestad
6eb97c0165
Merge pull request #4388 from akva2/parser_hpp_cleanup
...
Main.hpp: remove unneccesary Parser.hpp include
2023-01-17 09:20:07 +01:00
Arne Morten Kvarving
978d130f30
Main.hpp: remove unneccesary Parser.hpp include
2023-01-17 07:56:37 +01:00
Arne Morten Kvarving
d6b7e1c253
Main.hpp: remove unnecessary ArrayDimChecker.hpp include
2023-01-17 07:36:02 +01:00
Arne Morten Kvarving
60b23e8bb1
move ParseContext configuration to readDeck
...
this way we do not need to include InputErrorAction in Main.hpp
2023-01-16 22:17:39 +01:00
Arne Morten Kvarving
fd94ca7031
add missing InputErrorAction.hpp includes
2023-01-16 22:17:39 +01:00
Arne Morten Kvarving
3a01e89585
adjust to InputErrorAction change to enum class
2023-01-16 22:17:39 +01:00
Arne Morten Kvarving
3745a4c02d
clean up Units.hpp includes
...
include it where required instead of relying on other
headers to pull it in
2023-01-16 12:21:29 +01:00
Arne Morten Kvarving
12a72b4d6e
add missing include
2023-01-09 12:49:29 +01:00
Arne Morten Kvarving
64140f51c9
pass output stream
...
there is no default argument any longer
2023-01-03 15:24:28 +01:00
Arne Morten Kvarving
b148b454c6
NonlinearSolverEbos: avoid use of sstream
2023-01-02 15:17:49 +01:00
Tor Harald Sandve
5854b8a7a1
Support gas dissolution in water (Rsw)
...
- adapt to interface change in waterPvt()
- add gas + water + disgasw simulator
Note
- MSW is not supported
- EQUIL initialization is not supported
2022-12-21 13:13:52 +01:00
Bård Skaflestad
8dcb37570b
Rename Convergence Output Option
...
This commit renames the previously introduced command line option
ExtraConvergenceOutput (--extra-convergence-output) into the more
descriptive
OutputExtraConvergenceInfo (--output-extra-convergence-info)
Suggested by: [at]OPMUSER
2022-12-20 12:32:14 +01:00
Bård Skaflestad
858ca8fa49
Output Non-Linear Convergence to Separate File if Requested
...
This commit enables outputting non-linear convergence metrics, i.e.,
the MB and CNV values, per phase, for each non-linear iteration in
each timestep. If the user passes the option value "iterations" to
the --extra-convergence-output command line option, this commit will
create a new output file, CASE.INFOITER, that holds
* report step
* time step within that report step
* elapsed time
* MB and CNV values per phase
* well convergence status
for each non-linear iteration.
We use an asynchronous file writing procedure and confer ownership
of the report step's unprocessed convergence reports to this
procedure just before the end of
SimulatorFullyImplicitBlackoilEbos::runStep()
At that point, the convergence reports are about to go out of scope.
The asynchronous protocol uses a dedicated queue of output requests,
class ConvergenceReportQueue, into which the producer-i.e., member
function runStep()-inserts new convergence reports and from which
the output thread, ConvergenceOutputThread::writeASynchronous(),
retrieves those requests before writing the file data.
2022-12-20 10:14:13 +01:00
Bård Skaflestad
63654a73fc
Don't Output INFOSTEP File by Default
...
This commit introduces a new helper class,
ConvergenceOutputConfiguration
which parses comma separated option strings into a runtime
configuration object for whether to output additional convergence
information and, if so, what information to output.
Supported option string values are
* "none" -- Dont want any additional convergence output.
* "steps" -- Want additional convergence output pertaining to the
converged solution at the end of each timestep.
* "iterations" -- Want additional convergence output pertaining to each
non-linar ieration in each timestep.
Option value "none" overrides all other options. In other words, if the
user requests "none", then there will be no additional convergence
output, even if there are other options in the option string.
We add a new option, ExtraConvergenceOutput (command line option
--extra-convergence-output), which takes a string argument expected
to be a comma separated combination of these options. The default
value is "none". Finally, make the INFOSTEP file output conditional
on the user supplying "steps" as an argument to the new option.
2022-12-15 13:02:09 +01:00
Arne Morten Kvarving
f17a90170d
use exception classes from opm-common
2022-12-13 12:56:13 +01:00
Bård Skaflestad
3c63a7aa6d
Capture Timestep's Non-Linear Convergence History
...
This enables outputting a formatted record of the limiting MB and
CNV quantities as time and non-linear iterations progress. This, in
turn, is intended for diagnostic and analysis purposes and will not
be output unless specifically requested.
In particular, add a new type,
ConvergenceReport::ReservoirConvergenceMetric
which captures the convergence metric type (MB or CNV) along with
the associate phase and numerical value of the convergence metric.
We add a vector of these convergence metric objects as a new data
member of the ConvergenceReport.
Finally, foreshadowing the intended use case, also store the report
time in the ConvergenceReport object.
2022-12-09 16:22:36 +01:00
Bård Skaflestad
149ae34dd2
Capture Component Names in Independent Datastructure
...
This is in preparation of enabling separate convergence output
for diagnostic purposes.
2022-12-09 09:41:22 +01:00
Tor Harald Sandve
bdb82c2f3d
Rename PrimaryVarsMeaning{Water/Gas/Pressure/Brine} to {Water/Gas/Pressure/Brine}Meaning
2022-11-25 13:03:26 +01:00
Tor Harald Sandve
22d27bdf5f
Adapt to change of enum to enum class for primary variable meaning
2022-11-25 10:53:48 +01:00
Tor Harald Sandve
a190668800
adapt to rename of waterSaturationIdx -> waterSwitchIdx
2022-11-25 10:53:48 +01:00
Tor Harald Sandve
0c6d29a352
adapt to primary variable refactoring
2022-11-25 10:53:48 +01:00
Arne Morten Kvarving
c7016854d9
changed: make the deck an implementation detail in Opm::readDeck
2022-11-24 13:00:38 +01:00
Arne Morten Kvarving
f4f8c033d8
EclGenericVanguard: remove deck member
2022-11-24 12:10:52 +01:00
Atgeirr Flø Rasmussen
2192b3a86c
Unhide NewtonMaxIterations.
2022-10-31 17:13:09 +01:00
Markus Blatt
2fdc9e6cc6
Remove references of flow i usage string of Newton method properties.
...
This makes them constent to NewtonMaxIterations
2022-10-28 16:41:54 +02:00
Markus Blatt
2c8a63fc3d
Use consistent NewtonMaxIteration usage string.
...
Needed to prevent an exception. Apparently both the value and usage
sting must match each time we register a parameter no matter
whether the template parameters differs or not.
2022-10-28 16:41:54 +02:00
OPMUSER
bbd9d8bf58
Rename option FlowNewtonMaxIterations to NewtonMaxIterations.
...
Now it is consistent with other options (e.g. NewtonMinIterations
2022-10-28 16:41:54 +02:00
Arne Morten Kvarving
96ec2b0e96
comment out unused private variable (causes a warning)
2022-10-26 10:59:43 +02:00
Tor Harald Sandve
d25dc4e795
check controls in getWellConvergence
2022-10-18 10:55:17 +02:00
Atgeirr Flø Rasmussen
a2c5ec1127
Merge pull request #4037 from totto82/scaleEnergy
...
scale energy residual to have the same relative order as the mass balance residuals
2022-10-17 23:33:28 +02:00
Atgeirr Flø Rasmussen
c6b3e4c462
Hide all vtk parameters.
2022-10-14 10:46:45 +02:00
Arne Morten Kvarving
72dfc63167
BlackoilModelEbos: use elements range generator
2022-10-13 23:01:37 +02:00
Arne Morten Kvarving
ecc36f6ce8
fix cmake handling
...
- use imported target for linking
- use separate damaris cmake script
- handle HAVE_DAMARIS config variable in the usual way
fixing issues when user does not provide an outputDir via a command_line
avoid adding damaris's command lines when we dont have damaris
2022-10-13 12:23:06 +02:00
Elyes Ahmed
0a7f7e94b7
fixing unused variable err
2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
c1b3c5e973
Rename option to EnableDamarisOutputCollective.
2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
926c213628
Make ensureOutputDirExists() callable outside readDeck.cpp, and use it.
...
This is necessary because when using Damaris we must have the output dir ready
when we initialize Damaris. In the existing code, this was ensured only
from the setupLogging() call.
2022-10-13 12:23:06 +02:00
Atgeirr Flø Rasmussen
fae71df32d
Fix initialization and stopping Damaris.
...
With this, flow no longer hangs on exit.
2022-10-13 12:23:06 +02:00
Joshua Bowden
fa7af3540c
Changes needed to add Damaris functionality. The current state is that we output the pressure field and we use both HDF5 and parallel HDF5.
...
Damaris initialization is added after InitMpi but before starting the simulation. Damaris will invoke a separate core for writing in
parallel and leave the rest of cores for the simulator. The main changes are in main where start_damaris and then in eclwriterm where
we use damaris to output the PRESSURE. To test Damaris one can use --enable-damaris-output=true and to use parallel HDF5 one can use
--enable-async-damaris-output=true (false is the default choice)
2022-10-13 12:23:06 +02:00
Markus Blatt
fcc3690832
Added missing include of config.h in cpp files.
2022-10-12 15:28:38 +02:00
Atgeirr Flø Rasmussen
a7a5a7a98d
Make the Python interface use the TpfaLinearizer.
2022-10-04 11:44:35 +02:00
Atgeirr Flø Rasmussen
d7ba860bf1
Rename so that flow_blackoil_tpfa becomes flow_blackoil.
2022-10-03 14:14:15 +02:00
Atgeirr Flø Rasmussen
dacb77425a
Merge pull request #4017 from atgeirr/make-fast-assembly-default
...
Make the TPFA linearizer default for 1/2/3 phase blackoil.
2022-10-03 12:01:22 +02:00
Atgeirr Flø Rasmussen
f6033702c9
Ensure DIFFUSE is supported.
...
This is only instantiated for two-phase gas/oil and for 3-phase blackoil.
Runtime safeguards have been added to avoid the mistake of running with
a simulator combination that silently ignores DIFFUSE.
2022-09-30 15:28:58 +02:00
OPMUSER
7ab39dd5da
Update NonlinearSolverEbos.hpp
...
This is one of several PRs that will rename some command line parameters for greater consistency, as agreed with Atgeirr in #4096
Here we rename FlowNewtonMinIterations to NewtonMinIterations
2022-09-30 19:52:18 +08:00
Atgeirr Flø Rasmussen
f1762a1abd
Make the TPFA linearizer default for 3 phase blackoil.
2022-09-30 09:21:34 +02:00
Kai Bao
087eb56a64
changing max_strict_iter_ to min_strict_cnv_iter_
...
to make the naming reflect the actual usage more clearly.
2022-09-07 14:28:41 +02:00
Bård Skaflestad
d5401eeb43
Merge pull request #4044 from atgeirr/fix-restart-initialization
...
Ensure intensive quantities are calculated at start of simulation.
2022-09-01 17:10:32 +02:00
Atgeirr Flø Rasmussen
92538b0612
Ensure intensive quantities are calculated at start of simulation.
...
Moving it ensures it is also done for restart simulation runs. Without
this, the well model will actually initialize the IQs, but only for
owned cells, not overlap/ghost cells, which caused parallel failure.
2022-09-01 14:00:42 +02:00
Tor Harald Sandve
3e27c23222
scale energy residual to have the same relative order as the mass balance residuals
2022-08-29 15:05:01 +02:00
Arne Morten Kvarving
3b0b5b4708
changed: remove unneeded includes for ParameterGroup
2022-08-26 09:21:46 +02:00
Arne Morten Kvarving
371b2592f5
changed: put ParallelIstlInformation in separate compile unit
2022-08-18 09:15:28 +02:00
Atgeirr Flø Rasmussen
cabe64cc58
Further reduction of modifications.
2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
5fba14373b
Modification to reduce PR to minimal changes.
2022-08-09 11:11:36 +02:00
Atgeirr Flø Rasmussen
66a1c46413
Remove unused code branch.
2022-08-09 11:09:48 +02:00
hnil
8f5e0940fe
restructuring to be able to call without local indices
2022-08-09 11:09:48 +02:00
hnil
d53b6ad9fa
added spesialisation for using simple property updating
2022-08-09 11:09:48 +02:00
hnil
95308d7d02
ensure intensive quantities is updated
2022-08-09 11:09:48 +02:00
Elyes Ahmed
5c2b60bcd0
rebasing
2022-07-28 20:40:34 +02:00
Arne Morten Kvarving
eeeeb283c5
remove unnecessary includes
2022-07-26 19:03:39 +02:00
Tor Harald Sandve
cf1abb086f
remove msw(ms) from regulariztion parameter
2022-06-29 15:39:51 +02:00
Arne Morten Kvarving
1794934f0d
anonymize unused parameters
2022-06-27 14:47:44 +02:00
Arne Morten Kvarving
a4d254b749
changed: introduce EclGenericVanguard::setParams
...
this is used transferring ownership of setup structures to the
simulator. drop all the flowEbosXXX set deck methods and use the
generic vanguard. also means various structs that were only passed
in the blackoil simulator are now passed in all simulators.
2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
00c374be5c
changed: remove support for internal summaryconfig handling in simulators
2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
4510f40b6d
changed: remove support for internal schedule handling in simulators
2022-06-24 15:06:13 +02:00
Arne Morten Kvarving
1a35c5ac47
changed: remove support for internal eclstate handling in simulators
2022-06-24 15:06:13 +02:00