Commit Graph

10357 Commits

Author SHA1 Message Date
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
Kjetil Olsen Lye
1bd2edb003 Renamed types. 2023-05-30 10:30:55 +02:00
Kjetil Olsen Lye
ed2747db1c Added sanity check. 2023-05-30 10:28:29 +02:00
Kjetil Olsen Lye
a8dd329307 Typo in documentation. 2023-05-30 10:14:30 +02:00
Kjetil Olsen Lye
0eb60e5336 Added test of size for copyToHost. 2023-05-30 10:03:54 +02:00
Kjetil Olsen Lye
b4b1a7b77f Added TODO for perf, renamed to bvector. 2023-05-30 09:54:22 +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
7a77f28b71 Add Support for Initialising Constant Flux Aquifers from Restart
In particular, form constant flux aquifer objects from the restart
step's collection if available and properly initialise their total
produced volume.
2023-05-26 20:21:52 +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
Bård Skaflestad
14a63a4636 Synchronise Face-Area Fractions Between All Processes
We need a global view of face-area fractions if aquifer connections
happen to be shared between processes.  Add a new helper function,

    BlackoilAquiferModel::computeConnectionAreaFraction()

that performs a collective operation to compute the total face areas
and then defers to the local aquifer objects to compute their face
area fractions.

