Arne Morten Kvarving
35d9ab77bb
replace std::max_element with std::ranges::max_element where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-24 07:59:48 +01:00
Bård Skaflestad
0484d42517
Merge pull request #6863 from akva2/use_ranges_min_element
...
replace std::min_element with std::ranges::min_element where appropriate
2026-02-23 19:01:13 +01:00
Bård Skaflestad
21b3ba2a61
Merge pull request #6862 from akva2/use_ranges_find_if
...
replace std::find_if with std::ranges::find_if where appropriate
2026-02-23 17:27:26 +01:00
Bård Skaflestad
b4dcade447
Merge pull request #6861 from akva2/use_ranges_find
...
replace std::find with std::ranges::find where appropriate
2026-02-23 16:25:14 +01:00
Bård Skaflestad
68703f892e
Merge pull request #6859 from akva2/use_ranges_any_of
...
replace std::any_of with std::ranges::any_of where appropriate
2026-02-23 15:30:01 +01:00
Arne Morten Kvarving
b5a6eac9b2
replace std::min_element with std::ranges::min_element where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-23 15:05:37 +01:00
Bård Skaflestad
408e079d8b
Merge pull request #6858 from akva2/use_ranges_count_if
...
replace std::count_if with std::ranges::count_if where appropriate
2026-02-23 14:35:15 +01:00
Arne Morten Kvarving
277e53fe2c
replace std::find_if with std::ranges::find_if where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-23 14:32:52 +01:00
Arne Morten Kvarving
e030a590a9
replace std::find with std::ranges::find where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-23 13:18:29 +01:00
Bård Skaflestad
3251a2c8b9
Merge pull request #6857 from akva2/use_ranges_count
...
replace std::count with std::ranges::count where appropriate
2026-02-23 12:47:18 +01:00
Bård Skaflestad
c80a5575ee
Merge pull request #6856 from akva2/use_ranges_fill
...
replace std::fill with std::ranges::fill where appropriate
2026-02-23 12:27:53 +01:00
Bård Skaflestad
768b4d369c
Merge pull request #6855 from akva2/use_ranges_copy_if
...
replace std::copy_if with std::ranges::copy_if where appropriate
2026-02-23 11:56:42 +01:00
Arne Morten Kvarving
167105883d
replace std::any_of with std::ranges::any_of where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-23 11:37:33 +01:00
Arne Morten Kvarving
7f848ed396
replace std::count_if with std::ranges::count_if where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-23 10:56:37 +01:00
Arne Morten Kvarving
5aec081c62
replace std::count with std::ranges::count where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-23 10:32:56 +01:00
Arne Morten Kvarving
5e13b84f9c
replace std::fill with std::fill_n where appropriate
...
more expressive
2026-02-23 10:23:45 +01:00
Arne Morten Kvarving
f00ab30268
replace std::fill with std::ranges::fill where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-23 10:23:45 +01:00
Arne Morten Kvarving
4aa5fe76ee
replace std::copy_if with std::ranges::copy_if where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-23 10:12:13 +01:00
Arne Morten Kvarving
ee00a789be
replace std::copy with std::copy_n where appropriate
...
more expressive
2026-02-23 08:41:16 +01:00
Arne Morten Kvarving
9d30a6d502
replace std::copy with std::ranges::copy where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-23 08:20:59 +01:00
Arne Morten Kvarving
d18117fbe6
replace std::for_each with std::ranges::for_each where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-20 15:41:07 +01:00
Arne Morten Kvarving
9ff0392e6b
replace std::sort with std::ranges::sort where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-20 14:21:53 +01:00
Tor Harald Sandve
f29e84d06b
Merge pull request #6837 from hakonhagland/refact_wgc
...
Move getAutoChokeGroupProductionTargetRate() to GroupStateHelper
2026-02-20 14:18:24 +01:00
Arne Morten Kvarving
670743f786
replace std::transform with std::ranges::transform where appropriate
...
the c++-20 constrained algorithm is safer and code is more readable
2026-02-20 13:28:11 +01:00
Jakob Torben
40168ec82e
Add missing OPM_GPU_SAFE_CALL for cudaMemset
2026-02-20 10:38:51 +01:00
Håkon Hægland
7abd6f9b88
Move autochoke target rate to GroupStateHelper
...
Move getAutoChokeGroupProductionTargetRate() from
WellGroupControls (static method) to GroupStateHelper
(member method). The method has no well dependency and
manually reimplements chain iteration already available
as applyReductionsAndFractions_().
The moved implementation delegates to
applyReductionsAndFractions_() with do_addback=false
and the actual getLocalReductionLevel_() value, replacing
the manual reduction loop.
Make getLocalReductionLevel_() private again (reverting
the visibility change from the previous commit), since
its only external caller was the now-removed static
method in WellGroupControls.
Remove unused FractionCalculator.hpp include from
WellGroupControls.cpp and WellGroupControls.hpp include
from BlackoilWellModelNetwork_impl.hpp and the test file.
2026-02-19 20:17:33 +01:00
Tor Harald Sandve
fa509b2563
Merge pull request #6835 from hakonhagland/test_autochoke_gtgt
...
Add tests and fix autochoke group target rate
2026-02-19 16:01:01 +01:00
David Landa Marban
7e8fd2457b
BVEL[G|O|W][I|J|K][|-] summary keywords
2026-02-19 10:20:42 +01:00
Tor Harald Sandve
a2b4d9a71a
Fix OMP issue
2026-02-18 13:46:57 +01:00
Tor Harald Sandve
c6e5d99795
Minor fixes
2026-02-18 11:31:27 +01:00
Tor Harald Sandve
c4548eca44
refactor computeWellTemperature
2026-02-18 11:31:27 +01:00
Tor Harald Sandve
8694fa88b0
fix compilation
2026-02-18 11:31:27 +01:00
Tor Harald Sandve
5f3c434674
Use SparseMatrixAdapter
2026-02-18 11:31:27 +01:00
Tor Harald Sandve
208c266e8e
Some more minor speedup
2026-02-18 11:31:27 +01:00
Tor Harald Sandve
bf1013cee5
Store and use thermalHalfTransmissbilities from nbInfo
2026-02-18 11:31:27 +01:00
Tor Harald Sandve
d853e349b5
compute well temperature in TEMP module
2026-02-18 11:31:27 +01:00
Tor Harald Sandve
7155ab4c70
reuse darcy flux in temperatureModule
2026-02-18 11:31:27 +01:00
Tor Harald Sandve
26d5a3497f
Speedup the temperature module
...
- Use its own fluidstate and Evaluation class to avoid having to add an extra derivative to the main equations
- Sotre the scaling factor to avoid calling the parameter all the time
2026-02-18 11:31:27 +01:00
Bård Skaflestad
858eb9298d
Merge pull request #6832 from akva2/mark_fmt_strings_runtime_nvcc
...
mark format string as runtime
2026-02-18 09:10:21 +01:00
Atgeirr Flø Rasmussen
7d6feee0d9
Merge pull request #6676 from multitalentloes/make_newtranfluxmodule_gpu_friendly
...
make more files gpu-compatible
2026-02-18 08:47:36 +01:00
Tobias Meyer Andersen
c828cb37bb
add empty() to views
2026-02-17 16:28:21 +01:00
Kai Bao
464aa27674
Merge pull request #6836 from GitPaean/not_setting_FLD_to_NONE
...
not setting FLD to be NONE for group
2026-02-17 15:53:49 +01:00
Arne Morten Kvarving
13c195ac39
mark format string as runtime
2026-02-17 15:41:14 +01:00
Håkon Hægland
9b9864551d
Fix autochoke target rate and clean up guide rate
...
Add local_reduction_level gating to the autochoke target
loop in getAutoChokeGroupProductionTargetRate(), preventing
double-counting of reductions at intermediate groups with
group-controlled-wells count of zero.
Remove getGuideRate() from GroupStateHelper: the group path
is dead code (only caller was isAutoChokeGroupUnderperforming_
which now uses guide_rate_ directly), and the well path is
inlined into FractionCalculator::guideRate().
Improve isAutoChokeGroupUnderperforming_() to compute the
control group guide rate as the sum of its FLD children's
guide rates (matching how targets are distributed), and
accumulate efficiency factors from the autochoke group up
to the control group. This makes the formula correct for
the common case where the control group is the immediate
parent with no reductions.
Rename getLocalReductionLevel_ to getLocalReductionLevel
and make it public, as it is now called from
WellGroupControls.cpp.
Update test to verify the corrected target rate and remove
references to the now-fixed double-counting issue.
2026-02-17 15:41:08 +01:00
Tobias Meyer Andersen
1f7b248016
Merge pull request #6670 from multitalentloes/add_reset_to_gpu_matrices
...
Add reset to gpu matrices
2026-02-17 15:14:16 +01:00
Bård Skaflestad
08c25aebab
Merge pull request #6833 from hakonhagland/fix_ac_comm_sum
...
Fix missing communication in auto choke underperformance check
2026-02-17 14:57:20 +01:00
Håkon Hægland
818a33ce17
Fix missing communication in auto choke underperformance check
...
sumWellSurfaceRates() only returns rank-local rates, but
isAutoChokeGroupUnderperforming_() compared them directly against the
full group target. Add comm_.sum() to aggregate rates across all ranks
before the comparison.
2026-02-17 14:22:33 +01:00
Tobias Meyer Andersen
bb7a3c15a8
renamme resetMatrix()
2026-02-17 14:08:34 +01:00
Kai Bao
5bf33bd753
not setting FLD to be NONE for group
...
since SingleWellState::GroupTarget does not get group target from a
group under FLD control.
2026-02-17 14:03:19 +01:00
Tor Harald Sandve
a539d10330
Merge pull request #6805 from totto82/outher_network_iter
...
dont add outer network iter for ctrl change
2026-02-17 11:14:57 +01:00