Commit Graph
413 Commits
Author SHA1 Message Date
Håkon Hægland 538559cafa Add gas lift headers to PUBLIC_HEADER_FILES
The headers BlackoilWellModel.hpp, StandardWell.hpp,and WellInterface.hpp
all include various GasLift*.hpp headers directly. That means that any
client code that uses those well-related headers will need to have the
GasLift* headers available too.

Also sorts the headers under opm/simulators/wells to make the it easier
to read.
2022-01-25 12:14:50 +01:00
Håkon Hægland 4970b0641e Improve debugging tools in gaslift code.
Introduces a gaslift debugging variable in ALQState in WellState. This
variable will persist between timesteps in contrast to when debugging
variables are defined in GasLiftSingleWell, GasLiftGroupState, or GasLiftStage2.

Currently only an integer variable debug_counter is added to ALQState,
which can be used as follows: First debugging is switched on globally
for BlackOilWellModel, GasLiftSingleWell, GasLiftGroupState, and
GasLiftStage2 by setting glift_debug to a true value in BlackOilWellModelGeneric.
Then, the following debugging code can be added to e.g. one of
GasLiftSingleWell, GasLiftGroupState, or GasLiftStage2 :

    auto count = debugUpdateGlobalCounter_();
    if (count == some_integer) {
        displayDebugMessage_("stop here");
    }

Here, the integer "some_integer" is determined typically by looking at
the debugging output of a previous run. This can be done since the
call to debugUpdateGlobalCounter_() will print out the current value
of the counter and then increment the counter by one. And it will be
easy to recognize these values in the debug ouput. If you find a place
in the output that looks suspect, just take a note of the counter
value in the output around that point and insert the value for
"some_integer", then after recompiling the code with the desired value
for "some_integer", it is now easy to set a breakpoint in GDB at the
line

    displayDebugMessage_("stop here").

shown in the above snippet. This should improve the ability to quickly
to set a breakpoint in GDB around at a given time and point in the simulation.
2022-01-23 20:37:26 +01:00
Arne Morten Kvarving 999e2a449e fixed: conditionally build test_csrToCscOffsetMap 2022-01-18 13:49:24 +01:00
Eduardo Bueno 1df9d2e51f Adds BISAI preconditioner to openclSolver 2022-01-17 13:57:29 -03:00
Tong Dong Qiu aa5f36b835 Only include test if opencl is found 2021-12-09 08:39:43 +01:00
Tong Dong Qiu 0881089406 Add Preconditioner, superclass of BILU0 and CPR 2021-12-01 11:47:45 +01:00
Tong Dong Qiu a911d5d2be Add test for solve_transposed_3x3() 2021-12-01 11:47:44 +01:00
Tong Dong Qiu a71a5cd8fe Moved OpenclMatrix to new file 2021-12-01 11:43:39 +01:00
Tong Dong Qiu 6465cf9cbb Add CPR preconditioner for openclSolver and
change raw pointers to vector for Matrix
2021-12-01 11:43:30 +01:00
Markus Blatt 6d8223f233 Merge pull request #3602 from blattms/parallel-tracers
[feature] Adds support for computing tracers in parallel runs.
2021-11-23 12:39:48 +01:00
Markus Blatt 6f40d63f1f [cmake] Add common source files for CUDA/OpenCL/amgcl only once. 2021-11-17 17:30:01 +01:00
Markus Blatt 9a80d806c0 Setup parallel solvers for tracers. 2021-11-17 16:02:16 +01:00
Arne Morten Kvarving 11c0a75080 fixed: build without any bda backend 2021-11-16 15:48:29 +01:00
Arne Morten Kvarving e25caba8ed changed: refactor BDA well contributions
split in API specific classes for Cuda/OpenCL

this to
1) it's cleaner
2) it avoids pulling in openCL code in cuda classes which leads
to clashes between nvidia headers and opencl.hpp