While here, also split the initialisation of analytic aquifers into
two parts, one for the face area and connection mappings, and one
for the connection depths.  Run the former as part of the object
constructor and the latter as part of 'initQuantities()'.  This
ensures that we can computeConnectionAreaFraction() for all analytic
aquifers before assigning solution quantities from the restart file.
2023-05-25 09:50:51 +02:00
Bård Skaflestad
5586ce63a0 Calculate Local Face Area Fraction for Aquifer's Connections
This is in preparation of reinitialising the total produced volume
from the constant flux aquifer from the restart file in the case
that the aquifer's connections are split across multiple MPI ranks.
2023-05-25 09:50:51 +02:00
Kai Bao
35621058c6
Merge pull request #4654 from totto82/solvent_foam
Add solvent + foam simulator
2023-05-24 22:50:20 +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
Arne Morten Kvarving
2630522d7f avoid unused variable warning with NDEBUG 2023-05-24 12:39:24 +02:00
Tor Harald Sandve
cf169167d0
Merge pull request #4591 from totto82/fix_rswrvw_well
Fixes related to rsw/rvw handling in standard well
2023-05-24 08:27:06 +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
86edaeae77 dont store history of inactive gpmaint rates 2023-05-23 11:02:22 +02:00
Markus Blatt
73d79b4010
Merge pull request #4603 from blattms/mark-nogap-as-supported
Mark PINCH option 2 NOGAP as fully supported.
2023-05-17 08:20:11 +02:00
Stein Krogstad
51604e5956 Move hydro p-loss assembly to end of function 2023-05-16 13:26:58 +02:00
Stein Krogstad
a3860e7d0c Updates as requested PR review 2023-05-16 12:58:19 +02:00
Stein Krogstad
0417f101bf Use average density for hydro p-drop 2023-05-16 12:58:19 +02:00
Stein Krogstad
8ee3493aed don't upwind densitiy 2023-05-16 12:58:19 +02:00
Stein Krogstad
e5ac9f9dec Inluding all derivatives for reversed flow 2023-05-16 12:58:19 +02:00
Tor Harald Sandve
f5b44ad26d
Merge pull request #4650 from totto82/addPrecEnergy
Add energy + precipitation of salt in brine-gas simulator
2023-05-16 12:17:35 +02:00
Kjetil Olsen Lye
70310160c0 Updated documentation to reflect limitations on int. 2023-05-16 10:01:39 +02:00
Kjetil Olsen Lye
b4aa427bbe Fixed documentation for vector_operations.hpp. 2023-05-16 09:56:21 +02:00
Arne Morten Kvarving
0406a033a2 introduce getMobility in WellInterface
we now share implementation between StandardWell and MultisegmentWell
2023-05-15 21:39:59 +02:00
Arne Morten Kvarving
e406d2f0a1 StandardWell::getMobility: use if constexpr 2023-05-15 21:38:39 +02:00
Arne Morten Kvarving
c0bc0abc73 StandardWell::getMobility: use Scalar relperms when possible 2023-05-15 21:38:39 +02:00
Arne Morten Kvarving
5126097d7b changed: unify MultisegmentWell::getMobility(Eval|Scalar) 2023-05-15 21:38:39 +02:00
Arne Morten Kvarving
35c56e4ce4 changed: unify StandardWell::getMobility(Eval|Scalar) 2023-05-15 21:38:37 +02:00
Paul
ce3ecd800e allow value NONE for item 7 of GCONPROD 2023-05-15 17:37:40 +02:00
Kjetil Olsen Lye
bc3cb8c1db Fixed typo in documentation. 2023-05-15 11:32:25 +02:00
Kjetil Olsen Lye
1a6720996a Switched from size_t to std::size_t in safe_conversion.hpp. 2023-05-15 11:23:33 +02:00
Arne Morten Kvarving
1b073185a1 fixed: copy the mobility values into the temporary Eval vector 2023-05-12 15:13:34 +02:00
Tor Harald Sandve
ee39117771 Add energy + precsalt simulator 2023-05-12 10:49:17 +02:00
Tor Harald Sandve
23e9bf599d Fixes related to rsw/rvw handling in standard well 2023-05-12 09:44:11 +02:00
Kjetil Olsen Lye
a703e9f7bd Removed exceptions from destructors. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
133a8897a0 Fixed indexing mistake in cuistl/vector_operations 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
046ef6cdc0 Replaced some macro size checks with function calls. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
e32b6ac0a8 Removed use of macro to check equal size. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
42b6a74ce5 Made CuSparseMatrix non-copyable. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
67f94ce8a3 Now handling sparsity pattern copying in a more elegant way. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
e14da5e053 Formatting fixes. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
cc8db08e83 Fixed unsafe type conversion. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
3f1cbbe1b8 Used safe conversion in CuVector 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
5fee5cece8 Inlined safe conversion functions. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
b6a67275c9 Rename to to_int and to_size_t 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
5373fb7a9c Added int to size_t conversion. Added some static_asserts. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
9418d5311d Added safe conversion from size_t to int. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
31e7ef04ba Added a CuSparse matrix wrapper. 2023-05-12 08:23:18 +02:00
Kjetil Olsen Lye
858d8b189b Added CuVector with tests. 2023-05-12 08:23:18 +02:00
Kai Bao
49a327f372 we should not request alq_value for injectors
through the function { return well_.wellEcl().alq_value(); }.

