Commit Graph

1064 Commits

Author SHA1 Message Date
Markus Blatt
6921db4282 omit unnescessary function parameter for EDINCC 2024-06-10 14:50:55 +02:00
Svenn Tveit
adc36d64a5 Output rates to multisegment wells 2024-06-10 14:50:55 +02:00
Markus Blatt
fc67eaeeda Prevent spurious warnings about NNCs when applying EDITNNC in parallel.
If we use transmissibilities for loadbalancing, then we calculate
transmissibilities twice. First on the global grid before
loadbalancing and then on the local grid after that. This is the
default. In this case all warnings will be shown correctly when
calculating the global transmissibilities.

If the user requests the same weights for all faces (command line
parameter --edge-weights-method=0) then the transmissibilities are only
calculated on the loadbalanced grid. Unfortunately, in this case only
rank 0 will issue warnings for his part including the false positives
mentioned below.

Due to load balancing many NNCs might be stored on another process,
but we still use all EDITNNC entries when computing transmissibilties
locally. Hence when applying EDITNNC on the loadbalanced grid we
will issue warnings for cases where there are no problems (e.g. NNC
between two overlap cells.

With this PR we will only warn when computing the transmissibilities
for the first time. For the default settings this will remove spurious
and duplicate warnings.

Not that for --edge-weights-method=0 nothing changes and we will still
see only warnings for the first rank including spurious one.
2024-06-10 14:50:55 +02:00
Svenn Tveit
db970d58d2 Changed to Scalar type.
Following commit 61bfea46c7.
2024-06-10 14:48:49 +02:00
Svenn Tveit
1645559342 Fix mass exchange term.
Additionally, store separate well terms for free and solution tracers
2024-06-10 14:48:45 +02:00
Svenn Tveit
050ce2de3b Fixes after rebase 2024-06-10 14:41:21 +02:00
Svenn Tveit
b00cc2c1a5 Extend tracer model to solution tracers.
Solve an extended linear system with free and solution tracers with mass transfer coupling term.
2024-06-10 14:41:21 +02:00
Bård Skaflestad
58edb5b9aa
Merge pull request #5417 from blattms/feature-correct-comment-parallel
Update wrong comment about storage of transmissibilities
2024-06-07 16:50:38 +02:00
Atgeirr Flø Rasmussen
fc906842ad
Merge pull request #5352 from jcbowden/damaris-limit-variables-v1
Add ability to pass multiple variables to Damaris using DamarisWriter class.
2024-06-07 15:54:59 +02:00
Markus Blatt
d80b8411b7 Fixed spelling of comments. 2024-06-07 14:58:47 +02:00
Markus Blatt
2f3c1b7310 Update wrong comment about storage of transmissibilities
This is a follow up of the fix in #5414.

The comment said that the ordering of the compressed index of cells is
coherent with the cartesian index. THis is not the case in parallel
where cells in the overlap/ghost region might be ordered last (default).
2024-06-07 06:46:18 +02:00
Markus Blatt
302503e172
Merge pull request #5414 from totto82/fix_mpi_edit_trans
Fix modifications of TRANX/Y/Z in parallel (e.g. MULTIPLY of TRANX in EDIT)
2024-06-07 06:28:35 +02:00
Bård Skaflestad
e3bf48541f
Merge pull request #5406 from GitPaean/only_trans
only allocate trans_ for globalTrans_
2024-06-06 21:50:11 +02:00
Kai Bao
8f67881809 using enum class to replace boolean onlyTrans for
Transmissibility::update() for better readability, which is suggested by the reviewer.
2024-06-06 20:09:44 +02:00
Atgeirr Flø Rasmussen
ab4d9cb36e Initialize double member for serialization test. 2024-06-06 15:24:20 +02:00
Tor Harald Sandve
42702e1d50 Fix mpi for MULTIPLY TRANX in EDIT 2024-06-06 12:59:41 +02:00
Atgeirr Flø Rasmussen
f06c238753 Add damping treatment to subdomain Newton iterations. 2024-06-06 12:59:22 +02:00
josh bowden
6fcec07bab cast to remove: comparison of integer expressions of different signedness warning. 2024-06-06 10:36:25 +02:00
Kai Bao
303a677a81 only allocate trans_ for globalTrans_
others are not needed for globalTrans_ for now. It will help to flatten
the peak memory usage for rank 0 during a parallel running.
2024-06-05 21:35:46 +02:00
josh bowden
7fc6cc0430 Other small additions from github comments and removal of compile time logic that checks for ParaView and Python - makes code more readable and alows use of Damaris libraries with differing compiled in backends to be swapped without need for recompiling opm-simulators 2024-06-05 17:26:34 +02:00
Bård Skaflestad
4cf8a50b26
Merge pull request #5398 from atgeirr/minor-oscillation-handling-fix
Detect oscillation in just one phase.
2024-06-05 13:56:35 +02:00
Atgeirr Flø Rasmussen
558d888d90 Allow oscillation detection with less that two phases.
We should not require two phases to have oscillating residuals to
start handling it.
2024-06-05 11:50:01 +02:00
Tor Harald Sandve
8b5fced909 avoid mass creation with drsdt 2024-06-04 15:10:11 +02:00
Vegard Kippe
78cc10f620 Fix typo 2024-06-03 15:26:16 +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
Bård Skaflestad
6e8da2309b Delay UDQ Assignments Until After Summary Output
Commit 0aaa69c6e (PR #5330) was a little too eager in its effort to
handle UDQ ASSIGN operations after action processing[%].  In
particular, the assignments, which alter the internal structures of
the SummaryState and UDQState objects, would happen prior to writing
summary files.  In turn, this would make it appear as if the
assignment happened too early.  This commit defers UDQ assignments
triggered by action processing until FlowProblem<>::endEpisode() for
two reasons

  1. The problem originally addressed in 0aaa69c6e only presented
     when the assignment was triggered on the final time step of an
     episode (report step), so handling this situation here is a
     more targeted approach.

  2. Member function FlowProblem<>::endEpisode() is called after we
     write the summary file output so any alterations to the
     internal structures of the SummaryState will not be visible in
     the summary output until the next time step.  This is the
     expected behaviour.

[%] Insufficient testing by: [at]bska.
2024-05-28 18:16:30 +02:00
Atgeirr Flø Rasmussen
6a7e1e08c0 Avoid memory leak from the *unique_ptr<X>.release() antipattern. 2024-05-28 16:49:08 +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
600e7ea2f7 Transmissibility: consistently use Scalar type 2024-05-23 08:42:51 +02:00
Arne Morten Kvarving
27ca3ab5f7 OutputBlackoilModule: consistently use Scalar type 2024-05-23 08:34:09 +02:00
Arne Morten Kvarving
39554ab7dd NonLinearSolver: use Scalar type 2024-05-23 08:25:37 +02:00
Arne Morten Kvarving
cdf227bcbd BlackoilModelParameters: consistently use Scalar
parameters are registered as Scalar not double
2024-05-23 08:17:45 +02:00
Arne Morten Kvarving
2205c68f0d BlackoilModel: use Scalar type 2024-05-23 08:09:53 +02:00
Arne Morten Kvarving
aa4758ff07 BlackoilModelNldd: use Scalar type 2024-05-22 15:52:13 +02:00
Arne Morten Kvarving
61bfea46c7 GenericTracerModel: use Scalar type 2024-05-22 15:46:50 +02:00
Bård Skaflestad
0aaa69c6e0 Rerun UDQ Assignments After Action Processing
If an action block happens to run a UDQ ASSIGN operation and,
furthermore, happens to run at the last time step of an episode then
the "clear pending assignments" behaviour of the ScheduleState copy
constructor leads to not performing the UDQ assignment at all.  This
commit works around this problem by invoking the action handler's
UDQ assignment function after processing all active action blocks.

The underlying problem has been present since at least Pull Request
OPM/opm-common#3587 which introduced the "clear pending assignments"
behaviour of ScheduleState's copy constructor.
2024-05-21 13:51:06 +02:00
Bård Skaflestad
9731a84cad Adjust Whitespace in FlowProblem File
In particular, be consistent about four-space indent levels and add
braces to a number of single-statement control blocks.  Add a few
blank lines for readability.

While here, also mark a number of objects as 'const'.
2024-05-21 13:51:06 +02:00
Bård Skaflestad
8a4e78e7c4
Merge pull request #5354 from akva2/various_well_helpers_template_scalar
Various well helpers: template Scalar type
2024-05-21 13:14:50 +02:00
josh bowden
2744614f9c update after pull request comments; addition of OUTPUTDIR variable to Damaris XML configuration 2024-05-17 17:36:18 +02:00
Arne Morten Kvarving
b74b170d5b fixed: build with dune-fem 2.9 2024-05-16 10:58:08 +02:00
Tor Harald Sandve
2ea6cea895
Merge pull request #5292 from gdfldm/patch-1
Update GMDS and GMGP definitions in GenericOutputBlackoilModule.cpp
2024-05-15 15:00:10 +02:00
Arne Morten Kvarving
ee1c531431 InitStateEquil: remove template parameter from Comm and use Parallel::Communication directly
in the process this quells a deprecation warning for
Dune::CollectiveCommunication usage
2024-05-15 11:20:29 +02:00
josh bowden
3630177e3e added ability to pass through multiple variables to Damaris, with full list still defined in initDamarisXmlFile.cpp ; Also adds ability to limit the variables to be passed through using --damaris-limit-variables=<CSV list> coammand line option 2024-05-14 21:08:47 +02:00
Arne Morten Kvarving
f70c7f15f8 ActionHandler: template Scalar type 2024-05-14 16:21:55 +02:00
Bård Skaflestad
2e7a7a0c44
Merge pull request #5347 from akva2/janitoring_gcc14
add missing include
2024-05-13 21:27:26 +02:00
Arne Morten Kvarving
5d54d36dc4 add missing include
in particular fixes build with gcc14
2024-05-13 15:05:47 +02:00
Bård Skaflestad
0f67799e9c
Merge pull request #5344 from totto82/GMST
Add GMST and modify GMTR output the maximum trapped CO2 in the gas phase
2024-05-13 13:56:49 +02:00
Tor Harald Sandve
b42a8cbcc3 Add output of GMST/GMUS
Rename GMTR to GMMO as ending with TR are used for tracers
[FR]GMTR output maximum trapped CO2 in the gas phase
2024-05-13 11:24:08 +02:00
Kai Bao
5fda72d24f removing unused releaseGlobalTransmissibility()
from AluGridVanguard and CpGridVanguard.
they exist is becaluse of typo in the function name. There is another
releaseGlobalTransmissibilities() function actually gets used.
2024-05-10 16:45:00 +02:00
Bård Skaflestad
a417968464
Merge pull request #5333 from GitPaean/remove_unused_updateImbnum_
removing unused updateImbnum_ function
2024-05-08 10:59:41 +02:00
Kai Bao
b225ec240f removing updateKrnum_
which does not have effects, which was suggested by Håkon Hægland.

And also removing the following member variables from
FlowGenericProblem because they are not in use anymore.

    krnumx_, krnumy_, krnumz_;
    imbnumx_, imbnumy_, imbnumz_;
2024-05-08 09:41:46 +02:00
Kai Bao
79236c4927 removing unused updateImbnum_ function 2024-05-08 09:33:00 +02:00
Bård Skaflestad
cc28bbe989 Enforce Relaxed Tolerances Not Stricter Than Strict
Relaxed tolerances being more strict than the strict tolerances does
not make sense in our use case.
2024-05-07 15:03:18 +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
Bård Skaflestad
f01635dcf2
Merge pull request #5331 from totto82/fix_restart_co2
Bugfix: initialize the input temperature in restart run without temperature in the restart file
2024-05-06 11:19:18 +02:00
Bård Skaflestad
26c59ce5cb
Merge pull request #5329 from vkip/input_skip_mode
Add parameter InputSkipMode to parameterise SKIP100 and SKIP300
2024-05-06 10:56:38 +02:00
Tor Harald Sandve
c6c447dc94 initialize the input temperature in restart run without temperature in the restart file 2024-05-06 10:21:42 +02:00
Bård Skaflestad
1e9943bfe6 Accumulate CNV Pore-Volume Sum for Interior Cells Only
The 'interiorBorder' category is *probably* equivalent to the
'interior' category for codimension zero elements, but it's better
to be safe than sorry.  We don't want to accumulate pore-volume
contributions twice.
2024-05-03 14:19:00 +02:00
Bård Skaflestad
226e90f8e1
Merge pull request #5324 from daavid00/fixMass
Bug fix massGas in place
2024-05-03 09:41:14 +02:00
Vegard Kippe
b68a55a9b9 Add parameter InputSkipMode to parameterise the behvaviour of the SKIP100 and SKIP300 keywords 2024-05-03 09:28:14 +02:00
Atgeirr Flø Rasmussen
f0855f4f48
Merge pull request #5293 from totto82/fixInitGW
Fix gas-water initialization with transision zone
2024-05-02 15:57:13 +02:00
Håkon Hægland
a1b7d4b5dd Allow Python bindings to setup MPI
Allows the Python bindings to control whether MPI_Init() and
MPI_Finalize() will be called when creating an OPM::Main object.
2024-05-02 11:14:07 +02:00
David Landa Marban
955cdbf02f Bug fix massGas in place 2024-04-30 11:51:16 +02:00
Atgeirr Flø Rasmussen
e767b6145f Avoid getting parameters in hot path. 2024-04-26 16:46:27 +02:00
Arne Morten Kvarving
f0e7f8842b BlackoilWellModelGeneric: template Scalar type 2024-04-23 11:33:33 +02:00
Bård Skaflestad
450bfd04fb
Merge pull request #5297 from akva2/fix_rstconv_mpich
fixed: do not send and recv from same buffer
2024-04-19 23:30:37 +02:00
Arne Morten Kvarving
70c9e5345d fixed: do not send and recv from same buffer
even though it's perfectly fine to do so in this case, mpich
will error out with an error if send and recv buffer is
the same
2024-04-19 20:10:47 +02:00
Tor Harald Sandve
af2e08d5aa Also fix gas-oil initialization with transision zone 2024-04-19 10:12:14 +02:00
Tor Harald Sandve
575bc813dd Fix gas-water initialization with transision zone 2024-04-19 08:39:24 +02:00
Matthew Goodfield
6ed2d95929
Update GMDS and GMGP definitions in GenericOutputBlackoilModule.cpp
Should GMDS be CO2 dissolved in water phase and GMGP be CO2 in gas phase (rather than the other way around)?
2024-04-17 12:31:10 +01:00
Arne Morten Kvarving
be57843296 WellState: template Scalar type 2024-04-17 11:12:40 +02:00
Arne Morten Kvarving
0aacefeeec adjust to Parameters::isSet change 2024-04-15 08:12:05 +02:00
David Landa Marban
9671792106 summary for immobile free-phase at saturations for which the nonwetting relative permeability equals zero 2024-04-12 15:31:22 +02:00
Bård Skaflestad
ac9d6eaa34 Prepare for Including Region Level Quantities in Field Level UDQs
Meet the new UDQConfig::eval() API requirement by adding a matcher
factory for region-level summary vectors.
2024-04-08 09:04:22 +02:00
Bård Skaflestad
10d2f52cd2 Add Procedure for Calculating Basic FIP Region Statistics
This commit implements the parallel version of

    EclipseState::computeFipRegionStatistics()

which computes a FIPRegionStatistics object for the current run's
fluid-in-place regions.  The object construction uses an MPI-aware
reduction process to compute the maximum region IDs across all MPI
ranks.

While here, also unconditionally form the statistics object as part
of the EclWriter's constructor to ensure that all ranks participate
in the process.  The initial approach of constructing the object on
first use is not robust in parallel.  We may however wish to compute
these statistics only when needed.  If so, that will be the subject
of follow-up work.
2024-04-05 17:06:13 +02:00
Arne Morten Kvarving
0161d69660 adjust to removal of EWOMS_GET_PARAM 2024-04-05 14:02:28 +02:00
Arne Morten Kvarving
b8284fea9c adjust to Parameters::hideParam change 2024-04-05 12:56:38 +02:00
Arne Morten Kvarving
6fba1a95c9 adjust to removal of EWOMS_REGISTER_PARAM 2024-04-05 12:24:48 +02:00
Arne Morten Kvarving
fdab87d336
Merge pull request #5255 from BigDataAccelerate/fix_dep_rocm_ocl
Bug fix: remove dependencies for rocm & cuda on opencl to run block Jacobi ILU
2024-04-05 12:02:30 +02:00
Arne Morten Kvarving
21bc4c7f0d adjust to EWOMS_HIDE_PARAM macro removal 2024-04-04 08:18:19 +02:00
Bård Skaflestad
3334726871
Merge pull request #5270 from akva2/adjust_ewoms_param_is_set
adjust to EWOMS_PARAM_IS_SET macro removal
2024-04-03 21:47:52 +02:00
Arne Morten Kvarving
46c3402eba adjust to EWOMS_PARAM_IS_SET macro removal 2024-04-03 19:54:45 +02:00
Arne Morten Kvarving
b4d2189bd2 adjust to EWOMS_END_PARAM_REGISTRATION macro removal 2024-04-03 16:18:39 +02:00
Bård Skaflestad
1799b6ee07 Switch to Using Declared Maximum Region IDs From Common
The declaredMaxRegionID() function is now available in OPM-Common.
2024-03-22 21:24:11 +01:00
Bård Skaflestad
785b96f6f3 Distribute SummaryConfig Objects With eclBroadcast
Suggested by [at]akva2.

While here, also switch to using type deduction instead of explicit
template arguments for the eclBroadcast overloads.
2024-03-22 16:53:51 +01:00
Bård Skaflestad
8e9cb4b249 Defer SummaryConfig Initialisation
In the current approach, the full list of summary vectors,
especially those that are defined at the region level, is not known
until we've processed all UDQ and/or ACTIONX definitions.  As a
quick solution to this, switch to using the 'SummaryConfig' object
that's defined in the EclipseIO container instead of the object that
gets constructed when reading the input files.

It is likely that we will have to rethink and refactor this
construction process later.
2024-03-22 16:53:51 +01:00
Antonella Ritorto
5e1a37e497 Simulation partially supported for CpGrid with LGRs 2024-03-20 08:48:09 +01:00
Razvan Nane
0fcad4b0fc Bug fix: remove dep rocm & cuda on opencl for blockJacobi ILU 2024-03-13 16:47:55 +01:00
Arne Morten Kvarving
696f9cd875
Merge pull request #5228 from akva2/simplify_template_params
Simplify template params
2024-03-08 17:03:03 +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
5972b3c88d MixingRateControls: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 16:23:47 +01:00
Arne Morten Kvarving
2c35cb9659 GenericOutputBlackoilModule: remove unnecessary Scalar template parameter
use the Scalar type from the FluidSystem
2024-03-08 16:23:39 +01:00
Bård Skaflestad
6a43099511
Merge pull request #5249 from atgeirr/nldd-add-missing-convergence-metrics
Add missing convergence metrics to domain convergence report.
2024-03-08 15:39:16 +01:00
Arne Morten Kvarving
32e1a86f4f OutputBlackoilModule: rename ebosResid to modelResid 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
638e5006e0 FlowGenericProblem: remove ebos banner 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
52fb89b66e PyFluidState: rename ebos_simulator to simulator
and align ref/ptr with variable type
2024-03-08 12:39:48 +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
9facaaf816 ebos/damariswriter: move to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
76ccaf45ef ebos/damaris_properties.hh: move to opm/simulators/flow 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
6949abbf0d move ebos/eclbasevanguard.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
9fe969378d move ebos/eclgenericcpgridvanguard.[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
04ed17ebd0 move ebos/eclcpgridvanguard.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
bc2dd1110e move ebos/eclfluxmodule.hh 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
d717d96590 move ebos/eclthresholdpressure.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
f6475f8c1e move ebos/eclgenericthresholdpressure[_impl].[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
e6eac2039b move ebos/vtkecltracermodule.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
a01e1bd902 move ebos/eclsolutioncontainers.[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
eb90588fa9 move ebos/eclmixingratecontrols.[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
ddb7c65f97 move ebos/eclwriter.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
8d667301cc move ebos/eclgenericwriter[_impl].[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
e7094558ef move ebos/eclpolyhedralgridvanguard.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
e168066003 move ebos/FIBlackOilModel.hpp 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
Arne Morten Kvarving
388c6c72f7 Flow: drop ebos from simulator object filenames 2024-03-08 12:39:48 +01:00
Atgeirr Flø Rasmussen
8e60fecb85 Add missing convergence metrics to domain convergence report. 2024-03-08 10:37:20 +01:00
Markus Blatt
f04f4c5765
Merge pull request #5239 from akva2/move_flow_utilities_dedicated_file
changed: rename FlowMain.cpp to FlowUtils.cpp
2024-03-07 17:35:59 +01:00
Kai Bao
75f38ca726
Merge pull request #5178 from akva2/baseaquifermodel_move
move ebos/eclbaseaquifermodel.hh to opm/simulators/flow
2024-03-06 12:47:51 +01:00
Kai Bao
aa2fa12598
Merge pull request #5167 from akva2/drop_ebos_simulator_params
Rename ebos_simulator parameters to simulator
2024-03-06 11:48:03 +01:00
Kai Bao
5f2c9192d0
Merge pull request #5177 from akva2/move_collect_iorank
ebos/collecttoiorank: move to opm/simulators/flow
2024-03-06 11:44:46 +01:00
Arne Morten Kvarving
3475da7d8c Rename ebos_simulator members/parameters to simulator 2024-03-06 10:53:00 +01:00
Arne Morten Kvarving
d5748b6c55 Drop ebos in function names 2024-03-06 10:13:01 +01:00
Arne Morten Kvarving
233d4c90ac ebos/collecttoiorank: move to opm/simulators/flow 2024-03-06 09:30:21 +01:00
Arne Morten Kvarving
8d033f94de move ebos/eclbaseaquifermodel.hh to opm/simulators/flow 2024-03-06 09:17:19 +01:00
Arne Morten Kvarving
fdb285c03a changed: rename FlowMain.cpp to FlowUtils.cpp
and add a dedicated header.

this way we don't need to pull in FlowMain.hpp for the prototypes,
avoiding pulling in the entire simulator machinery just to build
some simple utility functions.
2024-03-06 07:57:25 +01:00
Kai Bao
9f13a25ebc
Merge pull request #5175 from akva2/move_alugrid
Move AluGrid files from ebos to opm/simulators/flow
2024-03-06 00:02:12 +01:00
Kai Bao
ed9876a5c4
Merge pull request #5185 from akva2/move_outputblackoilmodule
Move BlackoilOutputModule from ebos to opm/simulators/flow
2024-03-05 23:31:44 +01:00
Markus Blatt
2cd490b601 [Fix] Correct handling of NEXTSTEP in ACTIONX
Previously, the step size would only have used for the first time step
of the next report step (at least of --enable-tuning=true was used).
2024-03-05 13:59:24 +01:00
Håkon Hægland
67bcc491ff Remove unused variables 2024-03-05 09:22:15 +01:00
Håkon Hægland
66eb6e1625 use the elements() range generator 2024-03-05 08:53:54 +01:00
Arne Morten Kvarving
b6cbf513bc move ebos/ecloutputblackoilmodule.hh to opm/simulators/flow 2024-03-04 13:09:48 +01:00
Arne Morten Kvarving
41319eab7d move ebos/eclgenericoutputblackoilmodule.[hh|cc] to opm/simulators/flow 2024-03-04 13:03:42 +01:00
Håkon Hægland
757c67f284 Return vectors by value
Return vectors by value instead of unique pointers to arrays.
2024-03-01 14:22:37 +01:00
Håkon Hægland
55aab60549 Get primary variables and fluid state from Python
Added methods to Python module opm.simulators.BlackOilSimulator to
access primary variables and fluid state variables.
2024-03-01 14:22:35 +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
0039c1f25f move ebos/eclalugridvanguard.hh to opm/simulators/flow 2024-02-23 15:27:53 +01:00
Arne Morten Kvarving
f95c114716 move ebos/alucartesianindexmapper.hh to opm/simulators/flow 2024-02-23 15:27:28 +01:00
Arne Morten Kvarving
3087950c35
Merge pull request #5181 from akva2/move_gradient_calculator
move ebos/ecldummygradientcalculator.hh to opm/simulators/flow
2024-02-23 15:24:44 +01:00
Arne Morten Kvarving
6b0dbfdf2d rename EclAquiferModel property to AquiferModel 2024-02-23 10:25:16 +01:00
Arne Morten Kvarving
991f89816e rename EclWellModel property to WellModel 2024-02-23 10:24:53 +01:00
Markus Blatt
72d8abb837
Merge pull request #5209 from akva2/drop_ecl_typetags
Rename typetags - drop Ecl prefix
2024-02-23 10:01:26 +01:00
Arne Morten Kvarving
4aa6dc355f rename TTag::EclFlowProblemTPFA to TTag::FlowProblemTPFA 2024-02-23 09:27:48 +01:00
Arne Morten Kvarving
67c9bba4c9 rename TTag::EclFlowProblem to TTag::FlowProblem 2024-02-23 09:27:48 +01:00
Arne Morten Kvarving
d8fa9c3396 LogOutputHelper: align table 2024-02-23 08:20:14 +01:00
Markus Blatt
4d40197406
Merge pull request #5215 from vkip/nextstep_without_tuning
Ensure NEXTSTEP is respected also without --enable-tuning=true
2024-02-21 16:09:23 +01:00
Atgeirr Flø Rasmussen
283086edeb
Merge pull request #5211 from akva2/flows_simplify_data_structure
Flows: simplify data structure
2024-02-20 13:42:51 +01:00
Atgeirr Flø Rasmussen
f79b5abe8a
Merge pull request #5173 from totto82/relaxed_mb
Add relaxed mb tolerance parameter
2024-02-20 11:30:56 +01:00
Vegard Kippe
b8b9a3810d Ensure NEXTSTEP is respected also withouth --enbale-tuning=true 2024-02-19 19:15:43 +01:00
Arne Morten Kvarving
e7f32f44e7 remove duplicate EclEnableTuning parameter 2024-02-16 17:53:27 +01:00
Arne Morten Kvarving
7dcc411397 Flows: simplify data structure 2024-02-16 14:51:51 +01:00
Tor Harald Sandve
c73337186e clean-up relaxed tolerances 2024-02-15 09:22:42 +01:00
Tor Harald Sandve
3c8ac1fd74 Use relaxed tolerances if maximum number of iterations are used 2024-02-15 08:27:51 +01:00
Tor Harald Sandve
50670b35c4 Add relaxed mb tolerance parameter 2024-02-15 08:27:51 +01:00
Atgeirr Flø Rasmussen
780f282ed8
Merge pull request #5174 from atgeirr/time-reporting-improvements
Time reporting improvements
2024-02-14 19:36:43 +01:00
Arne Morten Kvarving
d738ad2740 move ebos/ecldummygradientcalculator.hh to opm/simulators/flow 2024-02-12 11:19:23 +01:00
Atgeirr Flø Rasmussen
346e37c218 Removing redundant report output and renaming. 2024-02-12 10:54:50 +01:00
Atgeirr Flø Rasmussen
4a60c3c6c2 Add setup and deck read timing to end-of-run report. 2024-02-09 14:52:34 +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
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
3b570cdfeb BlackoilModelNldd: rename ebosResid to residual 2024-02-08 11:45:41 +01:00
Arne Morten Kvarving
251efaf38c BlackoilModelNldd: rename ebosProblem to problem 2024-02-08 11:43:46 +01:00
Arne Morten Kvarving
f81d72faef BlackoilModelNldd: rename ebosModel to model 2024-02-08 11:38:47 +01:00
Arne Morten Kvarving
9287374ad8 BlackoilModelNldd: rename ebosNewtonMethod to newtonMethod 2024-02-08 11:31:02 +01:00
Arne Morten Kvarving
16b0b942e9 BlackoilModel: rename ebosProblem to problem 2024-02-08 11:24:49 +01:00
Arne Morten Kvarving
dc798d0a24 BlackoilModel: rename ebosModel to model 2024-02-08 11:16:53 +01:00
Arne Morten Kvarving
aaaf230724 BlackoilModel: rename ebosNewtonMethod to newtonMethod 2024-02-08 11:10:01 +01:00
Arne Morten Kvarving
9a4d984322 BlackoilModel: rename ebosSolver to linSolver 2024-02-08 11:03:33 +01:00
Arne Morten Kvarving
fab4544523 BlackoilModel: rename ebosResid to residual 2024-02-08 10:56:48 +01:00
Arne Morten Kvarving
1f24fb1a35 BlackoilModel: rename ebosJac to jacobian 2024-02-08 10:41:54 +01:00
Arne Morten Kvarving
5e4c5e8174 BlackoilModel: rename ebosSimulator to simulator 2024-02-08 10:38:25 +01:00
Markus Blatt
3ae685d47c
Merge pull request #5146 from akva2/flowmain_drop_ebos
rename FlowMainEbos to FlowMain
2024-02-06 16:24:33 +01:00
Arne Morten Kvarving
de7e442690 Banners.hpp: fix comment 2024-02-06 14:02:02 +01:00
Arne Morten Kvarving
1ec34f0da2 EclActionHandler: rename to ActionHandler 2024-02-06 10:43:30 +01:00
Arne Morten Kvarving
2bec00bb9b FlowMain: rename ebosSimulator to modelSimulator 2024-02-06 10:42:23 +01:00
Arne Morten Kvarving
b09c70213b FlowMainEbos: rename to FlowMain 2024-02-06 10:42:23 +01:00
Bård Skaflestad
97bef564da
Merge pull request #5152 from akva2/simulatorfullyimplicit_janitoring
SimulatorFullyImplicitBlackoil.hpp: Some janitoring
2024-02-06 10:08:05 +01:00
Arne Morten Kvarving
d25d4432eb EclInterRegFlows: rename to InterRegFlows 2024-02-02 12:53:11 +01:00
Arne Morten Kvarving
e0c114c1d2 SimulatorFullyImplicitBlackoil: replace typedef with using 2024-02-02 10:30:57 +01:00
Arne Morten Kvarving
c82c3753f2 SimulatorFullyImplicitBlackoil.hpp: header cleanup 2024-02-02 10:30:57 +01:00
Arne Morten Kvarving
e741063306 SimulatorFullyImplicitBlackoilEbos: rename to SimulatorFullyImplicitBlackoil 2024-02-02 08:48:47 +01:00
Arne Morten Kvarving
cb14fff22a rename SimulatorFullyImplicitBlackoilEbos.cpp to SimulatorReportBanners
and add a header
2024-02-02 08:41:35 +01:00
Arne Morten Kvarving
2d70acb8eb remove unused method 2024-02-02 08:30:22 +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
5bca6c2703 ISTLSolverEbosBda: rename to ISTLSolverBda 2024-02-01 15:49:40 +01:00
Arne Morten Kvarving
0898f525aa NonlinearSolverEbos: rename to NonlinearSolver 2024-02-01 15:14:47 +01:00
Arne Morten Kvarving
e13c77ae95 BlackoilModelEbos: rename to BlackoilModel 2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
80d32b105b BlackoilModelEbosNldd: rename to BlackoilModelNldd 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
89880bfe2f damariswriter: properly encapsulate Damaris 2024-01-30 14:19:20 +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
de05c84b1d Add co2 mass in place summary vectors 2024-01-26 09:15:43 +01:00
Atgeirr Flø Rasmussen
3c4dd1f3b7 Avoid illegal combination of options.
NLDD requires --matrix-add-well-contributions=true for now.

Also: minor improvement to well rank and subdomain output clutter.
2024-01-24 14:19:07 +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
Bård Skaflestad
24ebb77257
Merge pull request #5116 from atgeirr/parallel-well-domain-output
Parallel well domain and error logging for NLDD
2024-01-23 15:41:11 +01:00
Atgeirr Flø Rasmussen
9102b2a352 Use to_string() for WellFailure.
New functionality added is local well failure logging for NLDD.
2024-01-23 11:52:22 +01:00
Atgeirr Flø Rasmussen
04492413ff Move formatting utilities for convergence failures.
This makes them available for use in other places. The function
std::string to_string(const ConvergenceReport::WellFailure& wf) is new,
but uses the format already established.
2024-01-23 11:16:57 +01:00
Arne Morten Kvarving
873102e9ea added: RST CONV support for polymer, solvent and brine 2024-01-22 09:58:06 +01:00
Arne Morten Kvarving
be84969338 added: hook up RPTRST CONV output to restart file if requested 2024-01-16 12:58:02 +01:00
Bård Skaflestad
534465d212
Merge pull request #5104 from atgeirr/nldd-improved-reporting
Nldd improved reporting
2024-01-15 11:00:58 +01:00
Atgeirr Flø Rasmussen
6eb670b5c7 Improve parallel logging in NLDD solver. 2024-01-15 09:08:52 +01:00
Atgeirr Flø Rasmussen
b9b42a01cc Catch exceptions from local solves. 2024-01-11 14:14:00 +01:00
Tor Harald Sandve
20fb8fa699 Fix minimum newton iteration
We also change the default to 2 to keep the same results
2024-01-11 09:17:50 +01:00
Arne Morten Kvarving
e686fabb39 added: class for calculating RPTRST CONV 2024-01-10 13:07:34 +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
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
Arne Morten Kvarving
c95cd5b147 added: bool param to flag that Main.hpp should not initialize/finalize MPI
needed for tests
2023-12-19 15:12:44 +01:00
Atgeirr Flø Rasmussen
093b346426 Avoid modifying outputDir, leave empty if defaulted.
Handle this case for Damaris, which needs to be told the output dir
before this is available from the IOConfig.
2023-12-19 15:12:44 +01:00
Atgeirr Flø Rasmussen
1dbd971710
Merge pull request #4889 from jcbowden/damariswriter-for-sim-fields-v5
Geometric mesh data added for Damaris in-situ visualisation
2023-12-15 10:18:00 +01:00
Josh Bowden
54d6db6f35 Update 1 for code after code review of PR 4889 2023-12-13 18:13:55 +01:00
Markus Blatt
4f619f8f38 Also print information about parallel run to PRT file.
Up to now this information is only output to standard out.
To help with debugging and replicating (e.g. in case of crashes)
without saved standard putput, we now also print the imformation about
MPI processes and OMP threads to the PRT file.
2023-12-13 16:42:02 +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
Arne Morten Kvarving
269d1877f7 SerializableSim: add virtual dtor 2023-12-08 18:42:07 +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
Stein Krogstad
73ec44d9c4 include use-implicit-ipr as paramaeter 2023-12-07 13:09:00 +01:00
Arne Morten Kvarving
4eeefabedd changed: throw early in simulator serializer
if HDF5 input/output is requested but no support is available
we throw early instead of just logging an error when save/load
is to be performed
2023-12-06 10:03:29 +01:00
Arne Morten Kvarving
f46b6c5a01 changed: move simulator serialization to separate class
more separation of concerns
2023-12-05 11:20:22 +01:00
Bård Skaflestad
a6d583b9d0
Merge pull request #5024 from blattms/not-warn-loadStep-OutputDir
Do not warn about OutputDir when combined with LoadStep.
2023-11-24 19:03:52 +01:00
Atgeirr Flø Rasmussen
6945b927ec Minor refactoring of domain ordering for NLDD. 2023-11-24 14:57:45 +01:00
Markus Blatt
fa10546c0a Do not warn about OutputDir when combined with LoadStep.
Both can safely be used together.
2023-11-24 13:28:20 +01:00
Atgeirr Flø Rasmussen
6f04c31c7c Use string to enum helper. 2023-11-23 14:06:39 +01:00
Atgeirr Flø Rasmussen
7578fbf144 Change nldd default approach to gauss-seidel.
Also adjust local CNV tolerance scaling to 0.1 instead of 0.01.
2023-11-23 14:06:39 +01:00
Atgeirr Flø Rasmussen
94554ea4f2 Change default nldd number of domains to one per 1000 cells. 2023-11-23 14:06:39 +01:00
Atgeirr Flø Rasmussen
8acc8af2a4 Add MaxPressure NLDD domain ordering option, make it default. 2023-11-23 14:06:39 +01:00
Atgeirr Flø Rasmussen
9c9fae26a8 Require initial assembly for subdomains with Gauss-Seidel. 2023-11-20 12:59:44 +01:00
Bård Skaflestad
ea3b22480a Enable Loading Parallel NLDD Partition From File
This commit adds support for loading a three-column NLDD
partitioning scheme of the form

    MPI_Rank  Cartesian_Index  NLDD_Domain_ID

from a text file.  In an MPI run it is assumed that the first column
holds integers in the range 0..MPI_Size()-1, and typically that each
such integer is listed at least once.  In a sequential run, the MPI
rank column is ignored.

With this scheme we can load the same partition files that we write,
for increased repeatability and determinism, and we can also
experiment with externally generated NLDD partitions.
2023-11-17 17:39:17 +01:00
Bård Skaflestad
c0c96123bc Add Support for Writing NLDD-Like Partitions in Parallel
This commit adds a new (hidden) debugging option,

    DebugEmitCellPartition (--debug-emit-cell-partition)

which, when set, will cause each rank to write a three-column text
file of the form

    MPI_Rank  Cartesian_Index  NLDD_Domain_ID

into the directory

    partition/CaseName

of the run's output directory.  That file will be named according to
the process' MPI rank, so the first column will be the same as the
file name.

The option is primarily intended for debugging the NLDD partitioning
scheme, so is mostly reserved for runs with low MPI sizes (e.g.,
less than 20).

While here, also make the MPIPartitionFromFile helper class aware of
this format so that we can use concatenated output files as an input
to the MPI partitioning algorithm for repeatability.
2023-11-17 09:17:46 +01:00
Atgeirr Flø Rasmussen
d069081b52
Merge pull request #4960 from daavid00/dispersivity
Support for mechanical dispersion
2023-11-17 08:50:00 +01:00
David Landa Marban
bc03821d57 Support for mechanical dispersion 2023-11-16 16:55:01 +01:00
Bård Skaflestad
610c45aa77 Add Support for Reading MPI Partitioning From File
This commit introduces new, experimental support for loading a
partitioning of the cells from a text file.  The name of the file is
passed into the simulator using the new, hidden, command line option

    --external-partition=filename

and we perform some basic checking that the number of elements in the
partition matches the number of cells in the CpGrid object.
2023-11-16 16:28:14 +01:00
Bård Skaflestad
ed77c90238 Make Zoltan-Based Domain Partitioning MPI Aware
This commit switches the current implementation of
'partitionCellsZoltan()', i.e., 'partitionCells("zoltan", ...)' into
using the MPI-aware ParallelNLDDPartitioningZoltan utility.  In
doing so we make 'partitionCellsZoltan()' private since its
availability is not guaranteed.  We also slightly reorder the
parameters and switch from passing a "Grid" into passing a
"GridView" as an argument to partitionCells(), and specialise this
function for the known grid views in OPM Flow.

We extract the Zoltan-related parameters out to an Entity-dependent
helper structure and move the complexity of forming this type to a
new helper function, BlackoilModelEbosNldd::partitionCells().
2023-11-15 13:31:41 +01:00
Bård Skaflestad
fe67e9f9d3
Merge pull request #4978 from akva2/loghelper_refactor_fip_output
changed: refactor LogOutputHelper::fip
2023-11-10 14:49:09 +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
Atgeirr Flø Rasmussen
4633578792 Add extra output to INFOITER file detailing unconverged wells. 2023-11-09 09:23:39 +01:00