Commit Graph

2172 Commits

Author SHA1 Message Date
Arne Morten Kvarving
bcbac79486
Merge pull request #5380 from akva2/linalg_template_scalar
LinAlg classes: template Scalar type
2024-05-31 08:40:11 +02:00
Kai Bao
e968da28bb renaming calcRates to calcResvCoeff
and calcInjRates to calcInjResvCoeff.
2024-05-29 22:29:12 +02:00
Bård Skaflestad
a3a2b7a978 Make SummaryState Objects Aware of Undefined UDQ Value
This PR switches to calling the SummaryState constructor which is
aware of the value of undefined UDQs (OPM/opm-common#4052) directly.

While here, also sort headers, split some long lines, and prefer
initialisation lists to constructor body assignments.
2024-05-29 09:16:56 +02:00
Arne Morten Kvarving
ff39bc3b03 WellContribution: template Scalar type 2024-05-24 14:09:11 +02:00
Bård Skaflestad
9841c5d21c
Merge pull request #5377 from akva2/equil_template_scalar
InitStateEquil: template Scalar type
2024-05-23 10:48:04 +02:00
Arne Morten Kvarving
4bef925974 InitStateEquil: use Scalar type from FluidSystem 2024-05-23 09:39:49 +02:00
Arne Morten Kvarving
4cfb7a8566 EquilibrationHelpers: template Scalar type 2024-05-23 09:38:27 +02:00
Arne Morten Kvarving
bac2087b85 WellProdIndexCalculator: template Scalar type 2024-05-22 15:21:37 +02:00
Arne Morten Kvarving
27d99f78ec ParallelWBPCalculation: template Scalar type 2024-05-22 10:51:12 +02:00
Arne Morten Kvarving
b68a854909 ParallelPAvgDynamicSourceData: template Scalar type 2024-05-22 10:51:07 +02:00
Arne Morten Kvarving
0481c7c0b2 adjust to PAvgCalculator templating 2024-05-22 10:51:07 +02:00
Arne Morten Kvarving
59e6d4db08 adjust to PAvgDynamicSourceData templating 2024-05-22 10:51:07 +02:00
Arne Morten Kvarving
16f5290038 ParallelWellInfo: template Scalar type 2024-05-22 09:48:22 +02:00
Arne Morten Kvarving
81189b89c7 PerforationData: template Scalar type 2024-05-22 09:48:07 +02:00
Arne Morten Kvarving
d5d16eaee4 VFPHelpers: move some functions into a class with static members
and template Scalar type
2024-05-21 17:01:30 +02:00
Arne Morten Kvarving
29d142b5e4 VFPProdProperties: template Scalar type 2024-05-21 17:01:30 +02:00
Arne Morten Kvarving
b74b170d5b fixed: build with dune-fem 2.9 2024-05-16 10:58:08 +02:00
Bård Skaflestad
a05d1358c6
Merge pull request #5362 from akva2/janitoring
fixed: use getCommuncation instead of getCollectiveCommuncation
2024-05-16 09:36:28 +02:00
Arne Morten Kvarving
ff80e92e9d fixed: also run the RestartSerialization tests without dune-fem
we want both tests when dune-fem is present
2024-05-16 09:14:15 +02:00
Arne Morten Kvarving
2cc2c89b5d fixed: use getCommuncation instead of getCollectiveCommuncation
latter causes a deprecation warning
2024-05-16 09:11:38 +02:00
Atgeirr Flø Rasmussen
226410cd44
Merge pull request #5303 from akva2/gaslift_template_scalar
GasLift: template Scalar type
2024-05-14 09:59:42 +02:00
Arne Morten Kvarving
66131bd350
Merge pull request #5253 from multitalentloes/script_test
Add HIP support
2024-05-07 08:02:53 +02:00
Tobias Meyer Andersen
e9d6b326cc Add HIP support for AMD GPUs
This commits adds cmake functionality that can
hipify the cuistl framework to support AMD GPUs.

Some tests have been written as HIP does not mirror
CUDA exactly.

CONVERT_CUDA_TO_HIP is the new CMAKE argument.
CMAKE version is increased to include HIP
as a language (3.21 required).

A macro is added to create a layer of indirection
that will make only cuistl files that have been
changed rehipified.

Some BDA stuff is extracted to make sure CUDA
is not accidentally included.
2024-05-06 15:56:53 +02:00
Bård Skaflestad
027eed16e9 Report CNV Violation Pore-Volume Fraction to INFOITER
This commit includes the fraction of pore-volume whose CNV targets
are violated as a new per-iteration quantity in the INFOITER file
(--output-extra-convergence-info=iteration), with the column header
"CnvErrPvFrac".  We collect the values which are already calculated
in

    BlackoilModel<>::getReservoirConvergence()

and store these as a pair of numerator and denominator in the
ConvergenceReport class.  Note that we need both the numerator and
the denominator in order to aggregate contributions from multiple
ranks.

While here, also make a few more objects 'const' and calculate
column widths directly instead of the maximum number of characters
in writeConvergenceHeader().
2024-05-06 11:31:47 +02:00
Atgeirr Flø Rasmussen
da5f20a0d9
Merge pull request #5145 from multitalentloes/add_gpu_direct
Add GPU Direct
2024-04-29 14:08:25 +02:00
Arne Morten Kvarving
09065dd130 GasLiftSingleWellGeneric: template Scalar type 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
772b00bc19 GasLiftGroupInfo: template Scalar type 2024-04-24 15:31:13 +02:00
Arne Morten Kvarving
3ec8a22e59 fixed: use the eclipse grid from the eclipse state in test_nonnc
if we use a separate instance the actnum arrays get out of sync. in
particular the two cells with PORV == 0 will not be marked as inactive
in the actnum array of the separate instance. this leads to a segfault
in lookUpData as the field props will have those cells filtered, while the grid
still has the cells active.
2024-04-24 10:30:46 +02:00
Arne Morten Kvarving
cc5f692bb3 test_nonnc: convert to boost unit test 2024-04-24 10:30:15 +02:00
Bård Skaflestad
74df895f67
Merge pull request #5301 from atgeirr/fix-option-order-bsd
BSD versions of getopt(), including macOS, require options first.
2024-04-23 14:47:17 +02:00
Atgeirr Flø Rasmussen
38de1dee5b BSD versions of getopt(), including macOS, require options first. 2024-04-23 13:42:13 +02:00
Arne Morten Kvarving
f0e7f8842b BlackoilWellModelGeneric: template Scalar type 2024-04-23 11:33:33 +02:00
Tobias Meyer Andersen
7235f34f0e Add classes handling correct MPI implementation
Make some changes to Georgs original code:
dynamically allocated arrays with std::vectors instead
Implement new class structure handling what
MPI communication implementation to use
create extra scopes to avoid reuse of index variable i

Update related tests:
Update test_cuowneroverlapcopy to account for new
class strucutre
Also remove line that invalidates the MPI tests for multiple processes
2024-04-17 13:28:30 +02:00
Arne Morten Kvarving
15d75c5228 WGState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
67f1811234 GroupState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
be57843296 WellState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
58f334b264 ALQState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
ab0e696709 SingleWellState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
e46e52f3dc SegmentState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
d350049876 PerfData: template Scalar type 2024-04-17 11:12:40 +02:00
Atgeirr Flø Rasmussen
4f53ea512b
Merge pull request #5028 from multitalentloes/update_prec_factory
Update prec factory
2024-04-15 14:09:58 +02:00
Bård Skaflestad
b1be391d4c
Merge pull request #5172 from totto82/gconprod7
Implement WELL as group limit action
2024-04-11 17:36:55 +02:00
Tobias Meyer Andersen
24ec3c25ff update prec factory test 2024-04-11 15:19:55 +02:00
Markus Blatt
d4ae595fd5 use fixtures for test_LogOutputHelper 2024-04-11 10:59:46 +02:00
Markus Blatt
4e9eed0acd [fix] Prevent dangling refernces in Logger for test_LogOutputHelper
In the test methods of the test suite we construct a new logger that
logs to a local stringstream. This logger will be stored in a static
map and hence live longer that the test method and the stringstream.

Some methods use Opm::Log::MessageType::Note, others
Opm::Log::MessageType::Warning for adding the loggging backend . There
is one map per MessageType and sometimes (e.g. previous method used Note
and this one uses Warning) we will log to the old logger with dangling
references.

This problem materialized in a segmentation fault on ppc64el architecture.
2024-04-11 09:44:40 +02:00
Arne Morten Kvarving
6fba1a95c9 adjust to removal of EWOMS_REGISTER_PARAM 2024-04-05 12:24:48 +02:00
Arne Morten Kvarving
c8e26b8e35 adjust to parameter removal in Parameters::registerParam 2024-04-05 12:24:19 +02:00
Markus Blatt
ca71415297
Merge pull request #5266 from lisajulia/feature/pyAction-comparison-tests
Comparison tests for PYACTION
2024-04-04 19:40:25 +02:00
Lisa Julia Nebel
6f7cc94da2 Add script to compare the summary files of two different simulator runs 2024-04-03 16:05:44 +02:00
Arne Morten Kvarving
bf83fab00d fixed: segfault due to taking a reference to temporary 2024-04-03 14:36:31 +02:00
Tor Harald Sandve
920ad68782 Implement WELL as group limit action
And remove G as unsupported option in WTEST
2024-04-03 08:51:09 +02:00
Kai Bao
29358ee70b removing the including of FlowProblem in BlackoilWellModel 2024-03-27 13:12:55 +01:00
Arne Morten Kvarving
958f33fbfc GenericProblem: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 16:23:49 +01:00
Arne Morten Kvarving
2a91fb4c2f remove unused ebos/eclnewtonmethod.hh 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
fb7c4f6fd2 move ebos/eclproblem.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
6f5d53b20b move ebos/eclgenericproblem.[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
15339fe02f move ebos/eclproblem_properties.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
7b49bcb09e rename EclBaseProblem to FlowBaseProblem 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
57905c1069 move ebos/ecltransmissibility[_impl].[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
6869516230 changed: move ebos/ebos.hh to test/TestTypeTag.hpp
rename EbosTypeTag to TestTypeTag as it is only used in tests

drop unused EbosProblem class
2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
1362143e48 move ebos/eclgenericvanguard.[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
2d604e12a7 move ebos/eclequilinitializer.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
9d256bc233 move ebos/ecltracermodel.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
3a3881e8d9 move ebos/eclgenerictracermodel[_impl].[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
c9b3de16f1 move ebos/femcpgridcompat.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Bård Skaflestad
d1d22668ea Add Utility for Region-Based Phase-Filled Averages
The initial use case is calculating the phase-filled pore-volume
weighted average of the fluid mass densities per PVT region.  This
value goes into calculating depth-corrected per-cell phase pressure
values such as the BPPO and BPPG summary vectors.

This class manages a single linear array which separately tracks the
averages' numerators and denominators as running sums per region and
region set.  We pick this data structure to simplify the cross-rank
reduction needed in MPI parallel runs.  Client code is expected to
add individual per-cell and per-phase contributions using the
addCell() member function and then call the accumulateParallel()
member to affect the cross-rank reduction.  The averages will then
be available through the fieldValue() and value() member functions.

As a further view towards the initial use case, we track two
different types of average per phase--one for the phase-filled
volume and one for the pore-volume filled volume.  The latter is the
average we would get for the case of the phase saturation being one
throughout the region.  This alternative value is the fallback
option for the case of the phase saturation being identically zero
throughout the region.
2024-02-28 12:08:24 +01:00
Arne Morten Kvarving
991f89816e rename EclWellModel property to WellModel 2024-02-23 10:24:53 +01:00
Arne Morten Kvarving
67c9bba4c9 rename TTag::EclFlowProblem to TTag::FlowProblem 2024-02-23 09:27:48 +01:00
Bård Skaflestad
d69ba021a9
Merge pull request #5168 from lisajulia/feature/removeFilesOnSimulationStartup
Feature/remove files on simulation startup
2024-02-08 17:30:07 +01:00
Lisa Julia Nebel
7077cfb35c Indentation for previous commit 2024-02-08 16:08:55 +01:00
Lisa Julia Nebel
e4080a3fe4 Add 'prepareResultOutputDirectory' function in Opm namespace that removes possible old simulation output files from the specified output directory.
This function is called during 'setupLogging' before the actual logging starts.
2024-02-08 16:08:50 +01:00
Arne Morten Kvarving
b09c70213b FlowMainEbos: rename to FlowMain 2024-02-06 10:42:23 +01:00
Bård Skaflestad
6d2d22f390
Merge pull request #5155 from lisajulia/feature/NONNC
Two more enhancements concerning NONNC
2024-02-02 18:57:13 +01:00
Lisa Julia Nebel
77067c064f Change copyright owner of test_nonnc.cpp to Equinor ASA 2024-02-02 13:15:12 +01:00
Arne Morten Kvarving
d25d4432eb EclInterRegFlows: rename to InterRegFlows 2024-02-02 12:53:11 +01:00
Bård Skaflestad
a6eb7b65a1
Merge pull request #5149 from akva2/adaptivetimestepping_drop_ebos
AdaptiveTimeSteppingEbos: rename to AdaptiveTimeStepping
2024-02-01 18:36:36 +01:00
Arne Morten Kvarving
cbb8cb29f5 AdaptiveTimeSteppingEbos: rename to AdaptiveTimeStepping 2024-02-01 17:57:59 +01:00
Bård Skaflestad
ba3c64443c
Merge pull request #5150 from akva2/istlsolver_drop_ebos
ISTLSolverEbos: rename to ISTLSolver
2024-02-01 17:43:34 +01:00
Arne Morten Kvarving
b6e47ab1e7 ISTLSolverEbos: rename to ISTLSolver 2024-02-01 15:49:40 +01:00
Arne Morten Kvarving
d6f59c1d4b
Merge pull request #5134 from lisajulia/feature/NONNC
Feature/NONNC
2024-02-01 15:13:58 +01:00
Lisa Julia Nebel
631409ec2c Add test for NONNC keyword 2024-02-01 13:57:49 +01:00
Bård Skaflestad
71b383d8e7
Merge pull request #5142 from akva2/blackoilmodel_remove_ebos
BlackoilModel: remove Ebos from class names
2024-02-01 12:34:12 +01:00
Arne Morten Kvarving
e13c77ae95 BlackoilModelEbos: rename to BlackoilModel 2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
dd92a7446c BlackoilModelParametersEbos: rename to BlackoilModelParameters 2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
ce4f138a92 header cleanups 2024-02-01 09:04:21 +01:00
Arne Morten Kvarving
b0c16b8976 add a basic regression test for Damaris output 2024-01-30 15:28:12 +01:00
Bård Skaflestad
472199f63d
Merge pull request #5132 from blattms/fix-shared-linking
Fix linking errors when using shared libraries.
2024-01-30 11:02:51 +01:00
Markus Blatt
819842d7cf Fix linking errors when using shared libraries.
We accomplish that by passing the module version as a string to the
constructors of LogOutputHelper and EclGenericOutputBlackoilModel
instead of calling moduleVersionName() in LogOutputHelper. That way
moduleVersionName is not needed by libopmsimulators anymore and
compilation works again for people requesting shared libraries via
CMake's BUILD_SHARED_LIBS variable.
2024-01-29 16:37:38 +01:00
Arne Morten Kvarving
96a3a6d45a changed: move hdf5serializer to opm/simulators/utils/HDF5Serializer.hpp
does not interact with typetag system
2024-01-29 09:42:49 +01:00
Tor Harald Sandve
343f1201eb make test independent on inplace.size() 2024-01-26 09:15:43 +01:00
Atgeirr Flø Rasmussen
2626fbb84b
Merge pull request #5002 from multitalentloes/add_cudilu
Add cudilu
2024-01-25 15:43:39 +01:00
Tobias Meyer Andersen
4b0dd54f15 Add CUDA implementation of the DILU
preconditioner. Uses graph coloring to exploit
parallelism in upper and triangular solves when
computing a diagonal approximate inverse of a
sparse matrix. Supports blocksizes up to 3.
2024-01-25 14:26:38 +01:00
Bård Skaflestad
eb9ead5577 Support at Least NTFIP Distinict Regions for Inter-Region Flow
This commit ensures that we have backing support for region IDs up
to and including NTFIP (TABDIMS(5), REGDIMS(1)).  The existing setup
would fail (segmentation violation) in the case of a summary vector
of the form

    ROFT
      36 31 /
    /

when the maximum FIPNUM value was 30.  We nevertheless support
maximum FIPNUM values exceeding NTFIP.

We add a new optional parameter to the EclInterRegionFlowMap
constructor.  The parameter allows client code to specifiy a
"minimum maximum" region ID that all ranks must support.  This value
will be enforced during parallel aggregation.
2024-01-24 09:54:44 +01:00
Arne Morten Kvarving
98c704c1c3 changed: move ebos/eclmpiserializer.hh to opm/simulators/utils/MPISerializer.hpp
it does not use the typetag system
2024-01-23 10:51:32 +01:00
Arne Morten Kvarving
873102e9ea added: RST CONV support for polymer, solvent and brine 2024-01-22 09:58:06 +01:00
Bård Skaflestad
ceffbd2fc5 Chase Constructor API Change for Opm::Connection Class 2024-01-15 11:05:02 +01:00
Arne Morten Kvarving
e686fabb39 added: class for calculating RPTRST CONV 2024-01-10 13:07:34 +01:00
Atgeirr Flø Rasmussen
ea623f0f3e
Merge pull request #5050 from totto82/addSource
support source term from deck (SOURCE)
2024-01-09 13:16:16 +01:00
Bård Skaflestad
60c7c79f58 Output Well Flow Sheets for All Wells
There is no need to restrict PRT file flow reports to those wells
which are active on the current rank since the SummaryState object
holds information for all wells active at the current report step.
2024-01-08 08:58:51 +01:00
Torbjørn Skille
72892f0c4b PRT file updates
* Arrays genarated from RPTSOL + FIP is now strictly following Eclipse format
* Adding reservoir volume array also for custom FIP regions
2024-01-03 21:47:54 +01:00
Tor Harald Sandve
16a80fc293 add source to parallel serialization 2023-12-22 10:59:09 +01:00
Tor Harald Sandve
f508f3d4e8 add output of dissolved solvent rswsol 2023-12-21 10:48:58 +01:00
Arne Morten Kvarving
de9c3ddfda added: test for outputdir 2023-12-19 15:21:58 +01:00
Tor Harald Sandve
b9ecc2ac8f
Merge pull request #5058 from totto82/fixInitTemp
BUGFIX. Use given temperature in the density calculations in the initialisation
2023-12-13 15:49:32 +01:00
Tor Harald Sandve
8c66465c71 BUGFIX. Use given temperature in the density calculations in the initialization 2023-12-13 09:45:38 +01:00
Bård Skaflestad
c03f794f9c Remove Dashed Lines Between Records in PRT File Reports
This commit splits the production, injection, and cumulative
*Report_() functions into three logically distinct parts, one for
outputting the report header (begin*Report_()), one for outputting a
single report record (output*ReportRecord_()), and one for ending
the report (end*Report_()).  This simplifies the logic of the
*Record_() member functions since they no longer need to infer the
context which is already available in the caller and can perform a
more narrow task than before.

With this separation we're also able to remove the dashed lines
which would previously separate each report record, thereby creating
PRT file report sheets which have a more expected layout.

Moreover, as an aid to future maintenance, we also factor out common
code for the well and group cases in each *Record_() function.

Finally, fix a unit conversion problem in the report values for
cumulative gas quantities.  The sheet header states that we should
be outputting values in 'MM' prefixed units, but we were only
scaling the gas values by a factor of 1000 instead of 1000*1000.  In
other words, the injection and production gas values in the
cumulative sheet were off by a factor of 1000.
2023-12-11 10:01:22 +01:00
Bård Skaflestad
ec549df37b Remove Spurious Blank Lines in PRT File Reports
The StreamLog::addMessageUnconditionally() member function will end
each message with a newline (std::endl) so we should not add such
newlines ourselves.  The extra newline characters produce spurious
blank lines in the report sheets, e.g., for the "PRODUCTION REPORT".

This commit removes the last newline character from each report
request, thus deferring that responsibility to OpmLog::note()
instead.  Doing so, however, means we have take a little more care
with the first line of each report lest we create report sheets
which are smushed together.
2023-12-08 10:22:43 +01:00
Arne Morten Kvarving
7da71783ba fix dead stores 2023-12-04 12:40:55 +01:00
Arne Morten Kvarving
06d0e7f877
Merge pull request #4967 from multitalentloes/parallelize_cpu_dilu
OpenMP parallelize DILU with matrix reordering
2023-11-22 11:19:23 +01:00
Kai Bao
9f0fb32713 various cleaning up and refactoring for co2 ptflash simulation 2023-11-21 15:52:56 +01:00
Trine Mykkeltvedt
83cb5670b7 a simple 1D test demonstrating the usage of the PTFlash compostional modeling 2023-11-21 15:52:56 +01:00
Tobias Meyer Andersen
5f6c97ff3b add OpenMP parallelized version of DILU.
Implement graphcoloring to expose rows in level sets that that can be
executed in parallel during the sparse triangular solves.
Add copy of A matrix that is reordered to ensure continuous memory reads
when traversing the matrix in level set order.
TODO: add number of threads available as constructor argument in DILU
2023-11-21 15:41:53 +01:00
Arne Morten Kvarving
842af08276 test_graphcoloring: cosmetics 2023-11-21 15:20:07 +01:00
Tobias Meyer Andersen
e2a531dd65 replace loop with std function, remove print from test 2023-11-21 09:52:48 +01:00
Tobias Meyer Andersen
3cd1873771 add graph coloring 2023-11-20 16:57:56 +01:00
Arne Morten Kvarving
9af3a2f790 fixed: we need to initialize logger before parsing
parsing logs some errors which meant using uninitialized values
if no logger has been set
2023-11-20 15:06:52 +01:00
Tobias Meyer Andersen
6ca84a16e1 test_dilu: cosmetics 2023-11-20 13:06:44 +01:00
Tor Harald Sandve
e33d27ca90
Merge pull request #4973 from daavid00/enabledisgaswatvap
Enabling disGas and watVap at compile time for gasWaterBrine systems
2023-11-13 15:01:38 +01:00
Arne Morten Kvarving
44ce054492 changed: refactor LogOutputHelper::fip
only do one output per call. allow passing the name of the
regions to process
2023-11-09 13:08:17 +01:00
David Landa Marban
92de5355b2 Enabling disGas and watVap at compile time for gasWaterBrine 2023-11-07 18:35:30 +01:00
Arne Morten Kvarving
de0b249eaa fixed: make sure we get exact match for test name
if not test names that are a substring of another might
match the wrong entry in the file
2023-11-03 10:48:55 +01:00
Arne Morten Kvarving
2fcc8bddd4 avoid more dead stores 2023-11-02 12:14:10 +01:00
Bård Skaflestad
bf72698310
Merge pull request #4832 from totto82/wdaccor_refactor
Implement Forchheimer term in wellIndex
2023-10-31 17:46:49 +01:00
Arne Morten Kvarving
5e801bc488 avoid dead stores 2023-10-27 08:59:15 +02:00
Tor Harald Sandve
90e791877c Implement Forchheimer term in wellIndex
Add output of CDFAC

Add effect of compaction on CTFAC
2023-10-23 08:55:21 +02:00
jakobtorben
ab0ca76194 Add DILU preconditioner 2023-10-18 14:30:17 +02:00
Tobias Meyer Andersen
8b396fa3dc Update test properties of new tests using CUDA. Avoid comparison causing new warning 2023-10-16 11:31:00 +02:00
Tobias Meyer Andersen
533c5a1a3e Combine new diagonalMV kernels into one using
template arguements.
Use more consistent naming conventions.
Change printing function of CuVector from output
stream overload to toDebugString().
2023-10-16 09:53:02 +02:00
Tobias Meyer Andersen
c809819cbd Fuse kernels to optimize performance and update
the tests and documentation.
2023-10-13 10:31:17 +02:00
Tobias Meyer Andersen
1e4b0e97ee Add jacobi preconditioner that runs on the GPU.
Implement calls to cuBlas, cuSparse and implement necessary
CUDA kernels to perform a single iteration of the jacobi preconditioner.

Add tests that verify new kernels and the preconditioner in its totality.

The preconditioner is verified on 2x2 and 3x3 blocks, which as of now
are the only supported sizes. 1x1 are not supported because cuSparse
does not support it.
2023-10-13 10:31:17 +02:00
Atgeirr Flø Rasmussen
18883e7f83 Use the non-accelerated linear solver for some tests.
This is just for the type tag.
2023-09-25 10:44:06 +02:00
Bård Skaflestad
9c58585538
Merge pull request #4823 from akva2/ecltimestepping_separate
changed: put ecl time stepping parameters in separate struct
2023-09-04 10:54:46 +02:00
Tor Harald Sandve
80cbfe7fda
Merge pull request #4819 from hakonhagland/gecon3
Implement support for GECON keyword
2023-09-01 15:06:48 +02:00
Atgeirr Flø Rasmussen
06c706e7d6 Also copy flags, and helper function with test. 2023-08-31 13:01:50 +02:00
Arne Morten Kvarving
3c525aefae changed: put ecl time stepping parameters in separate struct
this to allow reuse in ebos simulators
2023-08-30 11:22:22 +02:00
Håkon Hægland
dba282c7a4 Added missing header file 2023-08-29 09:14:35 +02:00
Vegard Kippe
8666cd8dc3 re-introducing line that was deleted by mistake.. 2023-08-25 14:26:51 +02:00
Vegard Kippe
0944cbbed9 fixing indent 2023-08-25 14:13:04 +02:00
Vegard Kippe
4ff08ffd2d Added testcase for TUNING/TSINIT and NEXTSTEP - depends on https://github.com/OPM/opm-tests/pull/1028 2023-08-25 14:01:51 +02:00
Arne Morten Kvarving
13b0e14f18 EclGenericProblem: remove unused time steppping parameters
and remove some hidden duplicates
2023-08-15 14:02:55 +02:00
Arne Morten Kvarving
46aae8cda6 changed: move EclInterRegFlows to opm/simulators/flow
no opm-models usage
2023-08-15 13:14:42 +02:00
Arne Morten Kvarving
933f28b575 add tests for LogOutputHelper
reference data was created before the refactoring
2023-08-14 11:44:32 +02:00
Bård Skaflestad
95d715b807 Add Parallel Calculation Support for WBPn/WPAVE
This commit adds a parallel calculation object derived from the serial
PAvgCalculator class.  This parallel version is aware of MPI
communicators and knows how to aggregate contributions from wells that
might be distributed across ranks.

We also add a wrapper class, ParallelWBPCalculation, which knows how to
exchange information from PAvgCalculatorCollection objects on different
ranks and, especially, how to properly prune inactive cells/connections.
2023-07-07 15:01:05 +02:00
Arne Morten Kvarving
4d35ec26de isNumericalAquiferCell: put in separate struct for easier reuse 2023-07-04 14:56:10 +02:00
Arne Morten Kvarving
c3847e8325 simplify cmake code for tuning tests
add a post command to the runSimulator script and use this to
execute the unit test at the end of the run
2023-07-03 09:05:45 +02:00
Vegard Kippe
7fc9a2eef3 Addressing review comments. 2023-06-30 12:21:25 +02:00
Vegard Kippe
7a0074f0e9 Cleaning up test code 2023-06-29 15:22:52 +02:00
Vegard Kippe
a80f44a3be Updating variable name in SimulatorFullyImplicitBlackoilEbos.hpp and adding tests 2023-06-29 15:20:38 +02:00
Bård Skaflestad
77adc6ea3b Add Container for Dynamic WBPn Source Values
This commit adds a new container class,

    ParallelPAvgDynamicSourceData

which inherits from PAvgDynamicSourceData and provides a parallel
view of source contributions.  Member function

    collectLocalSources

will call the user-provided source term evaluation function for each
source location in its purview--typically those locations owned by
the current MPI rank.  Those values will be distributed to other MPI
ranks through member function synchroniseSources which will fill the
base class' 'src_' data member, and become available to clients
through read-only item spans.
2023-06-21 12:06:49 +02:00
Arne Morten Kvarving
3c566a9e4e avoid dead store 2023-06-21 08:59:26 +02:00