Commit Graph
12829 Commits
Author SHA1 Message Date
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