there is still too much API specific things in interface between the
bda components to work through a virtual interface so we still have to cast
to the relevant implementation in various places.
2021-11-11 14:49:33 +01:00
Atgeirr Flø Rasmussen 84392a25b4 Merge pull request #3648 from joakim-hove/phase-usage-constructor
Create PhaseUsage constructor
2021-11-05 15:35:50 +01:00
Atgeirr Flø Rasmussen 5503e6ca06 Remove ISTLSolverEbosFlexible and flow_blackoil_dunecpr.
The class ISTLSolverEbos has all features of the removed class, and
is not much more complex. The flow_blackoil_dunecpr is the only
program using it, and is redundant.
2021-11-02 15:02:48 +01:00
Joakim Hove bcdc974585 Create PhaseUsage constructor 2021-11-01 17:04:42 +01:00
daavid00 48b175904a first version of micp implementation in flow 2021-10-14 17:44:57 +02:00
Tor Harald Sandve f9832d8830 split RateConverter 2021-09-07 08:53:09 +02:00
Joakim Hove 060eac4999 Add basic functionality for validating special case keywords 2021-08-24 13:50:40 +02:00
Joakim Hove a54daf75e8 Add trivial class SingleWellState with bhp and thp 2021-08-15 09:01:21 +02:00
Tong Dong Qiu f77d745b51 Factor out CUDA part of amgclSolver 2021-07-07 16:24:52 +02:00
Tong Dong Qiu 282f611f92 Make sure amgcl can be used without CUDA 2021-07-07 16:24:52 +02:00
Tong Dong Qiu a08195a983 Use CMake config of amgcl itself 2021-07-07 16:24:52 +02:00
Tong Dong Qiu c2869810e2 Added amgclSolverBackend 2021-07-07 16:24:51 +02:00
Markus Blatt 2260fde478 Merge pull request #3300 from Tongdongq/add-tests
Added tests for cusparseSolver and openclSolver
2021-06-17 22:31:23 +02:00
Håkon Hægland fbb24e2a5a Check group limits in gas lift stage 1.
Check group limits in gas lift stage 1 to avoid adding too much ALQ which must
anyway later be removed in stage 2. This should make the optimization
more efficient for small ALQ increment values. Also adds MPI support.
2021-06-16 12:00:54 +02:00
Joakim Hove 34481e48c3 Add data container PerfData to use in WellState 2021-06-10 07:18:46 +02:00
Bård Skaflestad ed131190eb Merge pull request #3353 from akva2/msw_eval
add MultisegmentWellEval
2021-06-10 00:10:31 +02:00
Joakim Hove fc5e2be4e2 Merge pull request #3365 from akva2/wrap_property_tree
Add Opm::PropertyTree
2021-06-09 17:12:38 +02:00
Arne Morten Kvarving b7e2ad3bfe added: PropertyTree class
this is a thin wrapper around boost::property_tree
with this we avoid parsing property tree headers in all
simulator objects
2021-06-09 15:21:52 +02:00
Arne Morten Kvarving 68fc2b0bc6 add MultisegmentWellEval 2021-06-09 15:17:36 +02:00
Arne Morten Kvarving 29ae002a87 changed: avoid templating in setupPropertyTree
simply pass the required params to function instead.
2021-06-09 12:54:14 +02:00
Arne Morten Kvarving eb06c4bd70 add StandardWellEval 2021-06-09 08:32:30 +02:00
Bård Skaflestad aa12201ee2 Merge pull request #3362 from akva2/date_time_prune
Avoid boost/date_time in simulator objects
2021-06-08 17:46:34 +02:00
Arne Morten Kvarving ce01d780cf SimulatorTimerInterface: avoid boost includes in header 2021-06-08 15:44:56 +02:00
Arne Morten Kvarving 14ea3e6dd1 SimulatorFullyIplicitBlackoilEbos: avoid boost includes in header 2021-06-08 15:44:28 +02:00
Arne Morten Kvarving fce3247c56 AdaptiveTimeSteppingEbos: avoid boost include in header 2021-06-08 15:44:28 +02:00
Arne Morten Kvarving c623fba017 add MultisegmentWellGeneric
avoid rebuilding this for all simulators when code
is only dependent on Scalar. instanced for double
2021-06-08 10:43:10 +02:00
Arne Morten Kvarving 10ff86af52 add StandardWellGeneric
avoid rebuilding this for all simulators when code
is only dependent on Scalar. specialized for double
2021-06-08 08:08:50 +02:00
Bård Skaflestad 6c1ca7450f Merge pull request #3282 from akva2/blackoilwellmodel_generic_split
split out typetag independent code from BlackoilWellModel
2021-06-07 22:13:36 +02:00
Arne Morten Kvarving 059140f2ee split out typetag independent code from BlackoilWellModel 2021-06-07 12:04:06 +02:00
Tong Dong Qiu 74b46e4d8d Added tests for cusparseSolver and openclSolver 2021-06-07 11:40:03 +02:00
Arne Morten Kvarving 4c09b5dde3 add WellInterfaceEval 2021-06-07 08:26:43 +02:00
Arne Morten Kvarving 29842ff9a2 add WellInterfaceIndices
while not a lot of class in this layer, having it helps
in downstream well code.
2021-06-07 08:26:43 +02:00
Joakim Hove 5dc267c6f5 Add class SegmentState 2021-06-03 10:46:04 +02:00
Arne Morten Kvarving ef635d42af VFPHelpers: put in separate compile unit 2021-05-31 11:42:29 +02:00
Bård Skaflestad f7b0d599c8 Merge pull request #3314 from akva2/eclproblem_typetag_split
eclproblem: split in typetag and typetag independent parts
2021-05-28 11:47:37 +02:00
Arne Morten Kvarving cbd7cfe8b6 split eclproblem in typetag dependent and typetag independent classes 2021-05-28 08:54:10 +02:00
Arne Morten Kvarving 122ac87c55 GasLiftStage2: no longer a need to template on TypeTag 2021-05-28 08:24:07 +02:00