It will throw a runtime_error which is not properly caught.
2023-05-11 15:23:25 +02:00
Kjetil Olsen Lye
a6b0ffac70 Removed unused using statement. 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
4228daf670 Added cusparseWarnIfError and CUSPARSE_WARN_IF_ERROR. 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
81bc76384d Documentation fix. 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
863647f592 Added cudaWarnIfError/OPM_CUDA_WARN_IF_ERROR 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
cab0efeec5 Added cublasWarnIfError/CUBLAS_WARN_IF_ERROR. 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
e4c0ce08dc Fixed documentation and formatting. 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
b456fee209 Updated copyright headers. 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
062d692c83 Added handles for cusparse and cublas. 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
03a7fb6c9d Added error macros to check last CUDA error. 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
a204708f37 Refactored CUDA error macros to call inline functions. 2023-05-09 15:20:34 +02:00
Kjetil Olsen Lye
bf9dd4e1dd Added safe call macros for CUDA, CuBlas and CuSparse. 2023-05-09 15:20:34 +02:00
Arne Morten Kvarving
c18fb6a577 changed: store rates in an array in SingleWellState
introduce an enum for indexing into the array. this again
allows us to coalesce 4 parallel reductions into one.
2023-05-09 12:26:18 +02:00
Kai Bao
d30e1f7a2a adding comment to address reviewing comments for PR#4598 2023-05-08 13:55:30 +02:00
Kai Bao
926228401a moving function needRebalanceNetwork to BlackoilWellModelGeneric 2023-05-08 13:26:23 +02:00
Kai Bao
fa39f1f183 adding max_iter and relaxation_iter for updateWellControlsAndNetwork
to avoid getting stuck during the iteration.
2023-05-08 10:43:49 +02:00
Kai Bao
b9348ee435 try to honor the network balance tolerance
without considering the iteration number. Because of the different
implementaion from other simulators, it is difficult to honour
procedure-dependent parameters.
2023-05-08 10:43:49 +02:00
Kai Bao
6148e97771 we dampen the nodal pressure update for each iteration
to improve the network update convergence. The current network update is
somehow explicit.
2023-05-08 10:43:49 +02:00
Kai Bao
ee77fa122c updating the thp of the wells during the network update iteration 2023-05-08 10:43:49 +02:00
Kai Bao
bb7ed4d78e making sure to update the pressure when needing network balance 2023-05-08 10:43:49 +02:00
Kai Bao
5536b24a84 fixing the comilation from the reverted commit
the interface has changed.
2023-05-08 10:43:49 +02:00
Kai Bao
2d67d819e7 Revert "removing unused function solveEqAndUpdateWellState"
This reverts commit 7931e6e00a.
2023-05-08 10:43:49 +02:00
Kai Bao
8644801ac8 adding function balanceNetwork
not compiling yet due to the change in the master branch
2023-05-08 10:43:49 +02:00
Kai Bao
b3a6009b1b network pressure needs to be updated even without wells open
mostly to make the comparison plot against reference results easier for
the network nodal pressures.
2023-05-08 10:43:49 +02:00
Kai Bao
0f4da07aaf when a well is in a network node with nodal pressure
setting the dynamic thp limit with the the nodal pressure.
2023-05-08 10:43:49 +02:00
Arne Morten Kvarving
e4c15531a8
Merge pull request #4626 from akva2/simplify_wellconnection_pressures
Simplify WellconnectionPressures properties signatures
2023-05-08 10:22:44 +02:00
Bård Skaflestad
b4945a0a5e
Merge pull request #4615 from GitPaean/only_prediction_well_has_thp_constraint
only prediction wells can have THP constraint
2023-05-05 09:37:26 +02:00
Arne Morten Kvarving
59c9a139cc changed: simplify WellConnectionPressure calculation by passing a struct 2023-05-04 14:30:55 +02:00
Arne Morten Kvarving
fafca7b382 changed: introduce a struct StandardWellConnections::Properties
this holds the various properties for a connection
2023-05-04 14:30:33 +02:00
Arne Morten Kvarving
f06cc1f626 changed: simplify computePerfRate signatures
pass a PerforationRates ref instead of multiple references
to doubles
2023-05-04 13:33:45 +02:00
Arne Morten Kvarving
9bfe835652 changed: introduce a struct PerforationRates
this holds various rates for a perforation that used to be
kept as separate variables
2023-05-04 13:33:45 +02:00
Atgeirr Flø Rasmussen
61e5ce3d73
Merge pull request #4617 from GitPaean/updating_interval_avoid_stallment
updating the interval when doing bisectBracket()
2023-05-03 13:23:30 +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
Kai Bao
2b054ce2a2 updating the interval when doing bisectBracket()
to avoid getting stuck and iterate for no purpose. It might not affect the
result much, while from the code, it looks like it should be updated
iteratively.
2023-05-01 16:01:35 +02:00
Kai Bao
a2c6e674dc only prediction wells can have THP constraint 2023-04-27 14:00:49 +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
Markus Blatt
5a2b25ec31
Merge pull request #4609 from akva2/fix_wtest_for_newly_created_well
WellGroupHelpers: make sure we have a GuideRate value or potential for well
2023-04-27 09:17:14 +02:00
Arne Morten Kvarving
7f58ad69ac WellGroupHelpers: make sure we have a GuideRate value or potential for well
this is not the case when WTEST executes at the beginning
of (the first time step of) a report step if the well was created
at that report step. this led to an exception being thrown trying
to deref the potentials array
2023-04-26 15:55:56 +02:00
Atgeirr Flø Rasmussen
8ac8b207ca Minor adjustment avoids exception when used with FIELD group. 2023-04-26 11:51:57 +02:00
Atgeirr Flø Rasmussen
b90cf68d46
Merge pull request #4604 from atgeirr/strict-parsing-parameter
Strict parsing parameter
2023-04-25 15:19:44 +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
86259ff52e Fix: add missing parameter to fmt::format() call. 2023-04-25 14:49:28 +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
Markus Blatt
3d144ce4d7 Mark PINCH option 2 NOGAP as fully supported.
All the test cases that were provided to me are actually already
supported by current master.
2023-04-24 12:47:13 +02:00
Kai Bao
79eeeae16e addressing the reviewing comments for PR #4596 2023-04-20 15:47:31 +02:00
Kai Bao
1542f2c087 refactor the network update
moving the well controls and network update out of assembleImpl to avoid
call assmebleImpl in a recursive manner
2023-04-20 14:59:50 +02:00
Bård Skaflestad
30f7ed1ed9 Split CO2 Store Handling Out to Helper Functions
This is mostly to aid readability by avoiding nested conditionals.
While here, also remove redundant 'inline' and 'virtual' keywords.
2023-04-19 20:44:01 +02:00
Markus Blatt
20e2058333
Merge pull request #4578 from blattms/support-editnncr
Support EDITNNCR keyword
2023-04-19 11:34:04 +02:00
Tor Harald Sandve
ec4a927d1b
Merge pull request #4579 from hakonhagland/glwtest_it
Check all ALQ values when testing a gaslift well for reopening
2023-04-18 14:46:10 +02:00
Tor Harald Sandve
2a20ad8283 pick currect version of flow for gas-water-vapwat case 2023-04-17 15:25:59 +02:00
Torbjørn Skille
cce70db1a2 GCONPROD Item 7, only RATE is supported 2023-04-15 16:12:00 +02:00
Kai Bao
ceba5c468b
Merge pull request #4572 from GitPaean/tightenging_tolerance_for_zero_rate_wells
stricter tolerance for wells with zero rate target
2023-04-14 11:19:35 +02:00
Tor Harald Sandve
fcb6eeb0ea
Merge pull request #4575 from totto82/wgrupcon_no
Support WGRUPCON item 2 = no
2023-04-14 08:16:28 +02:00
Håkon Hægland
e241fccbca Only iterate wells activated for gaslift 2023-04-13 11:08:30 +02:00
Håkon Hægland
4ba5e3efad Iterate ALQ when testing gaslift well
When testing a gaslift well under THP control, if the
well does not converge with maximum alq, try to reduce alq
in increments until well equations converge.
2023-04-13 10:40:29 +02:00
Kai Bao
688d575802
Merge pull request #4584 from GitPaean/fixing_unopen_injector
checking Producer or Injector when comparing bhp against BHP constraint during well operability check
2023-04-13 09:27:46 +02:00
Markus Blatt
1ef30ec85e Mark keyword EDITNNCR as supported 2023-04-12 14:24:47 +02:00
Markus Blatt
8142788b58
Merge pull request #4406 from Tongdongq/rocsparse
Add rocsparseSolver
2023-04-12 12:07:58 +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
5309ba22f7
Merge pull request #4580 from GitPaean/fixing_co2store_water_gas
fixing running with CO2Store + water + gas + AquiferCarterTracy
2023-04-11 15:11:36 +02:00
Kai Bao
ed4aa75721 checking Producer or Injector when comparing bhp against BHP constraint
during well operability check.
2023-04-11 14:34:47 +02:00
Tong Dong Qiu
270dcd53fc Restore old HAVE_CUDA value 2023-04-11 14:30:20 +02:00
Tong Dong Qiu
bec51c4471 Prevent throwing in destructors 2023-04-06 13:14:19 +02:00
Tong Dong Qiu
f124792879 Detect ROCm version to suppress deprecated warning 2023-04-06 13:14:19 +02:00
Tong Dong Qiu
ed8f37ec82 Initialize HIP/rocsparse in constructor 2023-04-06 13:14:19 +02:00
Tong Dong Qiu
2c50951ddd Implement PR comments 2023-04-06 13:14:19 +02:00
Tong Dong Qiu
eaef4b8c85 Update CMakeLists for rocm 2023-04-06 13:14:19 +02:00
Tong Dong Qiu
91a3e238ce Add rocsparseSolver 2023-04-06 13:14:19 +02:00
Kai Bao
4b95123895 removing extra bracket to restore compilation 2023-04-03 14:15:16 +02:00
Markus Blatt
f9d2dccb02
Merge pull request #4564 from hnil/flexiblegmres
- added flexiblegmres
2023-04-03 13:14:42 +02:00
Kai Bao
e5efe796bf fixing running with CO2Store + water + gas + AquiferCarterTracy 2023-04-03 12:41:54 +02:00
Markus Blatt
734eb76910
Merge pull request #4573 from hakonhagland/glift_grad
Fix bug when recalculating gaslift gradient
2023-04-03 11:20:15 +02:00
Tor Harald Sandve
dbe8c3d294 Support WGRUPCON item 2 = no 2023-03-31 11:47:33 +02:00
Bård Skaflestad
c52ab4ccd5
Merge pull request #4347 from atgeirr/afr_well_assemble_separate
Implement functionality to add well source terms to the residual separately
2023-03-31 11:10:01 +02:00
hnil
1773ea8229 fixed comment 2023-03-31 11:03:57 +02:00
hnil
528921ee6f - added flexiblegmres 2023-03-31 11:01:49 +02:00
Kai Bao
fcb6e41490
Merge pull request #4574 from totto82/add_gas_water_energy
add gas + water + energy to flow
2023-03-31 10:44:41 +02:00
Håkon Hægland
973a883043 Some minor changes as requested in review. 2023-03-31 09:26:28 +02:00
Tor Harald Sandve
4dd0798e5b add gas + water + energy to flow 2023-03-31 08:47:19 +02:00
Håkon Hægland
c2916bc7d9 Fix bug when recalculating gaslift gradient
Fixes a bug in recalculateGradientAndUpdateData_() if gaslift stage2.
Also adds some more debugging output.
2023-03-30 17:44:21 +02:00
Kai Bao
7c06ec38a3 stricter tolerance for wells with zero rate target
for StandardWell only at this moment.
2023-03-30 15:49:27 +02:00
Bård Skaflestad
e9b372ff1c
Merge pull request #4563 from GitPaean/treating_zero_injection_rate_well_as_stoppped
for the wells under zero rate target control, the THP output will be zero
2023-03-30 13:03:36 +02:00
Bård Skaflestad
5a3deaf57b
Merge pull request #4571 from totto82/fixgl
Increase alq to its minimum value while checking that is does not violate its rate limits
2023-03-30 10:31:51 +02:00
Tor Harald Sandve
77ed90ceb8 Increase alq to its minimum value while checking that is does not violate its rate limits 2023-03-30 08:59:59 +02:00
Kai Bao
9304542dbe combining wellIsStopped and wellUnderZeroRateTaget
for better readability.
2023-03-29 14:40:50 +02:00
Kai Bao
b6eecf5c55 not updating the THP for zero rate controlled wells 2023-03-29 13:48:34 +02:00
Kai Bao
f4e0a996b9 wells under zero injection target are also treated as stopped well
when formulating the well control equations
2023-03-29 13:48:34 +02:00
Markus Blatt
b4b8e7aff1
Merge pull request #4558 from Tongdongq/move-cpu-decomposition
Only do CPU decomposition if needed, when using GPU
2023-03-29 12:54:38 +02:00
Bård Skaflestad
dcdb9413b4
Merge pull request #4565 from hnil/reduced_linearsolver_option
Reduced linearsolver option
2023-03-29 10:44:56 +02:00
Bård Skaflestad
a2fd7d0ae3
Merge pull request #4567 from akva2/janitoring
FlexibleSolver: use std::make_shared
2023-03-29 10:43:52 +02:00
Bård Skaflestad
9524348401
Merge pull request #4549 from totto82/resv_undersat
fix RESV for undersaturated wells
2023-03-29 10:35:33 +02:00
Arne Morten Kvarving
5f6339f6fd FlexibleSolver: use std::make_shared 2023-03-29 09:50:09 +02:00
hnil
2e4d5ee57b - Remove wrong output if already converged 2023-03-29 09:47:02 +02:00
hnil
445e4f10fe fixed spelling 2023-03-29 08:55:31 +02:00
Tor Harald Sandve
57c1e52019 fix error message for rs/rsw =1 2023-03-29 08:47:28 +02:00
hnil
6b4082a1fe better messages 2023-03-28 13:54:09 +02:00
Tor Harald Sandve
a73f4078ef add missing include 2023-03-28 12:45:39 +02:00
hnil
992edc1fec - added a reduced tolerance for linear for the nonlinear solver to accept the result 2023-03-28 11:43:00 +02:00
hnil
f0b5e6a670 - changed pointer to refernace for IQ for possibility of using rvalues 2023-03-28 09:37:00 +02:00
Tor Harald Sandve
a2ae7d5bed Fix resv for groups 2023-03-27 16:03:40 +02:00
Tor Harald Sandve
42527ac829 fix RESV for undersaturated wells 2023-03-27 16:03:40 +02:00
Kai Bao
7931e6e00a removing unused function solveEqAndUpdateWellState
from MultisegmentWell and WellInterface .
2023-03-27 13:26:00 +02:00
Kai Bao
2c5a4398c9 make sure zero production rates are obtained for the following wells
1. stopped production wells
2. production wells under zero rate control

