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
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