Commit Graph

4263 Commits

Author SHA1 Message Date
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
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
Atgeirr Flø Rasmussen
60cdbb8cfd Treat rate control with zero target same as stopped well. 2023-03-08 15:32:55 +01:00
Arne Morten Kvarving
917af4e28e RateConverter: coalesce global reductions 2023-03-08 12:55:04 +01:00
Atgeirr Flø Rasmussen
fc06fc77c3
Merge pull request #4500 from GitPaean/unifying_interface_assemble_noiteration
make sure computeWellRatesWithBhpIterations honor bhp limit (can change) for StandardWell
2023-03-07 21:02:44 +01:00
Arne Morten Kvarving
7a90bd48b8 GasLiftSingleWell: avoid unused variable warning with NDEBUG 2023-03-07 11:22:01 +01:00
Arne Morten Kvarving
aeee2ad9d3 RateConverter: throw an exception, not a bare string 2023-03-06 13:08:33 +01:00
Atgeirr Flø Rasmussen
fb076a7acc
Merge pull request #4508 from akva2/simulatorreport_avoid_nan
SimulatorReport: protect against division by zero
2023-03-03 11:55:42 +01:00
Arne Morten Kvarving
0cb69ffaa8 SimulatorReport: protect against division by zero 2023-03-03 10:39:57 +01:00
Atgeirr Flø Rasmussen
c9ba0afea3 Silence warnings: struct/class, missing override. 2023-03-03 10:12:46 +01:00
Kai Bao
2152ac6465 make sure computeWellRatesWithBhpIterations honor bhp limit
for StandardWell
2023-03-02 23:53:56 +01:00
Bård Skaflestad
dcf2a1304b
Merge pull request #4499 from akva2/adaptivetimesteppingebos_more_compile_unit
AdaptiveTimeSteppingEbos: move more code to compile unit
2023-03-02 13:38:07 +01:00
Arne Morten Kvarving
c4e025190e AdaptiveTimeSteppingEbos: put consistentlyFailingWells in detail namespace
no reason for this to be a template
2023-03-02 12:37:13 +01:00
Arne Morten Kvarving
b232613623 AdaptiveTimeSteppingEbos: put logTimer in detail namespace 2023-03-02 12:37:13 +01:00
Arne Morten Kvarving
ebd53ee72d move StepReport into ConvergenceReport.hpp
there is no reason for this to be typetag dependent
2023-03-02 12:37:13 +01:00
Bård Skaflestad
00da723b59
Merge pull request #4497 from akva2/nonlinearsolverebos_compile_unit
NonlinearsolverEbos: add compile unit
2023-03-01 16:14:22 +01:00
Arne Morten Kvarving
aaaf00f2fd adjust to timing macro header split 2023-03-01 13:18:16 +01:00
Arne Morten Kvarving
cbaaca4f14 NonlinearSolverEbos: put stabilizeNonlinearUpdate in compile unit 2023-03-01 10:48:17 +01:00
Arne Morten Kvarving
4aeb980f4f changed: make NonlinearSolverEbos::RelaxType a namespace scoped enum class
name it NonlinearRelaxType
2023-03-01 10:46:51 +01:00
Arne Morten Kvarving
64c4694bab NonlinearSolverEbos: put detectOscillations in compile unit 2023-03-01 10:46:51 +01:00
Arne Morten Kvarving
c92195c96a changed: pass the version info as parameters in Banners.cpp/Main.cpp
we want to avoid these symbols in the library
2023-03-01 09:11:18 +01:00
Bård Skaflestad
6636b2f331
Merge pull request #4494 from akva2/flowmainebos_compile_unit
FlowMainEbos: add a compile unit
2023-02-28 20:13:30 +01:00
Arne Morten Kvarving
b238bba53b FlowMainEbos: move ExtraConvergenceOutput code to compile unit 2023-02-28 16:02:08 +01:00
Atgeirr Flø Rasmussen
b5678bf5cb
Merge pull request #4495 from atgeirr/add_timing_block
Add timing block
2023-02-28 15:00:17 +01:00
Arne Morten Kvarving
143139c6ee FlowMainEbos: move parallel file merge code to separate compile unit
avoid some headers in simulator objects
2023-02-28 14:05:51 +01:00
Arne Morten Kvarving
fe011bbd41 FlowMainEbos: prefer std::make_unique 2023-02-28 13:58:52 +01:00
Atgeirr Flø Rasmussen
7acc6feb18 Make names more consistent. 2023-02-28 13:58:02 +01:00
Arne Morten Kvarving
5f08897247 fixed: add missing HAVE_MPI ifs 2023-02-28 09:49:01 +01:00
Atgeirr Flø Rasmussen
e9d1bbc355
Merge pull request #4481 from akva2/hdf5_enable_compression
HDF5File: enable gzip compression
2023-02-28 08:13:51 +01:00
Atgeirr Flø Rasmussen
8efb30d2bb
Merge pull request #4482 from totto82/addGasWaterEnergy
Add gaswater energy simulator
2023-02-28 08:01:06 +01:00
Atgeirr Flø Rasmussen
3e62a6817f
Merge pull request #4483 from GitPaean/wrong_direction_flow_not_converged
not considering wells with wrong flow direction as converged
2023-02-28 07:55:07 +01:00
Arne Morten Kvarving
5fd5753ed7 fixed: mixed-up input and output paths for restart serialization 2023-02-27 12:17:00 +01:00
Kai Bao
460aa5027b not considering wells with wrong flow direction as converged
under THP constraint, well can get converged with wrong flow direction
(e.g. a producer is injecting), becasue we cut off the wrong flow
direction as zero rate in the VFP evaluation
2023-02-24 14:30:45 +01:00