We guarantee the objective through enforce zero values for the WQTotal
primary variable during the initialization and update process during the
Newton solution.
2023-03-27 13:24:08 +02:00
Tong Dong Qiu
0bf91691fe Only do CPU decomposition if needed, when using GPU 2023-03-27 11:43:26 +02:00
hnil
2769cc5c3d minimal change to not called cachedIntensive 2023-03-24 20:01:47 +01:00
hnil
aa40d2f0f3 -- prepared for possibliy of not using cached intentensive quantities 2023-03-24 19:57:31 +01:00
Kai Bao
c8d914caad using double for regularization_factor_wells_ 2023-03-23 16:47:03 +01:00
Bård Skaflestad
0ebcef62e2
Merge pull request #4542 from hnil/optimize_processdata
Optimisation of data processing for actionX and output
2023-03-22 23:13:43 +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
Bård Skaflestad
0a9d2a7099
Merge pull request #4543 from hnil/more-timings
added more timing macros
2023-03-22 10:51:28 +01:00
hnil
122a478341 added more timing macros 2023-03-21 22:44:14 +01:00
Atgeirr Flø Rasmussen
e25657943e
Merge pull request #4534 from akva2/disable_hdf5_compression_old_versions
changed: disable HDF5 compression with hdf5 <= 1.8
2023-03-21 09:49:19 +01:00
steink
c997b438dd assembleWellEq 2023-03-20 13:15:59 +01:00
Bård Skaflestad
8dfac0d8e6
Merge pull request #4524 from goncalvesmachadoc/temp
allow for TEMP
2023-03-16 16:37:09 +01:00
Arne Morten Kvarving
52008d5231 changed: disable HDF5 compression with hdf5 <= 1.8
seems to be broken (in particular 1.8.12 on rh7)
2023-03-16 08:54:39 +01:00
Markus Blatt
5c1d964478
Merge pull request #4512 from akva2/rateconverter_compile_unit
RateConverter: introduce a compile unit
2023-03-15 20:54:26 +01:00
goncalvesmachadoc
3eb684ae7d allow for TEMP 2023-03-13 14:18:48 +01:00
David Landa Marban
a19e70c59a fix to broken built with clang 2023-03-10 22:39:39 +01:00
Bård Skaflestad
1ac190e4a0
Merge pull request #4518 from atgeirr/fix-zero-rate-control-eq
Treat rate control with zero target same as stopped well.
2023-03-10 16:12:08 +01:00
Bård Skaflestad
6e8b8b2f6c
Merge pull request #4522 from blattms/removed-use-uninit-warnings
[cleanup] Fix that phaseUsage might be used uninitialzed in test.
2023-03-10 15:06:01 +01:00
Markus Blatt
9cabbede2c [cleanup] Fix that phaseUsage might be used uninitialzed in test.
We need to make sure that all pods are initialzed when using
the default constructor. Fixes
```
RateConverter.hpp:83:50: warning: ‘phaseUsage’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   83 |                 , attr_      (rmap_, Attributes())
      |                                                  ^
```
2023-03-10 14:06:46 +01:00
Bård Skaflestad
f25d204281 Tag Unused Parameter as Maybe_Unused
Noted by [at]akva2
2023-03-10 11:36:11 +01:00
Bård Skaflestad
7abfdc52e0 Refactor Construction of Analytic Aquifer Objects
In particular, split the 'static' aquifer object initialisation
of member function 'init()' into a new helper function

  initializeStaticAquifers()

