Vegard Kippe
2b4e09bc51
Write correct THRESHPR values also from a restart.
2024-11-28 14:44:53 +01:00
Arne Morten Kvarving
4d5a67fa82
added: ability to pass command line parameters from python
2024-11-28 09:14:53 +01:00
jakobtorben
30e3dc3582
Only apply Hypre AMG one V-cycle
2024-11-27 17:09:14 +01:00
jakobtorben
9d47aa605e
Add property tree to constructor
2024-11-27 17:09:14 +01:00
jakobtorben
6d22b4f72a
Optimise the transfer of memory between Dune and Hypre
2024-11-27 17:09:14 +01:00
jakobtorben
84193fa53d
Set Hypre AMG parameters to Jutul default
2024-11-27 17:09:14 +01:00
jakobtorben
10f7a85532
Add Hypre preconditioner
2024-11-27 17:09:14 +01:00
Tor Harald Sandve
d0bcf54b00
Merge pull request #5767 from totto82/network_sub_iter
...
Network sub iter
2024-11-27 15:48:12 +01:00
Atgeirr Flø Rasmussen
92c9d88c1b
Merge pull request #5743 from vkip/thpres_restart
...
Restore threshold pressures from restart
2024-11-27 15:16:38 +01:00
Tor Harald Sandve
8479655deb
Set 20 as number of sub-iterations for the network
2024-11-27 14:21:05 +01:00
Tor Harald Sandve
e043dc6e50
Change default max iterations for network
2024-11-27 14:21:05 +01:00
Tor Harald Sandve
93206349c8
Add sub iterations for balancing the network
2024-11-27 14:21:05 +01:00
Atgeirr Flø Rasmussen
b3b532e129
Merge pull request #5758 from jakobtorben/remove_recreation_of_second_stage_preconditioner_for_cpr
...
Update second stage preconditioner for CPR instead of recreate
2024-11-27 13:29:43 +01:00
Bård Skaflestad
641f094309
Merge pull request #5765 from atgeirr/refactor-errorguard-dump-downstream
...
Use formattedErrors() and simplify.
2024-11-27 11:41:53 +01:00
jakobtorben
3ec01f7d7b
Update second stage preconditioner for CPR instead of recreate
2024-11-27 10:31:48 +01:00
Atgeirr Flø Rasmussen
0238f45339
Use formattedErrors() and simplify.
...
No longer calling dump() means we avoid the extra dumping to stderr of
the warnings and errors.
2024-11-27 08:52:05 +01:00
Tor Harald Sandve
415f48c379
Merge pull request #5763 from hakonhagland/fix_4123
...
Update Schedule constructor
2024-11-26 14:35:21 +01:00
Vegard Kippe
1c315b0018
Fix unintentional short-circuit plus a couple of minor nits
2024-11-25 22:26:24 +01:00
Vegard Kippe
74fa148cd7
Support GCONSUMP on multiple levels in the group hierarchy
2024-11-25 22:26:24 +01:00
Håkon Hægland
5730dcf166
Update Schedule constructor
...
This is needed for PR 4123 in opm-common to build
2024-11-25 18:11:27 +01:00
Bård Skaflestad
99f3226926
Merge pull request #5761 from totto82/moveTHPoutputToDebug
...
Move debug output from thp calcuations from .PRT to .DBG
2024-11-25 16:43:43 +01:00
Tor Harald Sandve
b32e2f6b32
Guard against small rates in fraction calculation
2024-11-25 15:44:28 +01:00
Tor Harald Sandve
b4fe429b35
Merge pull request #5748 from steink/Only-update-targets-for-relevant-controls
...
Only update target of group-controlled wells during updateAndCommunicate
2024-11-25 15:30:32 +01:00
Tor Harald Sandve
b13dcb42b1
Merge pull request #5729 from steink/Fix-checkGroupHigherConstraints
...
Subtract reduction rate for current group when checking higher group constraints
2024-11-25 13:58:44 +01:00
Tor Harald Sandve
98b86e891a
remove 16 days restriction for timestep in prediciton mode
2024-11-25 13:40:09 +01:00
Tor Harald Sandve
eaff32ae7e
Merge pull request #5757 from svenn-t/fix_gaslift_PR2
...
Well testing using gas lift facilities
2024-11-25 11:24:14 +01:00
Stein Krogstad
ef14bf6e45
fix typos
2024-11-25 11:15:43 +01:00
Stein Krogstad
cf877332ab
Subtract reduction rate when checking higher group constraints
2024-11-25 11:15:43 +01:00
Tor Harald Sandve
44a2e45628
Move debug output from thp calcuations from .PRT to .DBG
2024-11-25 10:48:12 +01:00
Tor Harald Sandve
554acb4019
Also update REIN if REIN changes significantly
2024-11-25 08:39:43 +01:00
Svenn Tveit
528a5ce1a9
Changed variable name of well test ALQ
2024-11-25 08:11:30 +01:00
Lisa Julia Nebel
4801a17703
Add comments at the spots where we multiply with D^(-1) - we actually can do this on all processes
2024-11-22 15:16:04 +01:00
Lisa Julia Nebel
627b9c98ba
Add communication when multiplying with the matrix duneB_ in recoverSolutionWell
...
Here we go from cells to segments, and everything concerning segments is stored globally.
2024-11-22 15:16:04 +01:00
Lisa Julia Nebel
81a5da8b63
Add communication when multiplying with the matrix duneB_ in apply
...
Here we go from cells to segments, and everything concerning segments is stored globally.
2024-11-22 15:16:04 +01:00
Lisa Julia Nebel
6bdb80126f
Add parameter enableDistributedWells to the well state an when set to true, do not throw when initalizing distributed multi-segment wells in WellState.cpp
2024-11-22 15:16:00 +01:00
Svenn Tveit
a8a1a480b7
Fix max for Scalar=float
2024-11-22 13:38:08 +01:00
Kai Bao
b502206ad7
Merge pull request #5735 from totto82/dontshutGRUPwells
...
dont shut well with GRUP control that struggles to converge
2024-11-22 11:48:46 +01:00
Tor Harald Sandve
120416f358
dont shut well with GRUP control that struggles to converge
2024-11-22 11:05:08 +01:00
Svenn Tveit
f2e42b96ca
Convert ALQ output to units used in the deck
2024-11-22 10:30:32 +01:00
Svenn Tveit
48f9e90248
Use gas lift optimization to get ALQ for well test
2024-11-22 10:30:32 +01:00
Arne Morten Kvarving
c9a081adb1
fixed: add missing include
...
broke sequential build
2024-11-22 09:43:45 +01:00
Kai Bao
588b8215f2
Merge pull request #5680 from lisajulia/feature/ms-wells
...
Feature/ms wells - part 1: Initial assembly of B C D and the residual
2024-11-21 22:54:48 +01:00
Lisa Julia Nebel
a6d27c18a1
Move 'assemblePerforationEq' to a separate loop (over the segments), communicate the matrix D and the residual afterwards and add the rest that does not need communication afterwards
2024-11-21 16:13:15 +01:00
Lisa Julia Nebel
4b08c37cf0
Add communication in scaleSegmentRatesWithWellRates of MultisegmentWellGeneric to scale the perf_phaserate_scaled with the correct value
...
Add communication in scale
2024-11-21 16:13:01 +01:00
Lisa Julia Nebel
36f21e2e63
Add comments about the need for communication to the assemble functions of MultisegmentWellAssemble
2024-11-21 16:13:01 +01:00
Lisa Julia Nebel
0ce761c5e6
Make wellhelpers::sumDistributedWellEntries work with other matrices than Dune::DynamicMatrix and add specialization for FieldMatrix<double,2,2>, FieldMatrix<double,3,3> and FieldMatrix<double,4,4> as well as FieldMatrix<float,2,2>, FieldMatrix<float,3,3> and FieldMatrix<float,4,4>
...
Make wellhelpers::sumDistributedWellEntries work with other matrices than Dune::DynamicMatrix and add specialization for FieldMatrix<double,2,2>, FieldMatrix<double,3,3> and FieldMatrix<double,4,4> as well as FieldMatrix<float,2,2>, FieldMatrix<float,3,3> and FieldMatrix<float,4,4>
2024-11-21 16:12:59 +01:00
Lisa Julia Nebel
4c59df5594
Add function sumDistributed to MultisegmentWellEquations
...
This functions sums all contributions of a multisegment well for the diagonal of D and the residual.
2024-11-21 16:12:59 +01:00
Lisa Julia Nebel
6ce3f7a385
Add pw_info_ to the MultisegmentWellEquations and use it to fill the matrices B and C correctly
2024-11-21 16:12:59 +01:00
Lisa Julia Nebel
97953887e4
Take the correct perf depth when calculating the depth differences in the the init function of the MultisegmentWell class
2024-11-21 16:12:50 +01:00
Lisa Julia Nebel
8860c598fe
Throw an error if the status "well convergence" in iterateWellEqWithSwitching of MultisegmentWell is not the same across all processes
2024-11-21 16:10:55 +01:00
Lisa Julia Nebel
dd895654d7
Other communication measures taken from StandardWells
2024-11-21 16:10:55 +01:00
Lisa Julia Nebel
8a01b89ec9
Store all (global) perforations depths and differences in perforation_depth_diffs_ and well.perfDepth()
2024-11-21 16:10:55 +01:00
Lisa Julia Nebel
dadfe3a634
Use local_perf_index instead of perf index where applicable
...
The vectors that contain info about the perforations of a
multisegment well are *local* vectors, yet the way we access them
by looping over the perforations is global, so when accessing a value
we need to get the local perforation index (and with this also check
if the perforation actually resides on the own process)
2024-11-21 16:10:49 +01:00
Lisa Julia Nebel
cde38bc23f
Rename cell_idx to perf, since it is the perforation index actually
2024-11-21 16:09:15 +01:00
Lisa Julia Nebel
449847da9e
Give the parallel well info object to the MultisegmentWellEval class as well
2024-11-21 16:09:15 +01:00
Lisa Julia Nebel
655f4011c7
Calculate the segment rates of the well state correctly, i.e. sum when the well is distributed over multiple processes
2024-11-21 16:09:10 +01:00
Lisa Julia Nebel
9f4fdd09fa
Throw an error if the status "lastStepFailed" in prepareStep of BlackoilModel is not the same across all processes
2024-11-21 15:01:46 +01:00
Lisa Julia Nebel
7573ce2e41
Add globalToLocal and localToGlobal functions to the ParallelWellInfo class
2024-11-21 15:01:43 +01:00
Atgeirr Flø Rasmussen
f11c511878
Merge pull request #5707 from blattms/fix/log-section-topology-error
...
Make sure all errors from parsing show up in the log files.
2024-11-21 12:05:32 +01:00
Tor Harald Sandve
71614ea5b0
Add parameter --nupcol_group_rate_tolerance to be able to set the relative tolerance. Default is 0.001
2024-11-20 17:46:31 +01:00
Tor Harald Sandve
7639450ce1
Update VREP even for iter > nupcol if VREP changes significant
2024-11-20 17:46:31 +01:00
Vegard Kippe
673d541932
Earlier continue and rename vector
2024-11-20 16:25:38 +01:00
Vegard Kippe
e189d56167
Explicit check for inactive wells and throw if trying to initialize a distributed multi-segment well
2024-11-20 15:40:18 +01:00
Vegard Kippe
c42f02e802
Do not try to compute initial solution for inactive multi-segment wells
2024-11-19 15:57:49 +01:00
Stein Krogstad
9b54245d9a
Only update target of group-controlled wells during updateAndCommunicate
2024-11-19 12:57:42 +01:00
Vegard Kippe
1c22d18771
Restore threshold pressures from restart
2024-11-18 12:59:48 +01:00
Vegard Kippe
7ece35defe
Avoid potential segfault due to invalid vector.end() after erase()
2024-11-16 14:34:34 +01:00
Bård Skaflestad
d199977d75
Chase API Update of Action::Result
...
The type no longer uses operator overloading and the matching entity
back-end has been revised to no longer expose a vector of strings
for the well names directly.
2024-11-13 12:23:52 +01:00
Arne Morten Kvarving
8197b6083a
ValidationFunctions: some cleanup
...
- introduce a type alias for the std::function type
- make implementation of specialValidations() private
- make validateBRINE private
2024-11-12 16:20:32 +01:00
Kjetil Olsen Lye
4210adff57
Removed #if HAVE_SUITESPARSE_UMFPACK in WellContributions.hpp and MultisegmentWellContribution.hpp since Suitesparse is required without #if
guards further down.
2024-11-12 10:10:33 +01:00
Arne Morten Kvarving
91aabf6a92
Merge pull request #5706 from BigDataAccelerate/rename-bda-to-gpu
...
Remove bda naming from project
2024-11-11 16:26:21 +01:00
Razvan Nane
23e24a8cca
Rename ISTLSolverGpu to ISTLSolverGpuBridge
2024-11-11 15:02:01 +01:00
Bård Skaflestad
091786a4bc
Merge pull request #5727 from akva2/clang_janitoring
...
Janitoring
2024-11-11 14:02:54 +01:00
Arne Morten Kvarving
c11e9dd10b
remove unused variable
2024-11-11 12:13:43 +01:00
Arne Morten Kvarving
be93ce7163
fixed: add virtual dtor to class with virtual members
2024-11-11 12:13:43 +01:00
Arne Morten Kvarving
d1e416cfe6
fixed: fmt::join is in ranges.h using {{fmt11}}
2024-11-11 12:04:23 +01:00
Atgeirr Flø Rasmussen
be2c078e71
Merge pull request #5636 from multitalentloes/gpu_support_co2gaspvt
...
Gpu support co2gaspvt
2024-11-08 15:39:53 +01:00
Bård Skaflestad
2908b4c8bb
Merge pull request #5720 from BigDataAccelerate/fix_convergence_sepwells
...
Fix index bug in gpubridge separate wells
2024-11-08 15:11:26 +01:00
Tobias Meyer Andersen
78e01ad06f
Add tests for gpu pvt classes
2024-11-08 14:41:34 +01:00
Alf Birger Rustad
1b4cb316ff
Merge pull request #5721 from blattms/bugfix/copyright-aligned-alloc
...
Removed GPL copyright header from licensed under Boost license.
2024-11-08 13:14:17 +01:00
Markus Blatt
2c7806c6b5
Removed GPL copyright header from code licensed under Boost license.
...
One cannot just add another license when there are no substantial
creative changes and you are changing existing code only.
There is no need either as we can use code under Boost license next
to GPL.
2024-11-08 11:19:21 +01:00
Razvan Nane
3670479a93
Fix index bug in gpubridge separate wells
2024-11-08 11:08:45 +01:00
Kai Bao
7acd5c24f9
Merge pull request #5717 from vkip/fc_linrad
...
Add LINRAD (hybrid linear-radial) filter cake model
2024-11-07 15:01:05 +01:00
Bård Skaflestad
4739821cb4
Don't Pass Action::Result By Value Into Add_Run()
...
This is no longer needed so we can go back to using 'const' objects.
2024-11-07 12:15:41 +01:00
Vegard Kippe
bcd91601d5
Add LINRAD (hybrid linear-radial) filter cake model
2024-11-06 15:19:20 +01:00
Kai Bao
dd0fbbdede
Merge pull request #5696 from totto82/speedup_gaslift
...
Dont iterate when computing bhp from thp for computing of the well potentials for gaslift optimization
2024-11-06 14:46:24 +01:00
Tor Harald Sandve
51d6b7e4e5
Merge pull request #5694 from totto82/fix_gaslift_PR1
...
Fix gaslift 1
2024-11-06 14:08:07 +01:00
Tor Harald Sandve
eb89a07831
Dont iterate when computing bhp from thp for computing of the well potentials for gaslift optimization
2024-11-06 14:06:09 +01:00
Bård Skaflestad
c8366e96ac
Merge pull request #5716 from akva2/c++20_stuff
...
Quell c++-20 warnings
2024-11-06 11:17:44 +01:00
Tor Harald Sandve
38be1ac83f
add comment on limiting the other rate
2024-11-06 11:06:35 +01:00
Arne Morten Kvarving
15b12eaa3e
avoid use of std::is_pod_v
...
implement it ourself in terms of std::is_trivial and
std::is_standard_layout. std::is_pod_v is deprecated in c++-20
2024-11-06 10:38:50 +01:00
Arne Morten Kvarving
d9a3dd6f77
add casts to avoid comparison to / arithmetics with enums
2024-11-06 10:38:50 +01:00
Arne Morten Kvarving
68a727aac8
fixed: mark comparison operator const
2024-11-06 10:38:50 +01:00
Arne Morten Kvarving
13b5e23dec
use constexpr instead of anonymous enums
...
c++-20 warns for arithmetics using enums
2024-11-06 10:38:50 +01:00
Bård Skaflestad
ef434a9b59
Chase API Update of UDQConfig's Evaluation Functions
...
The functions no longer use the 'episeodeIdx' or Schedule
parameters. Update callers accordingly.
While here, split some long lines and remove unneeded local objects.
2024-11-05 18:18:43 +01:00
Bård Skaflestad
2546d2b181
Merge pull request #5713 from akva2/fmt_fix_runtime_formats
...
fixed: use constexpr formats and/or mark format strings runtime
2024-11-05 15:59:40 +01:00
Arne Morten Kvarving
ca6a5521a4
fixed: use constexpr formats and/or mark format strings runtime
...
fmt wants to do compile time validation of format strings under c++-20.
mark formatting strings constexpr where possible, and mark formats
runtime to disable validation where not possible.
2024-11-05 15:03:17 +01:00
Arne Morten Kvarving
72ac61a0b7
quell unused private member warning
2024-11-05 14:58:06 +01:00
Tor Harald Sandve
8c1e03b9c4
Merge pull request #5695 from totto82/switchGroup
...
dont switch from GRUP if check_group_constrains_well_iterations=false
2024-11-05 13:56:16 +01:00
Tor Harald Sandve
e372bde838
Dont redistribute gaslift on group that are not on group target
2024-11-05 11:09:55 +01:00