Commit Graph

38 Commits

Author SHA1 Message Date
Lisa Julia Nebel
890f285cbf Remove the mpi calls from the business logic
Implement mmv and mv functions that are called from the business layer that do the communication
2024-12-20 09:23:23 +01:00
Lisa Julia Nebel
09d036a4fb Fix really stupid communication mistake 2024-12-20 07:41:56 +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
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
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
3670479a93 Fix index bug in gpubridge separate wells 2024-11-08 11:08:45 +01:00
Razvan Nane
baf94f76d2 Rename bda to gpu for classes 2024-11-04 12:31:34 +01:00
jakobtorben
60bd3f5514 Remove unused num_cells argument from well equations 2024-10-10 20:26:13 +02:00
jakobtorben
3680c21f32 Map perforated cell index to global index for CPR weights and add well contrib to matrix 2024-10-07 17:44:23 +02:00
jakobtorben
60ece76adf Make well equations use only perforated cells 2024-10-07 09:12:59 +02:00
Arne Morten Kvarving
6f7660905e MultisegmentWellEquations: optionally instantiate for float 2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
fa84eb65c7 MultisegmentWellEquations: throw with float Scalar
UMFPack cannot handle floats
2024-08-21 09:23:31 +02:00
Arne Morten Kvarving
ff39bc3b03 WellContribution: template Scalar type 2024-05-24 14:09:11 +02:00
Arne Morten Kvarving
11b5ba3f18 WellInterfaceGeneric: template Scalar type 2024-05-14 10:26:58 +02:00
Arne Morten Kvarving
be57843296 WellState: template Scalar type 2024-04-17 11:12:40 +02:00
Stein Krogstad
746e05db5d Include implicit ipr for ms-wells 2023-12-07 13:09:00 +01:00
hnil
29e968c232 fixed add-well-contributions for multisegement wells 2023-09-12 09:49:15 +02:00
Arne Morten Kvarving
92fa9577da consistently use std::size_t 2023-08-15 09:32:10 +02:00
Arne Morten Kvarving
896cb8484d added: option to disable the BDA solvers 2023-08-11 11:00:07 +02:00
hnil
c065d34d0e -- added more timing to get better coverage of amg solver
-- added includes needed
2023-07-24 12:28:08 +02:00
Arne Morten Kvarving
351181f355 add missing WellSegments.hpp includes 2023-01-12 14:37:32 +01:00
Arne Morten Kvarving
5755c94256 move segment_inlets_ to MultisegmentWellSegments 2022-12-19 16:03:27 +01:00
Arne Morten Kvarving
2766427df0 move segment_perforations_ and perforation_segment_depth_diffs_ to MultisegmentWellSegments 2022-12-19 16:03:26 +01:00
Arne Morten Kvarving
97e1cdb662 added: MultisegmentWellEquations::extractCPRPressureMatrix()
this adds the cpr pressure matrix to a matrix.
this is the core of MultisegmentWell::addWellPressureEquations
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
de8eedb9a6 added: MultisegmentWellEquations::extract(SparseMatrixAdapter)
this adds the well matrices to a sparse matrix adapter.
this is the core of MultisegmentWell::addWellContributions.
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
4a2fcd5f09 added: MultisegmentWellEquations::extract(WellContributions&)
this adds the well matrices to a WellContributions object.
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
d50aaf8ed4 added: MultisegmentWellEquations::recoverSolutionWell()
this recovers the well solution from a solution vector.
use the new method in the well implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
bc312d1117 added: MultisegmentWellEquations::solve()
this applies the inverted D matrix to the residual vector.
use the new method in the well implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
a7cb444328 MSWellHelpers: simplify interfaces
- avoid passing the matrix, only pass the solver. possible
  since setting up the solver is not done in here any more.
- avoid passing shared_ptr's
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving
e67e58d0c8 added: MultisegmentWellEquations::createSolver
this applies compute the LU decomposition of the D matrix
2022-12-05 10:13:53 +01:00
Arne Morten Kvarving
abf5f94561 added: MultisegmentWellEquations::apply(r)
this applies the equation system to a vector.
use the new method in the well implementation.
2022-12-01 10:36:40 +01:00
Arne Morten Kvarving
f2acbccc1a added: MultisegmentWellEquations::apply(x,Ax)
this applies the equation system to a vector.
use the new method in the well implementation.
2022-12-01 10:36:40 +01:00
Arne Morten Kvarving
8fe6b3968e added: MultisegmentWellEquations::init
this initializes the equation system.
use the new method in the well implementation.
2022-12-01 10:36:40 +01:00
Arne Morten Kvarving
ac245a2e17 added: MultisegmentWellEquations::clear
this zeros the equation system.
use the new method in the well implementation.
2022-12-01 10:25:57 +01:00
Arne Morten Kvarving
57f09050fc add: MultisegmentWellEquations
this is a container for the multisegment well equation system
2022-12-01 10:25:28 +01:00