This is in preparation of adding a similar function to handle
dynamic aquifer object initialisation from a restart file.  To that
end, also add a new member function

  createDynamicAquifers(episode_index)

containing the current implementation of beginEpisode().  Creating
the dynamic objects from a restart file then amounts to calling this
function with a different 'episode_index'.  As another aid to
maintainability, add a new templated member function

  createAnalyticAquiferPointer()

which forms 'unique_ptr<AquiferInterface>' objects for every known
type of analytic aquifer.  This, in turn, requires reordering the
parameters of the AquiferConstantFlux constructor to match those of
the existing Fetkovich and Carter-Tracy types.

Finally, split the calculation of the constant flux aquifer's total
flux rate out to a new helper function

  AquiferConstantFlux::totalFluxRate()
2023-03-09 18:04:55 +01:00
Atgeirr Flø Rasmussen
2964bd409e Use diagonal matrix block pointers for well source terms. 2023-03-08 16:41:36 +01:00
hnil
e705dc41c2 modification to to well assembly form well side to avoid asking for wells on all cells 2023-03-08 16:41:36 +01:00
Arne Morten Kvarving
3967eb001b RateConverter: prefer using 2023-03-08 15:40:18 +01:00
Arne Morten Kvarving
173e3900d4 RateConverter: move inferDissolvedVaporisedRatio to compile unit 2023-03-08 15:40:18 +01:00
Arne Morten Kvarving
8c233ffba2 RateConverter: move calcReservoirVoidageRates to compile unit 2023-03-08 15:40:18 +01:00
Arne Morten Kvarving
ae9ed506e8 RateConverter: move calcCoeff to compile unit 2023-03-08 15:40:18 +01:00
Arne Morten Kvarving
11602bbdda RateConverter: move calcInjCoeff to compile unit 2023-03-08 15:40:18 +01:00
Arne Morten Kvarving
7672e14890 RateConvert: introduce compile unit
move global rate reductions into it
2023-03-08 15:40:15 +01:00