Atgeirr Flø Rasmussen
609dfd6051
Only owned cells should be part of NLDD partitions.
2023-08-31 13:01:28 +02:00
Arne Morten Kvarving
3c525aefae
changed: put ecl time stepping parameters in separate struct
...
this to allow reuse in ebos simulators
2023-08-30 11:22:22 +02:00
Kai Bao
f7bd386402
adding the support for filtration_summary_keywords
2023-08-29 21:31:24 +02:00
Stein Krogstad
e7a0dbacf2
don't do rate-init for stopped/zero target
2023-08-29 14:52:09 +02:00
Håkon Hægland
a5899f6f2f
Added missing header file
2023-08-29 09:02:12 +02:00
Antonella Ritorto
5d9f8a88b4
LookUpCellCentroid used to search cell centroids in eclbasevanguard
2023-08-29 08:45:59 +02:00
Håkon Hægland
2f9b136bb1
Implement support for GECON keyword
...
Implement support for item 2 and 3 of the GECON keyword
2023-08-29 01:07:21 +02:00
Vegard Kippe
f5c31588cb
Quick fix..
2023-08-25 14:01:51 +02:00
Paul
d4743ed4a5
item 7 added to partially supported keywords
2023-08-23 16:24:35 +02:00
Paul
5780aa8d38
add regression test
2023-08-23 16:24:35 +02:00
Paul
dcba4d9496
Add GRUPNET to partially suppported keywords
2023-08-23 16:24:35 +02:00
Paul
893568fd64
removed GRUPNET from unsupported keyword list
2023-08-23 16:24:35 +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
Kai Bao
6d011131cd
UDQ for the injection concentration for WINJFCNC
2023-08-23 11:44:50 +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
Bård Skaflestad
ba6fc03fa3
Merge pull request #4797 from akva2/eclinterregflows_move
...
changed: move EclInterRegFlows to opm/simulators/flow
2023-08-15 13:53:19 +02:00
Bård Skaflestad
118acff2ed
Merge pull request #4796 from akva2/janitoring
...
Bda: mark some more parameters maybe_unused
2023-08-15 13:44:15 +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
7562b5b70f
ISTLSolverEbosBda: mark parameter maybe_unused
2023-08-15 12:18:41 +02:00
Arne Morten Kvarving
e0c664d162
BdaBridge: mark some more parameters maybe_unused
2023-08-15 12:18:41 +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
38e9b5a100
changed: move helpers for calculation pressure averages to separate compile unit
...
for reuse purposes
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
Bård Skaflestad
43acfb6142
Merge pull request #4791 from svenn-t/aquifer_h2store
...
Enable aquifers with H2STORE
2023-08-12 13:42:16 +02:00
Bård Skaflestad
e59a53820a
Bring WellContributions Declaration in Scope
...
This restores the build on machines which enable the BDA bridge,
but which do not have OpenCL installed.
2023-08-11 17:04:24 +02:00
Svenn Tveit
b84837fc61
Moved water phase check outside loop
2023-08-11 15:34:31 +02:00
Svenn Tveit
8b6a504874
Enable aquifers in H2STORE oil/gas version
2023-08-11 13:23:57 +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
hnil
63b9b01671
fixed includegards
2023-08-11 11:00:07 +02:00
hnil
68322c06e5
added forgotten GPU versions
2023-08-11 11:00:07 +02:00
hnil
d623695d2a
- moded all bda spesific tings to separete class
2023-08-11 11:00:07 +02:00
Atgeirr Flø Rasmussen
1a59c91c51
Silence release-mode warning.
2023-08-09 12:06:20 +02:00
Arne Morten Kvarving
c6f1aa0110
Merge pull request #4765 from hnil/change_poly_alugrid
...
removed use of hidden private defines for poly and alugrid
2023-08-09 11:15:02 +02:00
hnil
66ff026008
remove use of hidden private defines for poly and alugrid
...
- fixed polygrid
- renamed executables to include blackoil in name
2023-08-08 15:30:05 +02:00
Kai Bao
c46f60103e
adding perf_data comparison in equality operator for SingleWellState
2023-08-08 14:52:49 +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
Atgeirr Flø Rasmussen
840dd9de90
Merge pull request #4752 from hnil/linearsolver_timing
...
-- added more timing to get better coverage of cpr solver
2023-07-27 15:14:10 +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
Atgeirr Flø Rasmussen
7c9d57cc84
Add code path for the no-MPI case.
2023-07-25 13:20:16 +02:00
Atgeirr Flø Rasmussen
0d2d8dfe21
Merge pull request #4734 from atgeirr/add-linear-system-size-printout
...
Add output of linear system sizes to DBG file.
2023-07-25 10:51:29 +02:00
Atgeirr Flø Rasmussen
30a9e02998
Add output of linear system sizes to DBG file.
2023-07-25 09:43:51 +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
hnil
c065d34d0e
-- added more timing to get better coverage of amg solver
...
-- added includes needed
2023-07-24 12:28:08 +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
Bård Skaflestad
ac6b9b2f34
Merge pull request #4748 from plgbrts/gconprod
...
Enable items, 11, 12 and 13 of GCONPROD
2023-07-14 21:30:14 +02:00
Paul
ae553787ba
Use struct for collecting group limit actions
2023-07-14 11:20:03 +02:00
Paul
1796b3343b
improved messages text
2023-07-13 13:15:54 +02:00
Paul
7302c37b78
Enable items, 11, 12 and 13 of GCONPROD
2023-07-12 20:44:10 +02:00
Bård Skaflestad
8c9682ab7a
Split Well and Group Initialization Out to Helper
...
In preparation of adding support for opening/creating wells or
groups in the middle of a report step. This is needed if an
ACTIONX block runs something like WELOPEN or WELSPECS/COMPDAT.
2023-07-12 17:23:14 +02:00
Bård Skaflestad
e965f6f27f
Prune Unused Well State Parameter
...
The WellState parameter in setCmodeGroup() became unused when we
split the GroupState out of the WellState in commit e1d117c59f
.
2023-07-12 17:23:14 +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
Bård Skaflestad
7b880727b5
Declare Support for WPAVE/WBPn
...
We emit a warning if the model uses connection flag 'ALL', but
continue the run. This behaviour is still being debated and we
may decide to halt the run in this situation.
2023-07-11 11:29:08 +02:00
Bård Skaflestad
7f89276fe8
Hook New WBPn Calculation Up to Well Model
...
This commit activates the support for calculating WBPn summary
result values per well in parallel. To affect the calculation we
add two new data members in BlackoilWellModelGeneric:
- conn_idx_map_:
Maps well's connection index (0..getConnections().size() - 1) to
connections on current rank. Its local() connections are
negative 1 (-1) if the connection is not on current rank, and a
non-negative value otherwise. The global() function maps well
connections on current rank to global connection ID for each
well. Effectively the reverse of local(). Finally, the open()
function maps well connections on current rank to open/flowing
connections on current rank. Negative 1 if connection is not
flowing.
- wbpCalculationService:
Parallel collection of WBPn calculation objects that knows how
to exchange source and result information between all ranks in a
communicator. Also handles distributed wells.
We furthermore need a way to compute connection-level fluid mixture
density values. For the standard well class we add a way to access
the StandardWellConnection's 'perf_densities_' values. However,
since these are defined for open/flowing connections only, this
means we're not able to fully meet the requirements of the
WELL/ALL
WPAVE depth correction procedure for standard wells. The
multi-segmented well type, on the other hand, uses the fluid mixture
density in the associated well segment and is therefore well defined
for ALL connections. OPEN well connections are supported for both
well types.
2023-07-10 13:42:46 +02:00
Bård Skaflestad
ff9e6ca18a
Merge pull request #4745 from akva2/filtercake_separate_class
...
FilterCake: put code in separate class
2023-07-07 16:51:23 +02:00
Arne Morten Kvarving
60b92d02eb
WellFilterCake: make stateful
2023-07-07 16:08:42 +02:00
Arne Morten Kvarving
dcf8a444fd
changed: put calculation of filter cake multiplier in WellFilterCake
2023-07-07 16:08:20 +02:00
Arne Morten Kvarving
aaeedf4091
put updating of FilterCake multiplier in separate method
2023-07-07 16:08:20 +02:00
Arne Morten Kvarving
1e7ca08702
changed: put handling of filtration particle volume in separate class
2023-07-07 16:08:17 +02:00
Bård Skaflestad
95d715b807
Add Parallel Calculation Support for WBPn/WPAVE
...
This commit adds a parallel calculation object derived from the serial
PAvgCalculator class. This parallel version is aware of MPI
communicators and knows how to aggregate contributions from wells that
might be distributed across ranks.
We also add a wrapper class, ParallelWBPCalculation, which knows how to
exchange information from PAvgCalculatorCollection objects on different
ranks and, especially, how to properly prune inactive cells/connections.
2023-07-07 15:01:05 +02:00
Stein Krogstad
b1c11f6d88
Move function to WellInterfaceGeneric
2023-07-07 13:13:43 +02:00
Stein Krogstad
252d08f1bd
No need to loop over phases here
2023-07-07 13:13:43 +02:00
Stein Krogstad
2f8d210896
Also do explicit fallback for double-interp
2023-07-07 13:13:43 +02:00
Stein Krogstad
2dcebd4bdd
Rephrase explicit to prev(uous)
2023-07-07 13:13:43 +02:00
Stein Krogstad
ab98e477c4
Use explicit rates as fallback for small FLO
2023-07-07 13:13:42 +02:00
Stein Krogstad
5212d20a96
Add explicit rates to well state
2023-07-07 13:12:34 +02:00
Bård Skaflestad
a560b06dce
Merge pull request #4346 from GitPaean/support_cake_filtration
...
A simple cake model to simulate formation damage due to suspended solids in injection water
2023-07-07 10:23:30 +02:00
Kai Bao
e264042c62
refining the function updateInjFCMult
...
for code improvements.
2023-07-07 09:32:03 +02:00
Kai Bao
22269c92c3
adding regression tests for filtration cake model
2023-07-06 23:38:53 +02:00
Kai Bao
1981a3bf4d
switching to scale the mobility instead of the well index
...
mostly to make the calculation of productivity easier.
2023-07-06 15:58:30 +02:00
Arne Morten Kvarving
1b905f884c
Merge pull request #4743 from akva2/blackoilmodelebos_nldd_separate
...
BlackoilModelEbos: separate out NLDD code to separate class
2023-07-05 14:23:29 +02:00
Arne Morten Kvarving
8e7de83218
BlackoilModelEbos: put Nldd solver in separate class
2023-07-05 13:40:13 +02:00
Kai Bao
cb74d26e85
WIP in storing the filtration_particle_volume in BlackoilWellModelGeneric
...
instead of PerfData to handle the situation that well can be SHUT and
OPEN again.
2023-07-05 13:25:03 +02:00
Kai Bao
274c431492
tracking filtration particle volume instead of water injection volume
...
for filter cake calculation. The main reason is that the injection
concentration may vary during the simulation, which makes the tracking
of water injection volume is not very helpful when used for filter cake
calculation.
2023-07-05 13:25:03 +02:00
Kai Bao
eb08e2e863
cleaning up implementation related to filter cake
2023-07-05 13:25:03 +02:00
Kai Bao
7e5f1a1642
slightly different way to calculate the skin factor
...
for the radial model of the filter cake.
not tested yet.
2023-07-05 13:25:03 +02:00
Kai Bao
4cb3574e0f
incoporate keyword WINJCLN
...
still in draft state.
2023-07-05 13:25:03 +02:00
Kai Bao
43196800b6
a draft version for for RADIAL model for WINJDAM
2023-07-05 13:25:03 +02:00
Kai Bao
aa5062683d
a draft version for the linear geomery WINJDAM
2023-07-05 13:25:03 +02:00
Kai Bao
5e4cb8aeed
WIP in using the filter cake to generate the skin factor
2023-07-05 13:25:03 +02:00
Kai Bao
49774186ab
calculating the accumulative water injection volume
...
for each connection
2023-07-05 13:25:03 +02:00
Bård Skaflestad
77fe28979e
Calculate Segment Phase and Mixture Densities for Summary Output
...
This commit adds logic and backing storage in the SegmentState to
provide the segment level summary vectors
- SDENx -- Phase density of phase 'x' (O, G, W)
- SDENM -- Mixture density without flowing fraction exponents
- SMDEN -- Mixture density with flowing fraction exponents
We defer the calculation of SDENM and, especially, SMDEN, to the
MultisegmentWellSegments class since this class maintains the
current flowing fractions.
2023-07-05 11:05:26 +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
Bård Skaflestad
8139b3f679
Merge pull request #4742 from akva2/janitoring
...
ISTLSolverEbos: add missing include
2023-07-04 16:23:07 +02:00
Bård Skaflestad
9ced9b9931
Merge pull request #4740 from akva2/isnumerical_aquifer_cell_separate_struct
...
isNumericalAquiferCell: put in separate struct for easier reuse
2023-07-04 15:37:23 +02:00
Arne Morten Kvarving
db41bfb55c
ISTLSolverEbos: add missing include
2023-07-04 15:25:47 +02:00
Arne Morten Kvarving
4d35ec26de
isNumericalAquiferCell: put in separate struct for easier reuse
2023-07-04 14:56:10 +02:00
Alf Birger Rustad
93a0bb0de3
improve message when shutting well due to convergence issues
2023-07-04 14:15:53 +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
6617607378
Merge pull request #4735 from blattms/improve-no-active-cells-error
...
Improve error message for input grid without any active cells.
2023-06-30 18:02:16 +02:00
Markus Blatt
ff6a54ce7c
Improve error message for input grid without any active cells.
...
We now give a different (more explanatory) error if the input grid has
no active cells at all. Often this points to a user error and having a
more precise error message might help here.
2023-06-30 17:32:58 +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
c746986dc7
ComponentName: add compile unit
2023-06-30 11:51:08 +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
Atgeirr Flø Rasmussen
363163b156
Silence unused capture warning.
2023-06-28 16:21:05 +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
Bård Skaflestad
82a2d284fb
Merge pull request #4686 from GitPaean/support_winjmult_rebase
...
Support WINJMULT
2023-06-27 15:40:06 +02:00
Bård Skaflestad
37fe56451b
Merge pull request #4719 from akva2/connection_rate_to_connections
...
Move connection rate helpers to StandardWellConnections
2023-06-27 15:19:57 +02:00
Kai Bao
f78f8e45f7
addressing the review comments
2023-06-27 14:46:11 +02:00
Arne Morten Kvarving
fffb3d9f0e
suppress unused lambda capture warnings with clang
2023-06-27 14:35:35 +02:00
Arne Morten Kvarving
adfe80cba0
avoid dead stores
2023-06-27 13:40:54 +02:00
Arne Morten Kvarving
62a2ee1713
StandardWell: move connectionRatezFraction to Connections class
2023-06-27 13:23:21 +02:00
Arne Morten Kvarving
56014ccff9
StandardWell: move connectionRatePolymer to Connections class
2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
bf5108d09f
StandardWell: move connectionRatesMICP to Connections class
2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
2f6623993a
StandardWell: move connectionRateFoam to Connections class
2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
73ece47d97
StandardWell: move connectionRateBrine to Connections class
2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
41a38cc9d6
WellInterfaceGeneric: add accessor for well_efficiency_factor
2023-06-27 13:22:08 +02:00
Arne Morten Kvarving
d1a2d27acb
changed: move Eval and restrictEval to WellInterfaceIndices
2023-06-27 13:22:08 +02:00
Kai Bao
cacec2739c
moving the inj_multiplier to BlackoilWellModelGeneric
...
to handle the situation that a well can be `SHUT` in the Schedule.
If stored in PerfData, when a well is `SHUT`, the inforamtion related to
WINJMULT will be discarded.
Before we want to change how the `PerfData` works, storing
`inj_multiplier` in BlackoilWellModelGeneric is the viable approach.
2023-06-27 12:49:25 +02:00
Kai Bao
b50c404247
adjusting the implementation of WINJMULT support
...
addn relaxed the absolute tolearnce of the parallel running test for
WINJMUT_MSW
2023-06-27 12:49:25 +02:00
Kai Bao
b1fad4bb10
store the inj_multiper in PerfData in WellState
2023-06-27 12:49:25 +02:00
Kai Bao
cc9ee9c059
support WINJMULT
2023-06-27 12:49:25 +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
Arne Morten Kvarving
9f681e8193
put formating of invalid d-value error in helper function
2023-06-23 10:49:19 +02:00
Arne Morten Kvarving
bbdfa35a62
changed: put calculation of injection gas-water perf rates in separate method
2023-06-23 10:45:10 +02:00
Arne Morten Kvarving
79c4797cd5
changed: put calculation of injection gas-oil perf rates in separate method
2023-06-23 10:33:07 +02:00
Arne Morten Kvarving
e0003eb6d6
changed: put calculation of gas-oil volume ratio in separate method
2023-06-23 09:40:09 +02:00
Arne Morten Kvarving
fdfd181629
changed: put calculation of vaporized and dissolved water volume ratio in separate method
2023-06-23 09:40:07 +02:00
Arne Morten Kvarving
516320699e
changed: put calculation of production gas-water perf rates in separate method
2023-06-23 09:35:02 +02:00
Arne Morten Kvarving
21aa783d88
changed: put calculation of production gas-oil perf rates in separate method
2023-06-23 09:29:49 +02:00
Arne Morten Kvarving
e7bb51740e
cosmetics
2023-06-23 08:47:11 +02:00
Arne Morten Kvarving
a994394dca
changed: use {fmt} in connectionRateEnergy
2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
9574e40ac4
changed: put calculation of energy connection rate in separate method
2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
b3fd64d915
changed: put calculation of polymer connection rate in separate method
2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
4041644171
changed: put calculation of foam connection rate in separate method
2023-06-22 14:40:45 +02:00
Arne Morten Kvarving
c239cbd14f
changed: put calculation of zFraction connection rate in separate method
2023-06-22 14:35:41 +02:00
Arne Morten Kvarving
b1cafa25ca
changed: put calculation of micp connection rates in separate method
2023-06-22 14:35:41 +02:00
Arne Morten Kvarving
8b38943485
changed: put calculation of brine connection rate in separate method
2023-06-22 14:35:40 +02:00
Arne Morten Kvarving
768a4903a3
reorganize (Std|MS)Well::computeWellPotentials
...
put shared parts in WellInterfaceGeneric::computeWellPotentials and
WellInterfaceGeneric::checkNegativeWellPotentials
2023-06-22 11:28:59 +02:00
Arne Morten Kvarving
7b33cc6d62
move computeConnLevel(Inj|Prod)Ind to WellInterface
...
now code is shared between STW and MSW
2023-06-22 09:58:58 +02:00
Arne Morten Kvarving
c234d4faa5
StandardWell: use scalar mobilities in computeConnLevel(Inj|Prod)Ind
...
unifies code with MultisegmentWell
2023-06-22 09:56:48 +02:00
Bård Skaflestad
b5517c8600
Merge pull request #4652 from akva2/update_ws_thp_prod_shared
...
move updateWellStateWithTHPTargetProd to WellInterface
2023-06-22 09:54:35 +02:00
Bård Skaflestad
3219b9d36e
Merge pull request #4631 from akva2/unify_perf_rate
...
changed: unify computePerfRate(Eval|Scalar)
2023-06-22 09:35:36 +02:00
Arne Morten Kvarving
01c4aa1927
move updateWellStateWithTHPTargetProd to WellInterface
...
to share implementation between STW and MSW
2023-06-22 09:10:38 +02:00
Arne Morten Kvarving
b55ca83917
changed: unify MultisegmentdWell::computePerfRate(Eval|Scalar)
2023-06-22 08:46:06 +02:00
Arne Morten Kvarving
58bed1e30a
changed: unify StandardWell::computePerfRate(Eval|Scalar)
2023-06-22 08:46:06 +02:00
Arne Morten Kvarving
e7738e70dc
BlackoilWellModel: move numLocalNonshutWells to generic class
2023-06-22 08:27:05 +02:00
Arne Morten Kvarving
aaa1006e2b
BlackoilWellModel: move numLocalWellsEnd to generic class
2023-06-22 08:26:01 +02:00
Arne Morten Kvarving
dd9a2835fe
BlackoilWellModel: move getMaxWellConnections to generic class
2023-06-22 08:26:01 +02:00
Arne Morten Kvarving
7ab8d94215
BlackoilWellModel: move assignWellTracerRates to generic class
2023-06-22 08:26:00 +02:00
Bård Skaflestad
77adc6ea3b
Add Container for Dynamic WBPn Source Values
...
This commit adds a new container class,
ParallelPAvgDynamicSourceData
which inherits from PAvgDynamicSourceData and provides a parallel
view of source contributions. Member function
collectLocalSources
will call the user-provided source term evaluation function for each
source location in its purview--typically those locations owned by
the current MPI rank. Those values will be distributed to other MPI
ranks through member function synchroniseSources which will fill the
base class' 'src_' data member, and become available to clients
through read-only item spans.
2023-06-21 12:06:49 +02:00
Bård Skaflestad
6464f5ee4e
Merge pull request #4716 from akva2/janitoring
...
Some janitoring
2023-06-21 09:46:57 +02:00
Arne Morten Kvarving
3c566a9e4e
avoid dead store
2023-06-21 08:59:26 +02:00
Arne Morten Kvarving
c8924d67ca
PreconditionerAdapter: use override
2023-06-21 08:59:03 +02:00
Arne Morten Kvarving
2327768db6
anonymize unused parameter
2023-06-21 08:55:11 +02:00
Arne Morten Kvarving
f88bf57388
use temporary helper variable
2023-06-21 08:54:53 +02:00
Kai Bao
5f344eef26
avoid dividing by zero in updateWellStateRates()
2023-06-20 23:14:50 +02:00
Arne Morten Kvarving
90821b5a45
add some timing blocks
2023-06-19 11:55:34 +02:00
Bård Skaflestad
59e0d9904e
Merge pull request #4707 from svenn-t/ppcwmax
...
Equilibration with PPCWMAX
2023-06-16 15:15:33 +02:00
Vegard Kippe
d6d4b94b25
Parameterized iteration limits in network solver
2023-06-16 12:15:06 +02:00
Bård Skaflestad
a2d4153830
Merge pull request #4711 from atgeirr/well-additions-for-local-solves
...
Well additions for local solves.
2023-06-15 18:15:43 +02:00
Atgeirr Flø Rasmussen
654df6fd59
Well additions for local solves.
...
Also, remove uneeded function updatePerforationIntensiveQuantities().
2023-06-15 16:49:12 +02:00
Ove Sævareid
9dbadfdaae
Some support for WAG hysteresis.
2023-06-15 12:03:39 +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
Svenn Tveit
745d8b5a97
Accommodate for PPCWMAX in SWATINIT equilibration
2023-06-14 08:35:14 +02:00
Atgeirr Flø Rasmussen
d46d23befd
Silence shadowing warning.
2023-06-13 20:54:06 +02:00
Atgeirr Flø Rasmussen
bc9cfc8cd5
Add methods for getting and setting primary variables.
...
These can be used to manage state in the well models, and will
be used in the NLDD solver option. Also added the setupDomains()
method, as the getters and setters are working on a domain basis.
2023-06-13 15:31:30 +02:00
Atgeirr Flø Rasmussen
a2b96eaa8f
Clean up linear solver parameters and ISTLSolverEbos.
2023-06-11 11:51:59 +02:00
Atgeirr Flø Rasmussen
7f96922c3c
Ensure UMFPACK works with FlexibleSolver.
...
Every apply() call for UMFPACK must (for now) recreate the solver.
2023-06-09 15:37:31 +02:00
Tor Harald Sandve
b1ffc68853
Merge pull request #4658 from plgbrts/well-control
...
allow value NONE for item 7 of GCONPROD
2023-06-09 10:51:15 +02:00
Bård Skaflestad
665be4e435
Merge pull request #4699 from atgeirr/nldd-utilities
...
Add utilities that will be needed for NLDD solvers.
2023-06-09 10:35:48 +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
Kai Bao
62f5040aea
addressing reviewing comments for PR #4682
...
no functionality change.
2023-06-08 12:32:55 +02:00
Kai Bao
1d7b33aa55
fixing the perf rates initialization with zero total_mobility
2023-06-08 11:41:17 +02:00
Atgeirr Flø Rasmussen
39825391b0
Merge pull request #4687 from plgbrts/resv-fix
...
correct reservoir rate constraint calculation
2023-06-06 13:21:58 +02:00
Tor Harald Sandve
0702b7d3e5
stop using saturated b-factors for case with zero rates
2023-06-06 09:51:19 +02:00
Paul
83c23b123a
correct wrong flag for reservoir rate constraint calculation
2023-06-05 11:49:20 +02:00
Tor Harald Sandve
b99fbe0a97
Merge pull request #4620 from hakonhagland/wvfpdp
...
Add support for WVFPDP
2023-06-05 09:14:10 +02:00
Kai Bao
5d950eea46
fixing the fraction calculation when initializing perf rates
2023-06-02 23:26:20 +02:00
Håkon Hægland
7d68261d0b
Removed unused variable
...
Removed an unused variable and fixed a bug that caused a warning.
2023-06-02 09:25:34 +02:00
Håkon Hægland
8843e8af66
Find thp iteratively
2023-06-02 09:25:34 +02:00
Håkon Hægland
79af105de5
Rebased on master
2023-06-02 09:25:34 +02:00
Håkon Hægland
64c041d08f
Account for pressure loss also in thp
2023-06-02 09:25:34 +02:00
Håkon Hægland
54c7af85d4
Use new name from opm-common
2023-06-02 09:25:34 +02:00
Håkon Hægland
7feced0f52
Add missing include file
2023-06-02 09:25:34 +02:00
Håkon Hægland
69a0d1e20e
Add support for WVFPDP
2023-06-02 09:25:34 +02:00
Kjetil Olsen Lye
c478e46c8d
Setting CUDA device for MPI runs.
2023-05-31 21:47:46 +02:00
Kjetil Olsen Lye
e35318b6bb
Removed unused block_size
2023-05-31 21:36:15 +02:00
Kjetil Olsen Lye
ea86e45fef
SolverAdapter now takes a reference to scalar product.
2023-05-31 16:39:45 +02:00
Kjetil Olsen Lye
042172588d
Added CuSeqILU0 as a parallel preconditioner as well.
2023-05-31 16:28:51 +02:00
Kjetil Olsen Lye
411bf6b0ca
Added missing file
2023-05-31 15:52:50 +02:00
Kjetil Olsen Lye
ceb15e22e3
Expose CuISTL solver in FlexibleSolver.
2023-05-31 15:03:31 +02:00
Kjetil Olsen Lye
0269f7215c
Added conversion preconditioner.
2023-05-31 14:55:48 +02:00
Atgeirr Flø Rasmussen
0923698667
Merge pull request #4635 from kjetilly/cuistl_preconditioners
...
Path to multigpu: Cuistl preconditioners
2023-05-31 14:43:49 +02:00
Kjetil Olsen Lye
90c9eedc79
Fixed typo in error message.
2023-05-31 14:03:59 +02:00
Kjetil Olsen Lye
dfb3ccb72b
Typo in variable name.
2023-05-31 13:14:37 +02:00
Kjetil Olsen Lye
697c49a08b
Documentation fixes.
2023-05-31 13:13:48 +02:00
Kjetil Olsen Lye
e8bc314e04
Documentation update.
2023-05-31 13:11:39 +02:00
Arne Morten Kvarving
f50c9a70ed
fixed: forward struct as struct
2023-05-31 09:35:16 +02:00
Arne Morten Kvarving
127ddd44a2
supress unused capture warning with clang
...
a bug in clang causes it to emit unused lambda captures
here due to the if constexpr usage. use standard (void)
trick to suppress it
2023-05-31 09:35:16 +02:00
Kjetil Olsen Lye
54598a44d5
Removed commented code line.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
bb9c51a6cc
Cleaned up fiz_zero_diagonal.hpp and added documentation.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
9c28b485ef
Added some missing header files.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
dea49a5406
Added CUILU0 to the PreconditionerFactory.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
dfc5331696
Marked constructor as explicit.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
84305a7a8d
Added conversion preconditioner.
2023-05-30 11:50:02 +02:00
Kjetil Olsen Lye
b30e6d79d5
Added CuSeqILU0 with the preconditioner adapter.
2023-05-30 11:49:58 +02:00
Atgeirr Flø Rasmussen
ed91f7528b
Merge pull request #4664 from totto82/fix_gpmaint
...
dont store history of inactive gpmaint rates
2023-05-30 11:38:27 +02:00
Bård Skaflestad
3549d85d83
Merge pull request #4568 from totto82/2psolvent
...
Add gaswater solvent
2023-05-30 11:36:16 +02:00
Atgeirr Flø Rasmussen
e5672ee816
Merge pull request #4634 from kjetilly/cuistl_vector_matrix
...
Path to multigpu: Cuistl vector and matrix classes
2023-05-30 11:35:15 +02:00