Commit Graph

4296 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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