Tor Harald Sandve
922fa5b9bf
Merge pull request #4853 from hakonhagland/pybind2
...
Get cell volumes from Python
2023-10-24 13:56:58 +02:00
Bård Skaflestad
e2ad737848
Make Number of Initial Global Iterations Configurable
...
The NLDD solver would always take one global non-linear (Newton)
iteration before starting the local non-linear iterations. This
commit introduces a new command-line parameter,
--nldd-num-initial-newton-iter (NlddNumInitialNewtonIter)
which allows the user to configure this value at runtime. The
default value, 1, preserves the current behaviour.
2023-10-10 18:29:05 +02:00
Bård Skaflestad
0c7b0f5fcb
Chase API Change for UDQ Evaluation
...
In particular, pass a "segment matcher factory" into every function
that forms UDQ context objects.
2023-10-04 16:33:19 +02:00
Kai Bao
83bbe89342
LocalWellSolveControlSwitching default to be false
2023-09-29 10:55:19 +02:00
Stein Krogstad
035d216641
adding function iterateWellEqWithSwitching
...
when we do the local solve for well equations, control/status will be
updated during the iteration process, such that the converged well gets
correct control/status regarding to the current reservoir state.
various change in the other parts of the code were made to make the
function work as intended.
2023-09-29 10:51:04 +02:00
josh bowden
7f7f3b06b2
Chane to fix issue with command line argument template
...
integrating code modification suggested by Arne Morten Kvarving (https://github.com/jcbowden/opm-simulators/pull/1 )
2023-09-28 12:58:18 +02:00
josh bowden
8898db41d7
Reorganised headers, removing redundant ones;
...
Tidy up of whitespace.
2023-09-25 22:16:43 +02:00
josh bowden
c7c4bffa7c
Refactored the Damaris command line functionality so that commandline arguments are accessed where they are needed in the DamarisKeywords() method
2023-09-24 22:23:31 +02:00
josh bowden
bb38c57b1b
Update for support of Damaris mesh based in situ processing
...
Moved damaris command line parameter accessors to Main.cpp and fixed support for both Python and Paraview Python scripts, as they both cannot be present in the same simulation (seems to be an initialization conflict or double initialization)
2023-09-23 22:24:11 +02:00
josh bowden
8095eb0c48
Geometric mesh data added for in-situ visualisation
...
added access to DUNE mesh geometry and passing through data to Damaris;
Updated command line so users can specifiy Python or Paraview script names and other paramaters that control Damaris
- Simulation name
- Number of dedicated cores or dedicated nodes
- Shared memory region size
- switch to turn off HDF5 output.
- Damaris logging level
2023-09-22 23:23:29 +02:00
Markus Blatt
81c9594f5d
Include name of missing OPM restart file in error.
...
Otherwise it is hard to tell for the (newbie?) user what went wrong.
2023-09-14 16:10:42 +02:00
Bård Skaflestad
a2d43cd0f5
Implement Interior Cell Counts for Grid Views
...
This is mostly to prepare for implementing partitionCells() for
grid views instead of grids.
2023-09-12 12:37:10 +02:00
Håkon Hægland
ac927d997b
Added a get_dt() method
...
Added a get_dt() to the opm.simulators.BlackOilSimulator Python module.
This will return the size of the previous simulator time step.
2023-09-08 19:40:42 +02:00
Håkon Hægland
e2f62644ae
Get cell volumes from Python
...
Adds a new method get_cell_volumes() to the opm.simulators Python module
that returns a python list of the cell volumes in the black oil
simulator.
2023-09-08 09:39:24 +02:00
Atgeirr Flø Rasmussen
87b9dd3ec2
Merge pull request #4837 from bska/remove-unused-code
...
Remove Unused Functions
2023-09-06 09:09:54 +02:00
Bård Skaflestad
e6c2413d05
Remove Unused Functions
...
These functions became unused in commits 952ccf8338
and f027262ec4
,
but their definitions remained in place. We no longer need them.
2023-09-05 19:03:43 +02:00
Atgeirr Flø Rasmussen
8900962fd5
Merge pull request #4827 from jcbowden/damaris-fix-for-deadlock
...
Damaris fix for deadlock at end of simulation when run with Damaris
2023-09-05 14:28:32 +02:00
Atgeirr Flø Rasmussen
cede2b4add
Improving generality and output of hybrid approach.
2023-09-04 13:13:52 +02:00
Josh Bowden
6e4f3bd37e
added changes as discussed in PR 4827
2023-09-01 18:28:03 +02:00
Atgeirr Flø Rasmussen
efa50c3640
Check for multiple solvers before trying to use them.
2023-09-01 13:18:09 +02:00
Franz Georg Fuchs
6ee90b3f8f
Support for multiple linear solvers.
2023-09-01 13:18:06 +02:00
Atgeirr Flø Rasmussen
583fb902d2
Guards communication parts inside HAVE_MPI.
2023-09-01 11:19:16 +02:00
Atgeirr Flø Rasmussen
99fca58dca
Improvements from review.
2023-09-01 08:48:11 +02:00
Josh Bowden
84d3530fd9
fix for deadlock at end of simulation when run with Damaris and test for whether Damaris can be run as Damaris requires at least 2 MPI ranks (one for simulation and the other as to run Damaris i/o)
2023-08-31 15:51:34 +02:00
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
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