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
Arne Morten Kvarving
3aa2b38832
changed: split out FluidSystem only dependent code from WellInterface
...
this allows using explicit template instantation to only build
this code once for each FluidSystem
2021-05-27 14:22:14 +02:00
Arne Morten Kvarving
70ece6d25a
eclwriter: split in typetag dependent and typetag-independent parts
2021-05-22 13:21:09 +02:00
Joakim Hove
23180e06d2
Rename WellStateFullyImplicitBlackoil -> WellState
2021-05-21 15:07:21 +02:00
Joakim Hove
3dcb0742d0
Moved init and initSingleWell and removed WellState.cpp
2021-05-21 14:57:38 +02:00
Joakim Hove
9c4b8df02d
Do not install wellstate.hpp
2021-05-21 14:57:38 +02:00
Arne Morten Kvarving
1614767362
GasLiftSingleWell: split typetag independent code to separate class
2021-05-21 09:09:10 +02:00
Arne Morten Kvarving
ffc3d8fbd6
eclgenericoutputblackoilmodule: split in typetag dependent/independent parts
2021-05-20 09:16:44 +02:00
Arne Morten Kvarving
0f4bb49ed9
changed: split out non-typetag dependent code from WellInterface
2021-05-19 09:25:03 +02:00
Arne Morten Kvarving
30414bf0ff
ecltracermodel: split in typetag dependent and typetag-independent parts
...
this allows using explicit template instantation to only
compile this code per grid, not per simulator object
2021-05-14 14:06:18 +02:00
Joakim Hove
3ed51c28f9
Merge pull request #3256 from akva2/eclthresholdpressure_vanguard_separate
...
eclthresholdpressure: split in typetag dependent/independent parts
2021-05-14 09:07:36 +02:00
Arne Morten Kvarving
f5fa602abb
eclthresholdpressure: split in typetag dependent and typetag-independent parts
...
this allows using explicit template instantation to only
compile this code per grid, not per simulator object
2021-05-13 21:09:38 +02:00
Arne Morten Kvarving
861899de2e
changed: put WellStateFullyImplicitBlackoil in separate compile unit
2021-05-13 12:01:03 +02:00
Markus Blatt
af68511a63
Merge pull request #3223 from akva2/ecltransmissibility_vanguard_separate
...
Separate eclctransmissibility.hh into typetag dependent/independent code
2021-05-13 09:33:59 +02:00
Arne Morten Kvarving
6ef5e239b2
sort alphabetically
2021-05-13 00:38:08 +02:00
Arne Morten Kvarving
a032c5a80e
changed: put WellState in separate compile unit
2021-05-13 00:38:08 +02:00
Arne Morten Kvarving
ca1a799e95
changed: put partially supported keywords in separate compile unit
...
avoid triggering full simulator rebuilds when updating
this list
2021-05-12 14:29:33 +02:00
Arne Morten Kvarving
306593af3b
changed: put unsupported keywords in separate compile unit
...
avoid triggering full simulator rebuilds when updating
this list
2021-05-12 14:29:33 +02:00
Arne Morten Kvarving
7ff44d9093
ecltransmissibility: separate from typetag
...
this allows using explicit template instantation to only
compile this code per grid, not per simulator object
2021-05-12 12:10:29 +02:00
Arne Morten Kvarving
215a8b7c25
eclcpgridvanguard: split in typetag dependent and typetag-independent parts
2021-05-11 11:30:35 +02:00
Arne Morten Kvarving
3397cd6252
eclbasevanguard: split in template and non-template parts
2021-05-11 09:15:11 +02:00
Markus Blatt
d462aee2f8
Merge pull request #3204 from akva2/collect_separate_compile_unit
...
CollectDataToIORank: move to separate compile unit
2021-05-07 08:55:47 +02:00
Joakim Hove
36cc9e8567
Add small class WellContainer to manage well data in WellState
2021-05-06 15:46:52 +02:00
Arne Morten Kvarving
d4b67e9af0
TargetCalculator: move to separate compile unit
...
use explicit instantation to avoid some templates being
instanced a lot of places in a lot of objects.
2021-05-04 08:42:02 +02:00
Bård Skaflestad
c0b68ea117
Merge pull request #3205 from akva2/relperm_compile_unit
...
RelpermDiagnostics: make templates private
2021-05-04 00:19:24 +02:00
Arne Morten Kvarving
0e2c61856f
RelpermDiagnostics: make templates private
...
use explicit template instantation. to avoid rebuilding
this code over and over (minor), and to avoid includes in headers.
2021-05-03 20:39:37 +02:00
Arne Morten Kvarving
543dbe7114
CollectDataToIORank: move to separate compile unit
...
make it a template for grid types. this allows using
explicit template instantation and compile this code
only once per grid type, instead of once per simulator object.
2021-05-03 13:45:52 +02:00
Joakim Hove
8a78dc1c59
Add class GlobalWellInfo and use it from WellState
2021-05-03 13:28:28 +02:00
Arne Morten Kvarving
cf06a322ec
countGlobalCells: put non-template code in separate compile unit
2021-04-30 15:09:23 +02:00
Arne Morten Kvarving
541ebdde13
phaseUsageFromDeck: move to separate compile unit
2021-04-29 13:00:23 +02:00
Arne Morten Kvarving
0cb0971673
ParallelFileMerger: move to separate compile unit
2021-04-29 12:57:27 +02:00
Joakim Hove
8bae5e0127
Add class ALQState to manage the ALQ state in the WellState
2021-04-28 09:33:06 +02:00
Joakim Hove
e1d117c59f
Extract group state and create WGState to manage well & group state
2021-04-27 10:55:38 +02:00
Joakim Hove
7fecd9f433
Create new class GroupState to maintain runtime state of groups
2021-04-21 13:07:57 +02:00
Markus Blatt
13f62a718b
Merge pull request #2998 from g-marchiori/fpgasolver-integration
...
Added fpgaSolver, requires Xilinx Alveo U280 FPGA board
2021-04-15 11:21:39 +02:00
Peter Verveer
1640c4afcf
Implement a new keyword validator
2021-04-12 16:47:02 +02:00
Håkon Hægland
61e67b143d
Adds a simple test case for gas lift.
...
Adds a simple test case for gas lift optimization. Currently this is
very simplistic and only covers a fraction of the gas lift optimization
code. The plan is to use this as a building block to add more tests
in the future.
2021-04-01 16:41:46 +02:00
Giacomo Marchiori
a933d4da10
Modified CMakeLists.txt after comments by blattms.
...
Also, tentative changes to compile the FPGA library from a different module: this part needs to be revised because it assumes a fixed path for the OPM/FPGA module.
Modified CMakeLists_files.cmake to remove files moved to the OPM/FPGA module.
2021-03-12 11:15:02 +01:00
Giacomo Marchiori
b4aa28771f
Added fpgaSolver
2021-03-12 11:14:59 +01:00
Kai Bao
9ecdca75d9
Merge remote-tracking branch 'upstream/master' into new_numerical_aquifer
2021-03-11 14:08:42 +01:00
Tong Dong Qiu
688d8ff627
Shorten opencl kernel params, add source file for openclKernels
2021-03-03 13:09:24 +01:00
Kai Bao
6008aa8339
begining simulator code for numerical aquifer
...
most of the functionality is to collect data for summary output.
2021-02-22 23:15:26 +01:00
tqiu
c8dca99fad
Renamed fgpilu to ChowPatelIlu
2021-02-03 17:43:54 +01:00
tqiu
9f92a69037
Added CPU and GPU implementations of Fine-Grained Parallel ILU (FGPILU)
2021-01-12 15:21:19 +01:00
Atgeirr Flø Rasmussen
d910d42f6e
Only add AMG preconditioners to factory if sensible.
...
Also add test using a new operator class, that would not compile
without the change.
2020-12-17 14:54:59 +01:00
Markus Blatt
3996967344
Added a class with information and comunicator for parallel wells.
...
BlackoilWellModel now stores an instance of this class for each
well. Inside that class there is a custom communicator that only
contains ranks that will have local cells perforated by the well.
This will be used in the application of the distributed well operator.
This is another small step in the direction of distributed wells,
but it should be safe to merge this (note creation of the custom
communicators is a collective operation in MPI but done only once).
2020-12-03 09:29:43 +01:00
Jose Eduardo Bueno
09e38a38e9
Fixed CMakeLists_files.cmake
2020-11-19 15:41:59 -03:00
Jose Eduardo Bueno
a9c2a684c6
Removed WellContributionsOCLContainer class (rebase)
2020-11-18 09:14:31 -03:00
Markus Blatt
64fa5a2b30
Merge pull request #2858 from Tongdongq/ilu-reorder-strategy
...
Added cmdline parameter --ilu-reorder-strategy
2020-11-17 09:35:12 +01:00
Joakim Hove
da2bc2affd
Refactor application of NNC / EDITNNC
...
- The edit manipulations from EDITNNC have already been applied to the NNC data
from opm-common
- The NNC data structures are guaranteed to be ordered, both with cell1 <= cell2
and the NNCs are in ascending order
- The NNC output to EGRID / INIT files is based on std::vector<NNCdata>
2020-11-10 16:59:30 +01:00
tqiu
0cdac39732
Removed deleted ILUReorder.cpp, added headers to CMake
2020-10-19 11:36:25 +02:00
tqiu
d25405d39a
Renamed parameter to OpenclIluReorder and moved error checking to BdaBridge constructor.
2020-10-19 11:36:25 +02:00
Atgeirr Flø Rasmussen
6155188a70
Remove unused file SimFIBODetails.hpp.
2020-10-15 16:35:35 +02:00
Bård Skaflestad
b6e0bd1b7b
Add Calculator for Connection/Well Productivity Index
...
Switches between using the logarithmic and unit scaling factor based
on whether or not the well has an explicit, positive drainage radius
(WELSPECS item 7). Does presently not include the D factor.
Add a set of unit tests to exercise the facility.
2020-10-13 15:42:35 +02:00
Atgeirr Flø Rasmussen
842afd312e
Refactor setupPropertyTree().
2020-10-11 09:24:05 +02:00
Atgeirr Flø Rasmussen
65817c9068
Removed old amg/cpr code that can be replaced.
...
The replacement consists of using the FlexibleSolver code.
2020-10-08 15:12:41 +02:00
Jose Eduardo Bueno
1ba81cece2
First commit
2020-09-24 16:35:36 -03:00
Markus Blatt
575245d785
Factored out logging setup and deck reading from class Main.
...
These codes are reimplemented in the ebos simulator and should
be reused, instead. This commit factilitates this and starts
reusing the logging setup code in ebos. Hence reduces code duplication.
2020-08-27 09:05:09 +02:00
Markus Blatt
faaee51d09
Merge pull request #2682 from Tongdongq/openclSolver
...
Added openclSolver
2020-07-10 13:38:32 +02:00
T.D. (Tongdong) Qiu
5971a7ae9e
Split WellContributions into .cpp and .cu
2020-07-10 11:13:55 +02:00
T.D. (Tongdong) Qiu
ab49f60eca
Added opencl.hpp to define variables and import opencl
...
Added opencl.cpp to get OpenCL error strings
2020-07-07 13:46:47 +02:00
T.D. (Tongdong) Qiu
91591abd56
Removed removed file from cmake install list
2020-07-07 11:42:00 +02:00
T.D. (Tongdong) Qiu
8913e1d057
Make sure OpenCL can be used without CUDA
2020-06-25 18:44:49 +02:00
Atgeirr Flø Rasmussen
c2c79f0903
Move well operators to separate file.
...
Also introduce new class WellModelAsLinearOperator making a well model
into an actual Dune::LinearOperator, this prevents the TypeTag dependent
type from leaking into the type of the WellModelMatrixAdapter instantiation.
As a side benefit, the adapter classes can now adapt (i.e. combine with a
matrix operator) any linear operator.
2020-06-25 10:13:12 +02:00
T.D. (Tongdong) Qiu
98ddf47b44
Added block_size template to BdaSolvers and BILU0
2020-06-25 09:39:55 +02:00
T.D. (Tongdong) Qiu
f974a5f6db
Added openclSolver
...
Usage: --gpu-mode=[cusparse|opencl|none] on command line
2020-06-22 18:26:49 +02:00
Atgeirr Flø Rasmussen
171656144f
Install FlexibleSolver_impl.hpp for downstream users.
2020-06-19 16:04:27 +02:00
Atgeirr Flø Rasmussen
f24b2cd708
Split instantiation files to enable parallel build.
2020-06-17 13:03:57 +02:00