Commit Graph

588 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
06c706e7d6 Also copy flags, and helper function with test. 2023-08-31 13:01:50 +02:00
Atgeirr Flø Rasmussen
151eac9110 Copy overlap data after local solve.
Also update intensive quantities in overlap afterwards.
2023-08-31 13:01:50 +02:00
Atgeirr Flø Rasmussen
e1dd2bf148 Add forceSerial parameter to ISTLSolverEbos.
Used for single-domain solves.
2023-08-31 13:01:50 +02:00
Atgeirr Flø Rasmussen
622103a367 Avoid collective operation in single-domain context. 2023-08-31 13:01:50 +02:00
Atgeirr Flø Rasmussen
609dfd6051 Only owned cells should be part of NLDD partitions. 2023-08-31 13:01:28 +02:00
Bård Skaflestad
b772d685d3
Merge pull request #4781 from totto82/addToEvent
Include production/injection update as timestepping event
2023-08-23 15:40:38 +02:00
Vegard Kippe
f762711111 Addressing review comment (removed blank line and updated SaveStep docstring) 2023-08-22 17:11:54 +02:00
Vegard Kippe
ac27c5fc86 Extended serialization to have negative stride mean 'only save last' + allow loading from different file than saving to. 2023-08-22 14:16:20 +02:00
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