Joakim Hove
be5f3ff2e1
Use std::variant access to Segment::icd
2020-06-10 20:41:14 +02:00
Kai Bao
23a9f4732b
Merge pull request #2666 from atgeirr/msw-log-output-cleanup
...
Prettifying and reducing log output from MSW.
2020-06-10 19:44:01 +02:00
Atgeirr Flø Rasmussen
dd8e42958a
Prettifying and reducing log output from MSW.
2020-06-10 16:36:17 +02:00
Arne Morten Kvarving
5d423e2300
changed: move moduleVersion to a separate object library
...
this to minimize re-linking due to compile timestamp support
2020-06-08 10:07:22 +02:00
Joakim Hove
04f6c24022
Merge pull request #2648 from joakim-hove/use-connections-segment-perf-length
...
Use WellConnections.segment_perf_length()
2020-06-05 11:05:57 +02:00
Joakim Hove
5b940836ec
Remove MultisegmentWell::calculateSICDFlowScalingFactors()
2020-06-04 14:13:14 +02:00
Markus Blatt
9870206c53
flow --help|--print-properties=1|--print-parameters=1} returns 0
...
Previously (in this PR) they returned an error code.
2020-06-03 16:49:29 +02:00
Markus Blatt
2457133ebf
Use MPI_Abort to make flow return nonzero error codes in parallel.
...
The previously used MPI_Finalize might have resulted in returning
zero even if there were problems.
2020-06-03 16:48:50 +02:00
Markus Blatt
f8201e5a94
Catch parser errors in parallel and abort.
...
Previously only the master process was aware of the error and flow did
deadlock in parallel runs if there were parser errors
encountered. With this commit all processes are made aware of the
problem and flow aborts with an error code.
2020-06-03 11:14:57 +02:00
Atgeirr Flø Rasmussen
a75d21e403
Fix bug in well closing, and allow more chopping by default.
2020-06-02 12:44:46 +02:00
Atgeirr Flø Rasmussen
6f1a159adc
Merge pull request #2611 from totto82/improveConvergenceMSW
...
Improve convergence msw
2020-05-30 17:00:30 +02:00
Tor Harald Sandve
b11d805e45
fix output message
2020-05-29 15:40:44 +02:00
Atgeirr Flø Rasmussen
b5bee4d114
Treat zero rate case for VFP tables.
2020-05-29 14:06:51 +02:00
Atgeirr Flø Rasmussen
2261c1ee74
Merge pull request #2637 from hnil/hide_vtk
...
Hide vtk
2020-05-29 08:21:31 +02:00
Joakim Hove
4ab3b92298
Merge pull request #2631 from hakonhagland/refac_run_simulator
...
Refactor runSimulator().
2020-05-29 07:25:49 +02:00
Joakim Hove
f43c997a10
Merge pull request #2640 from joakim-hove/rename-icd
...
Rename SpiralICD -> ICD
2020-05-29 07:24:49 +02:00
Atgeirr Flø Rasmussen
20c63f9f49
Merge pull request #2624 from OPM/fix/adapt-to-propertysystem-changes
...
adapt to changes in the property system
2020-05-28 12:05:17 +02:00
Joakim Hove
195d2b1c21
Rename SpiralICD -> SICD
2020-05-28 11:10:51 +02:00
hnil
16edd5ecc5
fixed commented code
2020-05-26 22:04:42 +02:00
hnil
95ead78a0d
made all vtk paramters allways be hidden
2020-05-26 21:56:51 +02:00
hnil
81714806c2
hide all vtk related if not vtk enabled
2020-05-26 16:16:42 +02:00
Joakim Hove
b28d926f32
Instantiate packer for std::optional<GPMaint>
2020-05-26 13:41:30 +02:00
Bård Skaflestad
4ea5b7e989
Check GCONSALE Limits: Remove Unused Variable
...
Fixes a warning.
2020-05-24 13:16:47 +02:00
Tor Harald Sandve
82b424c2cf
don't regularize MSW as default
2020-05-22 20:52:14 +02:00
Tor Harald Sandve
8a5c9e82df
add run time parameters for msw convergence tuning. Default values are set to minimize convergence failures for model2 based tests. These parameters are also tested on bigger models with good results
2020-05-22 20:52:14 +02:00
Tor Harald Sandve
ec7c6e236d
increase segment volume to stabilize to improve convergence
2020-05-22 20:52:14 +02:00
Tor Harald Sandve
d49c590879
apply the relaxtion factor on the pressure change not the max pressure change limit
2020-05-22 20:52:14 +02:00
Tor Harald Sandve
cf702a5384
use relaxed tolerance for MSW when solution stagnates
2020-05-22 20:52:14 +02:00
Markus Blatt
55b3a65230
Merge pull request #2628 from Tongdongq/multisegmentwells-gpu
...
cusparseSolver can now handle MultisegmentWells
2020-05-22 16:24:58 +02:00
T.D. (Tongdong) Qiu
98a8dac155
Passing std::vectors to pass data for C and B faster. Variables for D are initialized in initializer list.
2020-05-21 11:41:15 +02:00
T.D. (Tongdong) Qiu
f04a629546
Updated comments
2020-05-20 15:13:58 +02:00
Håkon Hægland
2734445bf5
Refactor runSimulator().
...
A resubmission of commit b25f489
in PR #2403 and PR #2441 to work with
the current master.
Continues the work in PR #2619 to refactor FlowMainEbos.hpp to work with
the Python bindings.
We need to refactor runSimulator() to avoid code duplication when
executeStepInit() is implemented (see later commit). Here, runSimulator()
is refactored into a runSimulatorInitOrRun() that takes a callback
function. When runSimulatorInit() is implemented it will pass a different
callback that only initializes the simulator. Currently, runSimulator()
passes the callback runSimulatorRunCallback_() which runs the whole
simulation. The code outputting the simulation summary in runSimulator()
is also refactored into a runSimulatorAfterSim_() method.
2020-05-19 16:52:46 +02:00
Atgeirr Flø Rasmussen
94ea40b253
Merge pull request #2619 from hakonhagland/refactor_execute
...
Refactor `execute()` in `FlowMainEbos.hpp`
2020-05-19 13:58:10 +02:00
Bernd Flemisch
a3b27ad9a4
[properties] include header with linear algebra property definitions
2020-05-19 10:04:35 +02:00
T.D. (Tongdong) Qiu
f6036ffa8e
Now WellContributions copies vectors for MultisegmentWells to reduce number of copies
2020-05-18 18:48:58 +02:00
T.D. (Tongdong) Qiu
0f273ebdf6
Removed unused variables. Changed initializerlist order for readability.
2020-05-18 16:10:19 +02:00
Bernd Flemisch
21df1cbe31
[properties] adapt to changes in the property system
...
`NEW_PROP_TAG` is now a definition and not just a declaration.
Eliminate superfluous declarations, include headers with definitions.
Make one necessary forward declaration explicit.
2020-05-18 15:54:26 +02:00
Markus Blatt
74936c3239
Skip exception for unset verbosity, use fallback for default solvers
...
boost::property_try::get without a defaults throws an exception. As
result the nonlinear solver and timestepper think that there is a
problem with solving and chop the timnestep until they give up.
This commit fixes this by using a default and falling back to the
command line specified value for the default solvers.
2020-05-18 08:33:49 +02:00
T.D. (Tongdong) Qiu
dcbba53510
Updated comment
2020-05-15 17:55:06 +02:00
T.D. (Tongdong) Qiu
04ee2be348
cusparseSolver can now handle MultisegmentWells, they are actually applied on CPU via SuiteSparse/UMFPACK
2020-05-15 16:40:34 +02:00
Markus Blatt
b887492285
Write out the linear system when ultra high verbosity is requested.
...
This added to ISTLSolverEbosFlexible and should be available form
ISTLSolverEbos for consistency reasons, too. Done with this commit.
2020-05-15 16:21:48 +02:00
Markus Blatt
e812eb132a
Merge pull request #2625 from blattms/modify-cpr-defaults
...
Modify cpr defaults (for better performance)
2020-05-15 14:07:36 +02:00
Markus Blatt
712f576b36
Default to trueimpes as this seems slightly faster for Norne.
2020-05-15 12:41:25 +02:00
Markus Blatt
6635c8c7cd
Actually honor CprMaxEllIter
...
instead of always overwriting it with 1.
2020-05-15 12:40:17 +02:00
Markus Blatt
65fceb34c1
Delete superfluous second setting of trueimpes.
...
It is already set in the if-else above.
2020-05-15 12:38:41 +02:00
Atgeirr Flø Rasmussen
77132af517
Merge pull request #2623 from atgeirr/fix-wrong-message
...
Correct messages for group control switching.
2020-05-15 11:32:09 +02:00
Bård Skaflestad
d382565681
Merge pull request #2622 from hnil/use_more_tuning
...
made constructor consistent with updateTuning
2020-05-14 23:14:42 +02:00
hnil
94a27afdd0
made constuctor consistent with updateTuning
2020-05-14 21:31:18 +02:00
Atgeirr Flø Rasmussen
5aa2a785af
Correct messages for group control switching.
2020-05-14 17:31:21 +02:00
Atgeirr Flø Rasmussen
35cf505d14
Merge pull request #2618 from blattms/actually-use-trueimpes-for-cpr-trueimpes
...
Use "trueimpes" for weight_type for configuration cpr_trueimpes.
2020-05-14 09:57:12 +02:00
Bård Skaflestad
3c44a670bb
Merge pull request #2616 from atgeirr/specialize-amgsmootherargs
...
Specialize amgSmootherArgs() for ParallelOverlappingILU0
2020-05-13 19:55:30 +02:00
Atgeirr Flø Rasmussen
883b987837
Set default smoother relaxation to 1.0.
2020-05-13 17:08:38 +02:00
Atgeirr Flø Rasmussen
ebce35b318
Add specialization for ParallelOverlappingILU0.
2020-05-13 17:08:38 +02:00
Markus Blatt
50cbe9a09e
Use "trueimpes" for weight_type for configuration cpr_trueimpes.
...
Previously, we always used quasiimpes.
2020-05-13 17:00:36 +02:00
Håkon Hægland
fcddbbba52
Refactor execute() in FlowMainEbos.hpp
...
Currently, execute() calls runSimulator() to run the simulation. When
the Python step_init() is implemented (see a later commit), it will
instead call an executeStepInit() that will need to do the same
initialization as in execute() except that it should call a
runSimulatorInit() instead of runSimulator(). In order to avoid code
duplication for execute() and executeStepInit(), execute() is here
refactored into an execute_() method.
2020-05-13 16:59:29 +02:00
Markus Blatt
76e710df97
Simplify intstantiation of BDABridge template members
...
with a macro and stripping unneeded template members.
2020-05-13 16:29:36 +02:00
Markus Blatt
85fffee06e
Pass a mutable matrix to BdaBridge::solve_system
...
That function will overwrite zero diagonal values with small nonzero ones.
2020-05-13 16:28:15 +02:00
Markus Blatt
d54268513e
Add getMatrix() const
method needed for GPU solvers.
...
Somehow I missed testing with CUDA.
2020-05-13 15:33:34 +02:00
Atgeirr Flø Rasmussen
654fbf864e
Merge pull request #2609 from hakonhagland/refactor_flowebos2
...
Refactors flow_ebos_blackoil.cpp (2)
2020-05-13 15:04:23 +02:00
Markus Blatt
46ab154396
Merge pull request #2615 from atgeirr/split-files
...
Split file to ensure correct authorship and license is applied.
2020-05-13 15:02:54 +02:00
Markus Blatt
90a0e2b392
Merge pull request #2613 from blattms/use-correct-matrix
...
Use correct matrix for scaling and get rid of unused preconditioner matrix member
2020-05-13 14:54:07 +02:00
Markus Blatt
f6b4a4396e
Merge pull request #2614 from blattms/clean-hnil-fix
...
Fixed unitialized value for ILU when using flexible solvers.
2020-05-13 14:40:02 +02:00
Atgeirr Flø Rasmussen
bf0e7f0e4a
Split file to ensure correct authorship and license is applied.
2020-05-13 13:53:45 +02:00
Håkon Hægland
8bb914b144
Fixed bug in initFlowEbosBlackoil()
...
The return code from the call to initialize_() in initFlowEbosBlackoil()
in Main.hpp was overwritten by a mistake.
2020-05-13 13:45:16 +02:00
Markus Blatt
664e582b5f
[bugfix] Use correct matrix for scaling.
...
For some of the scaling approaches the wrong matrix (dereferenced
nullptr) would have been used which should have resulted segmentation
faults. With this commit we add a method getMatrix() that returns the
correct one and use that for scaling.
2020-05-13 13:38:02 +02:00
Markus Blatt
9f278db5a6
Removes additional member for matrix used by the preconditioner.
...
Somehow that approach went missing in action and it is always the
same as the assembled matrix. Hence no need for that member anymore
and we remove it to prevent confusion.
2020-05-13 13:38:02 +02:00
Markus Blatt
1e56b8f907
Merge pull request #2608 from blattms/merge-cpr-legacy
...
Make flexible solvers and CPR accessible for flow binary.
2020-05-13 13:20:23 +02:00
hnil
e309d86012
Fixed unitialized value for ILU when using flexible solvers.
...
If the user requested ILU0, the uninitialized valued caused an
arbritrary (quite high) fill-in level to be used which stalled the
computation and exhausted memory when running parallel.
2020-05-13 13:13:54 +02:00
Markus Blatt
7ed960b6d1
Use normal pointer to assembled matrix.
2020-05-13 12:23:20 +02:00
Håkon Hægland
946b5f5806
Refactor flow_ebos_blackoil.cpp (2)
...
NOTE: this pull request depends on #2555 which should be merged first.
A rewrite of the outdated PR #2543 .
Refactors flow_ebos_blackoil.cpp such that we can choose not to execute
the whole simulation using the flowEbosBlackoilMain() function but
instead only initialize by calling flowEbosBlackoilMainInit(). This is
necessary to implement a Python step() method that can advance the
simulator one report step at a time.
Also adds a method initFlowEbosBlackoil() to Main.hpp that can be used
directly from the Python interface's BlackOilSimulator object to gain
access to the FlowMainEbos object before it has initialized the
simulation main loop.
2020-05-13 11:54:18 +02:00
Markus Blatt
ddd947bf0a
Use correct matrix for flexible solver when parallel.
...
In this case matrix_ is a nullptr and noGhostMat_ is the optimized
matrix to use. Before this commit we experienced a segmentation fault
as the nullptr was dereferenced and passed to the solver.
2020-05-12 19:06:12 +02:00
Markus Blatt
4c72af9546
Make only rank zero honor verbosity in flexible solvers.
...
Previously all the ranks print linear solver statistics in verbose
mode which cluttered the output in parallel runs. Now only rank 0
will print like it should be.
2020-05-12 18:06:20 +02:00
Markus Blatt
1f177b33e7
Use communicator to decide whether this is a truly parallel.
2020-05-12 12:46:04 +02:00
Markus Blatt
1ff1f24fbb
Fix when the matrix with no ghosts will be used.
2020-05-12 12:46:04 +02:00
Markus Blatt
e8b79b2b63
Prevent matrix copy in serial run.
2020-05-12 12:46:04 +02:00
Markus Blatt
357469dc21
Only extract overlap and interior information if needed.
...
That is, if actually set up the additional matrix with no ghosts.
2020-05-12 11:52:19 +02:00
Markus Blatt
aa54b4d8db
Remove unused weight_filename from json file.
2020-05-12 11:52:19 +02:00
Markus Blatt
47acb6ecb3
Make flexible solvers and CPR accessible for flow binary.
...
Previously, one had to call a seperate binary called
flow_blackoil_dunecpr. Unforntunately, that was only built if users
requested that the tests (`-DBUILD_TESTING=ON`) and the flow
variants (`-DBUILD_FLOW_VARIANTS=ON`) should be built. In addition
it would use a slightly different nonlinear solver implementation.
With this commit flow can be asked to either use
CPR (`--use-cpr=true --matrix-add-well-contributions=true`) or to use
the flexible solvers bx setting the `--linear-solver-configuration`
option. In all other cases the usual solver implementations are still
used.
Note that the flexible solvers still need
`--matrix-add-well-contributions=true` and hence cannot cope with
multi-segment wells.
2020-05-12 11:52:19 +02:00
Markus Blatt
71b234ec54
Make CprReuseSetup always use same default value.
...
The default was 0 for flow and 3 for flow_blackoil_dunecpr. Now we
always use 3. This is safe as it will not be used for any other
solvers than the flexible ones.
2020-05-12 11:52:19 +02:00
Markus Blatt
5b4acd5417
Do not query wells for solver if it is actually not needed.
2020-05-12 11:52:19 +02:00
Markus Blatt
19bd9cea65
for DUNE 2.7 and up we need to specialize for Opm:MatrixBlock
...
as there already is a specialization for an arbitrary Block
and that one leads to compile errors because we redefine it
in OPM (and miss some other specializations for Opm:MatrixBlock,
e.g. isNumber).
2020-05-11 21:29:47 +02:00
Joakim Hove
b5fda287d4
Merge pull request #2555 from hakonhagland/python_simulators3
...
Python bindings for the blackoil simulator (simplified).
2020-05-11 18:55:04 +02:00
Bård Skaflestad
e786c713fb
Merge pull request #2600 from totto82/improve_msw_convergence_clean
...
compute initial volume fractions on the well copies
2020-05-11 17:45:37 +02:00
Håkon Hægland
f94553c5a7
Python bindings for the blackoil simulator.
...
A simplified version of PR #2518 that uses a deck filename to construct
the simulator.
After private discussion with @joakim-hove it was decided that the
construction of the blackoil simulator from Python using deck,
ecliseState, schedule and summaryConfig as constructor arguments from
\#2518 should be replaced by a constructor taking only the deck filename
as parameter.
A rewrite of the Python bindings for the blackoil simulator using
pybind11 as introduced in PR #2127 . The new version uses the
refactored flow.cpp introduced in PR #2516 and thus avoids duplication
of the code in simulators.cpp.
This PR will be the starting point for implementing the Python bindings
introduced in PR #2403 .
2020-05-11 15:03:17 +02:00
Bård Skaflestad
34b750336e
Remove 'MAXVALUE' From List of Missing Features
...
We've supported that operator for quite some time.
2020-05-10 14:38:17 +02:00
Tor Harald Sandve
904353367d
compute initial volume fractions on the well copies also
2020-05-08 19:29:20 +02:00
Atgeirr Flø Rasmussen
7beabdb9fb
Merge pull request #2599 from atgeirr/improve-matrix-output
...
Improvements to matrix writing facility.
2020-05-08 15:41:33 +02:00
Atgeirr Flø Rasmussen
329036612b
Enable matrix dumping also without MPI.
...
Also remove the need for the reinterpret_cast by adding some extra
implementation details for more general block matrices.
2020-05-08 13:32:36 +02:00
Atgeirr Flø Rasmussen
d108f9afa6
Avoid file-ending starting with S or A to not confuse comparison program.
2020-05-08 11:56:52 +02:00
Atgeirr Flø Rasmussen
cf7b258f72
Minor adjustments from review.
2020-05-08 09:21:25 +02:00
Atgeirr Flø Rasmussen
561bec4a64
Make CASENAME.STEPINFO the name of the step info report file.
2020-05-07 22:29:01 +02:00
Atgeirr Flø Rasmussen
9458357009
Use = rather than += when appropriate for reports.
2020-05-07 22:09:17 +02:00
Atgeirr Flø Rasmussen
9dd2275af9
Remove seconds and add timestep to ITERINFO report.
2020-05-07 21:19:31 +02:00
Atgeirr Flø Rasmussen
769028b591
Remove 'verbosity' member and reorganize.
2020-05-07 21:00:39 +02:00
Atgeirr Flø Rasmussen
8dd53a38e9
Refactor SimulatorReport system.
...
Now SimulatorReport object contains a vector of SimulatorReportSingle objects,
for both successful and failing steps.
2020-05-07 16:13:39 +02:00
Atgeirr Flø Rasmussen
cfdb2b9be6
Modifications of formatting, compile fix.
2020-05-07 15:04:20 +02:00
hnil
0f33835e67
added writing of detailed performance report
2020-05-07 11:37:24 +02:00
hnil
d275242b01
Add a writeSystem() helper and use it to write system matrices.
...
Triggered only when using the flexible solver and a solver verbosity > 10.
2020-05-06 16:56:30 +02:00
Markus Blatt
3f65235935
Merge pull request #2591 from atgeirr/fix-parameter-setup
...
Do not run setupParameter_() twice for the static-typed sims.
2020-05-05 17:27:44 +02:00
Atgeirr Flø Rasmussen
9357919201
Do not run setupParameter_() twice for the static-typed sims.
2020-05-05 16:19:10 +02:00
Atgeirr Flø Rasmussen
7dbbc0f2e5
Merge pull request #2588 from totto82/addMinMaxSupportGCONSALE
...
Implement min/max for GCONSALE
2020-05-05 15:46:36 +02:00
Tor Harald Sandve
85e95fb87d
Implement min/max for GCONSALE
...
Only default action RATE is implemented for violation of maximum sales target
2020-05-05 14:24:17 +02:00
Atgeirr Flø Rasmussen
859db45e45
Merge pull request #2590 from totto82/fixSolventRein
...
Fix solvent reinjection when different reinjection group is given
2020-05-05 11:36:50 +02:00
Tor Harald Sandve
f33737afc4
Fix solvent reinjection when different reinjection group is given
2020-05-05 10:46:49 +02:00
Arne Morten Kvarving
fa5c4a8573
Merge pull request #2586 from atgeirr/fix-tag-for-init
...
Ensure that the typetag used for initialization is correct.
2020-05-04 11:12:44 +02:00
Atgeirr Flø Rasmussen
f0b1ee76b8
Ensure that the typetag used for initialization is correct.
...
Without this, properties set in the static variants of flow such as
flow_blackoil_dunecpr.cpp will be honored in the run. However, the
text for '--help' and the property printout in the .DBG file will not
reflect the true type tag, but the default.
This bug was added during the recent refactoring of all Flow variants
to use the same initialization and setup code.
2020-05-04 08:52:49 +02:00
Joakim Hove
da5042c538
Update connection <-> segment implementation
2020-04-30 14:53:35 +02:00
Joakim Hove
926e904e90
Instantiate std::optional<double> and std::optional<std::string>
2020-04-29 16:26:58 +02:00
Joakim Hove
ec647bcc16
Merge pull request #2574 from joakim-hove/serialize-optional
...
Add support for serializing std::optional
2020-04-29 10:48:43 +02:00
Markus Blatt
ca744231b1
Removes unused member istlSolver_ and method to get it from BlackoilModelEbos
...
It is not used since quite some time and tends to confuse me.
2020-04-28 16:46:17 +02:00
Joakim Hove
40d7cd4381
Add support for serializing std::optional
2020-04-28 16:25:17 +02:00
OPMUSER
163ce3b613
Update Missing Features with PERMFACT
2020-04-28 13:39:40 +02:00
Bård Skaflestad
9756edce50
Remove Unused 'currentControl' Variable
2020-04-27 21:29:10 +02:00
Atgeirr Flø Rasmussen
14bde098ce
Merge pull request #2570 from blattms/fix-prec-factory-dune-master
...
Complete future-proofing ILU usage in the preconditioner factory.
2020-04-27 16:37:27 +02:00
Atgeirr Flø Rasmussen
06e5e6b6ac
Merge pull request #2565 from totto82/avoidOscNupcol
...
use nupcol to avoid oscillation between group controls
2020-04-27 16:02:32 +02:00
Atgeirr Flø Rasmussen
6684cd7cb3
Merge pull request #2564 from totto82/fixGCONSALE
...
Fix GCONSALE
2020-04-27 15:59:29 +02:00
Markus Blatt
f03b56c261
Complete future-proofing ILU usage in the preconditioner factory.
...
SeqILU0/SeqILU0 are removed in master and one should use SeqILU
2020-04-27 15:52:43 +02:00
Joakim Hove
750070fbd7
Remove VISCREF from MissingFeatures
2020-04-27 10:30:50 +02:00
Tor Harald Sandve
33afb332fa
use nupcol to avoid oscilation between group controls
2020-04-27 10:29:00 +02:00
OPMUSER
c62318387d
Update Missing Features with HMMULTSG
...
HMMULTSG
2020-04-25 18:19:31 +02:00
OPMUSER
04295871f4
Update MissingFeatures.cpp
...
Missing features fixed typo SCPDIMS to SCDPDIMS, and added RWGSALT.
2020-04-25 18:19:31 +02:00
Tor Harald Sandve
a046977946
Fix GCONSALE
...
1) Only check GCONSALE limits at the end of a timestep. NB. The simulator still throws if some of the limits are violated
2) BUGFIX: don't remove gas consumption twice
2020-04-24 16:10:07 +02:00
Atgeirr Flø Rasmussen
a720bf9942
Add logging of linear solver parameter tree.
2020-04-24 14:52:04 +02:00
Joakim Hove
0773d07df5
Missing features ( #2562 )
...
Updates to the list of missing features
2020-04-24 13:08:55 +02:00
Atgeirr Flø Rasmussen
c4e020c179
Merge pull request #2556 from totto82/test_atg
...
Fix how the group reduction works
2020-04-24 11:13:22 +02:00
Tor Harald Sandve
e9476e116e
make sure the current_rate is added at the right level
2020-04-23 20:54:59 +02:00
Tor Harald Sandve
3b479af9c4
Fix the fix on how the group reduction works
2020-04-23 09:45:16 +02:00
Atgeirr Flø Rasmussen
0df3a96fa6
Fix how group rate reductions work.
2020-04-23 09:39:03 +02:00
OPMUSER
9d32980821
Added the Water Vaporization keywords to Missing-Features
...
Added the following Water Vaporization keywords to Missing-Features: PRESALT, PVTGW, PVTGWO, SALTPVD, SALTSOL, and VAPWAT
2020-04-21 16:39:51 +08:00
OPMUSER
4906a3e69e
Added ADSORP and CPR to Missing-Features
...
Added ADSORP and CPR to Missing-Features
2020-04-21 16:30:54 +08:00
OPMUSER
048d21fdab
Update MissingFeatures.cpp
...
Changed DIFFMTHT- to DIFFMTH-
2020-04-21 14:29:03 +08:00
OPMUSER
a8dba1a726
Update Missing-Features keywords
...
Added GECONT, changed RIVRDIM to RIVRDIMS, added RPTSOL, RSSPEC, changed SCPDIMS to SCDPDIMS,
2020-04-21 14:05:46 +08:00
Cintia Goncalves Machado
2ac17103f8
Remove BDENSITY
2020-04-20 17:44:40 +02:00
Bård Skaflestad
9625d0b48c
Merge pull request #2531 from GitPaean/msw_keywords
...
adding the summary output for several pressure drop values for MSW
2020-04-17 20:54:49 +02:00
Kai Bao
954e5e769a
addressing comments from OPM/opm-common#1695
2020-04-17 14:34:48 +02:00
Joakim Hove
6260bb7851
Update api for checking availability for group control
2020-04-17 13:03:56 +02:00
Joakim Hove
11d65f41d2
Add keywords to the list of missing features
2020-04-17 08:56:10 +02:00
Kai Bao
251c09a288
adding the several pressure drop values to WellState for MSW
...
segpress_ and segrates_ are renamed to help the name style.
2020-04-17 00:38:38 +02:00
Atgeirr Flø Rasmussen
a1091bd718
Stop simulating if the schedule has set an exit condition.
...
The program will return the value set in the EXIT keyword.
2020-04-16 15:42:17 +02:00
Atgeirr Flø Rasmussen
88525f7c39
Merge pull request #2516 from hakonhagland/refactor_flow_run
...
Refactor main() in flow.cpp.
2020-04-16 13:28:03 +02:00
Atgeirr Flø Rasmussen
07d9ec135b
Make Main a non-template class again, simplify.
2020-04-16 11:35:01 +02:00
Håkon Hægland
1932e42cbb
Fixed minor typo.
2020-04-16 01:22:07 +02:00
Håkon Hægland
954d32c3ab
Refactor main_() into initialize_() and dispatch_().
...
For the Python interface's usage (as opposed to the usage by e.g.
flow.cpp), we do not neccessarily want to run the whole simulation by
calling run(), it is also useful to just run one report step at a time.
According to these different usage scenarios, main_() is refactored into
initialize_() and dispatch_() as a preparatory step for implementing the
Python interface (to be presented in a later PR).
2020-04-16 00:21:10 +02:00
Håkon Hægland
3f97561380
Fixup Deck, EclipseState, Schedule, ....
...
Fixup usage of Deck, EclipseState, Schedule, and SummaryConfig to take
into account the class variables deck_, eclipseState_, schedule_, and
summaryConfig_. These variables might initially be empty (nullptr) when
the object is constructed by calling Main(argc, argv) from flow.cpp,
flow_blackoil_dunecpr.cpp, flow_onephase.cpp, or
flow_onephase_energy.cpp. However, when Opm::Main is constructed from the
Python interface code (to be implemented in a later PR) by using the
constructor Main(argc, argv, deck, eclispeState, schedule, summaryConfig)
the variables will not be intially empty.
2020-04-15 23:49:44 +02:00
Markus Blatt
057a0ceeeb
Removes stale CPR headers that have been superseeded.
...
No need to drag them along and confuse people.
2020-04-15 21:38:28 +02:00
Håkon Hægland
09230808e0
Adapting Main.hpp to the Python interface.
...
Adapting Main.hpp to be called from Python interface, Part 1.
Building on PR #2521 and PR #2535 , we gradually adapt Main.hpp for
being called from the Python interface (to be committed in a later PR)
to the flow executable. This PR introduces a new constructor for class
Opm::Main that takes a Deck, EclipseState, Schedule, and SummaryConfig
as arguments. It also introduces some new class variables that will be
useful when the main_() method is split up (in a later commit).
2020-04-15 20:45:20 +02:00
Atgeirr Flø Rasmussen
302474ade6
Merge pull request #2535 from hakonhagland/flow_tag_new_try
...
Merge flow_tag.hpp into Main.hpp (new try)
2020-04-15 13:29:59 +02:00
Håkon Hægland
de53c98605
Always print banner.
...
Remove the #ifdef OPM_FLOW_MAIN guard on printBanner() as it makes sense
to print the banner in either case.
2020-04-14 14:53:48 +02:00
Håkon Hægland
efa6c54096
Avoid a preprocessor directives.
...
Some of the functions in Main.hpp do not need to be guarded by a
\#ifndef OPM_FLOW_MAIN
Since they are template functions, they will not be included in the
code unless explicitly instantiated.
2020-04-14 14:53:48 +02:00
Håkon Hægland
3624725885
Merge flow_tag.hpp into Main.hpp.
...
Addresses the comments in PR #2521 regarding code duplication in
Main.hpp and flow_tag.hpp. This PR merges the code in flow_tag.hpp
into Main.hpp such that flow_tag.hpp can be eliminated (will be done
in the next PR).
2020-04-14 14:53:48 +02:00
Arne Morten Kvarving
ca697acc60
remove unused lambda parameter
...
quells a compiler warning
2020-04-14 14:17:41 +02:00
Joakim Hove
fcdca0f9e5
The "default" Schedule constructor has Python argument
2020-04-10 07:53:45 +02:00
Tor Harald Sandve
60bb9e4eaa
Merge pull request #2505 from atgeirr/group-controls-at-wells-cleaned
...
Group controls at wells (cleaned)
2020-04-08 12:29:30 +02:00
Atgeirr Flø Rasmussen
e7e4cf6f20
Silence warnings and fix whitespace.
2020-04-08 10:41:20 +02:00
Joakim Hove
fc5875d981
Remove keywords SEPARATE, RUNSUM and DATES from MissingKeywords list
2020-04-07 08:31:22 +02:00
Joakim Hove
76111897a6
MOve String utility in opm-common
2020-04-04 16:28:16 +02:00
Håkon Hægland
8c1a951e09
First PR in a splitting up of PR #2516 .
...
According to private discussion with @joakim-hove PR #2516 is splitted into
smaller parts to facilitate review and a quicker merge into master.
As mentioned in PR #2516 , main() in flow.cpp is refactored to address
the comments on PR #2127 and as preparation for implementing the Python
bindings described in PR #2403 .
2020-04-03 14:53:45 +02:00
Tor Harald Sandve
97876530e3
include wells under individual control when accumulating guiderates
2020-04-03 10:03:05 +02:00
Markus Blatt
20f26bffbf
fixup! [FlexibleSolver] Added missing headers determine IsComm.
2020-04-02 17:16:17 +02:00
Markus Blatt
9ce008ef7d
[FlexibleSolver] Added missing headers determine IsComm.
...
Seems needed for some compilers
2020-04-02 17:10:43 +02:00
Atgeirr Flø Rasmussen
0c8ce54b71
Merge pull request #2498 from blattms/cherry-pick-hnil-flexible-clean-interface-rebased
...
Cleaned up flexible solver improvements.
2020-04-02 15:28:10 +02:00
Tor Harald Sandve
70b7bed057
dont check if group has converged in solveWellEq
2020-04-02 13:57:38 +02:00
Atgeirr Flø Rasmussen
f30ddffdb7
Split WellGroupHelpers to cpp/hpp.
...
Also changed namespace name.
2020-04-02 13:57:38 +02:00
Tor Harald Sandve
21b98b5573
Avoid negative targets and currentWellRates
2020-04-02 13:57:38 +02:00
Atgeirr Flø Rasmussen
d2dac6c19c
Bugfix: rates in assembleControlEqProd() are by canonical phases, not active.
2020-04-02 13:57:38 +02:00
Atgeirr Flø Rasmussen
a8107afc11
Fix handling of FIELD for injector groups.
2020-04-02 13:57:38 +02:00
Tor Harald Sandve
66931b9cb7
Various fixes and refactoring.
...
- Communicate all well rates.
- When changing controls, modify rates to satisfy failed constraint.
- Ensure targets are positive.
- Always solve for potentials for MSW (temporary fix).
2020-04-02 13:57:05 +02:00
Atgeirr Flø Rasmussen
3a5a8c23df
Use generic control equation implementation.
2020-04-02 13:54:58 +02:00
Atgeirr Flø Rasmussen
d703699e62
Avoid recursion above the FIELD group.
2020-04-02 13:54:58 +02:00
Atgeirr Flø Rasmussen
766d02cacc
Unify group control equation codes.
2020-04-02 13:54:58 +02:00
Tor Harald Sandve
92ee56c3b3
scale guiderate by current well rate
2020-04-02 13:54:47 +02:00
Atgeirr Flø Rasmussen
27f62399f5
Handle guide-rate based well constraints from groups.
2020-04-02 10:41:57 +02:00
Tor Harald Sandve
202235abe0
Merge pull request #2510 from dr-robertk/PR/bugfix-gridview-mixup
...
[bugfix][ISTLSolverEbos] fix compilation when dune-fem is used in
2020-04-01 10:05:51 +02:00
Joakim Hove
58717905ee
Use only wconnection transmissibility without WellPI scaling
2020-03-31 18:12:29 +02:00
Markus Blatt
2c432e09af
Error when json file is requested for insufficient boost version.
2020-03-31 16:49:37 +02:00
Markus Blatt
589b70ff26
Correct errror message when json file is not specified.
2020-03-31 16:49:37 +02:00
Markus Blatt
910ecdb78d
Addedmissing space.
2020-03-31 16:49:37 +02:00
Markus Blatt
b16f635b90
Deleted commented out code.
2020-03-31 16:49:37 +02:00
Markus Blatt
a72ab9d283
Fixed typo and reworded.
2020-03-31 16:49:37 +02:00
Markus Blatt
2fc2703aba
Use special default for LinearSolverMaxIter for CPR and honor CprMaxEllIter
2020-03-31 16:49:37 +02:00
Markus Blatt
2c1df912fe
honor ilulevel for ParallelOverlappingILU0
2020-03-31 16:49:37 +02:00
Markus Blatt
9019a52937
Use enable_if on comm constructor parameter.
...
As this is the one we want to check.
2020-03-31 16:49:37 +02:00
Markus Blatt
b016a1a714
[FlexibleSolver] active CPR if UseCpr is true and adjust maxIter.
...
If no LinearSolverConfiguration is specified but UseCpr is true we
use cpr_quasiimpess. If the user does not specify the maximum
iteration number we use 20 for cpr.
2020-03-31 16:49:37 +02:00
Markus Blatt
74b958c258
Improves exceptions and message and resort to OPM_THROW for flexible solvers.
2020-03-31 16:49:37 +02:00
Markus Blatt
ff0d54d4ea
Add sensible defaults for flexible solver properties...
...
to prevent throwing. The get methods will throw if called without a
default value. This quite unfortunate and not very user friendly, as
there are many properties and the throwing will happen during the
linear solve and result in time step chopping.
This commit should prevent such throws and allow users to provide
jsdon files omitting some options.
2020-03-31 16:49:37 +02:00
hnil
fce9f5e57c
Manual cherrypicked improvements from f2ed2b6dc3
and 8aad027
...
These were a bit hidden, but found. They add a few more customization
options and kamg as a sequential solver. The latter will be broken if
we use update, though.
2020-03-31 16:49:37 +02:00
Markus Blatt
dcb316f442
Make update method of preconditioners parameter-less again.
...
Previously, it got passed the weights only needed for CPR.
Additionally those were passed with the parameter tree to the
update method and constructor.
Now the CPR constructor gets a function to use for recalculating
the weights and the property is not changed. Unfortunately this
means that the preconditioner creators of the factory get another
parameter.
2020-03-31 16:49:37 +02:00
Markus Blatt
95a1e1ca0e
Remove property tree parameter from PreconditionerWithUpdate::update
...
It is not used, needed parameters can stored in the constructor, and
it made de design a bit suboptimal.
2020-03-31 16:49:37 +02:00
Markus Blatt
70cff4b342
Refactor to a single function that calculates true impes weights.
...
Two identical versions seemed like a lot of maintenance for no gain.
2020-03-31 16:49:37 +02:00
hnil
2388a9b551
Added simple defaults for flexible solver: current options added ilu0, cpr_quasiimpes, cpr_trueimpes, file (genneal configuration)
...
This commit 0c62c8442
cherry-picked and slightly cleaned up and
adapted to recent changes.
2020-03-31 16:49:37 +02:00
hnil
90b22d8713
changed interface to only have minimal overhead using true impes.
...
It gives overhead in constructor when linear system is created. No overhead if reuse is used.
This commit 141903a26
cherry-picked, cleaned and made compilable with
recent changes
2020-03-31 16:49:37 +02:00
hnil
bfa859c099
changes to make true impes work with flexible solver
...
Cherry-picked commit 7da5ce4fec33. Which got cleaned up
(deleted trailing whitespace, tabs) and made compilable with recent changes.
2020-03-31 16:49:37 +02:00
Robert Kloefkorn
8afe8c3f96
[bugfix][ISTLSolverEbos] fix compilation when dune-fem is used in
...
conjunction with opm-simulators.
2020-03-31 14:22:11 +02:00
Joakim Hove
c8524a139e
Add build time to flow startup banner
2020-03-31 08:42:24 +02:00
Bård Skaflestad
d95eb32510
Save and Restore Well's Current Control Target Mode
...
This commit uses the new restart file support for active well
control target modes to save and restore the run's active targets.
2020-03-26 14:20:12 +01:00
Atgeirr Flø Rasmussen
8ef508cc08
Merge pull request #2491 from blattms/flexible-fixes
...
Fixes ILU0 when using flexible solvers.
2020-03-24 17:39:27 +01:00
Bård Skaflestad
7e6d283665
Merge pull request #2495 from akva2/use_aquifer_config
...
changed: use AquiferConfig when setting up aquifers
2020-03-24 14:31:52 +01:00
Arne Morten Kvarving
9906cc47f7
changed: use AquiferConfig when setting up aquifers
2020-03-24 13:36:39 +01:00
Arne Morten Kvarving
5fd85c1446
Merge pull request #2497 from akva2/deck_avoid
...
Avoid deck usage in simulator
2020-03-24 08:28:21 +01:00
Arne Morten Kvarving
30eb7256bc
remove call to checkMissingFeatures
...
once is enough. as a bonus avoids deck usage in simulator
2020-03-23 15:54:48 +01:00
Atgeirr Flø Rasmussen
1e84624ea7
Add override spec to silence warnings.
2020-03-23 11:57:59 +01:00
Markus Blatt
03b2c44dce
Prevent some unnecessary copies.
2020-03-23 09:40:14 +01:00
Markus Blatt
b41b449c7d
Removed suplicated code for calculating quasi impes weights.
...
Maintaining two versions is just to error prone.
2020-03-23 09:40:14 +01:00
Markus Blatt
c14bf078a1
Make ParallelOverlappingILU0 updateable & use it to construct ILU0/n
...
This should force the flexible solver approach to recalculate the
decomposition during update.
Closes #2490
2020-03-23 09:39:51 +01:00
Markus Blatt
c0a82ff335
Merge pull request #2475 from Tongdongq/separate_wellcontributions_for_gpu
...
Separate wellcontributions for gpu
2020-03-20 12:14:06 +01:00
T.D. (Tongdong) Qiu
ab2d9a8c76
Changed int idx to indicate which matrix is added to WellContributions to an enum
2020-03-20 10:04:58 +01:00
Bård Skaflestad
fda4a29c7e
Merge pull request #2459 from jalvestad/group_constraints_summary
...
Make available current Production/Injection Group Control parameters for use in Restart
2020-03-19 16:54:34 +01:00
T.D. (Tongdong) Qiu
75268f1166
Changed ISTLSolverEbos-BdaBridge usage. BdaBridge->solve_system() is not called when GPU is not selected or disabled
2020-03-19 16:08:29 +01:00
T.D. (Tongdong) Qiu
7f3f03f63d
Added check to prevent segfaults for unsupported welltypes
2020-03-19 16:06:49 +01:00
T.D. (Tongdong) Qiu
947f419ef8
Fixed memory issues when cusparseSolver is disabled by unsupported blocksize
2020-03-19 14:09:42 +01:00
T.D. (Tongdong) Qiu
04fe46a9da
Only accept CUDA 9.0 for the WellContributions kernel. Also removed unused variables
2020-03-19 11:46:57 +01:00
T.D. (Tongdong) Qiu
8223cd1db8
Simplified filling of WellContributions object. Added comments
2020-03-19 11:15:49 +01:00
Arne Morten Kvarving
a2d840a5f7
changed: put eclipse state broadcast in separate compilation unit
...
to avoid compiling several times for each flow variant
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
59d1ff9b88
updates in EclMpiSerializer to avoid explicit instances in serializer
...
now the serializer is 'standard', as in we only require basic types
+ stl containers. this should make the actual implementation pretty
pluggable. will ease replacing our serialization routines
with those in Dune 2.7 later.
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
9b545e58a4
remove old serialization support for pointers
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
aa7eba1f98
remove old serialization support for DynamicState
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
e71670e231
remove old serialization support for OrderedMap
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
777e2f7683
remove old serialization support for VFPProdTable
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
58b0ed66fc
remove old serialization support for VFPInjTable
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
d905e0f037
remove old serialization support for UnitSystem
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
02af915917
remove old serialization support for Dimension
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
37ab44d805
remove old serialization support for UDAValue
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
eef690f910
remove old serialization support for Group
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
714caef9c6
remove old serialization support for GroupProductionProperties
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
d496b93cfa
remove old serialization support for GroupInjectionProperties
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
c8b14dcbb1
remove old serialization support for IOrderSet
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
2c41427f3b
remove old serialization support for Well
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
eda5fc2d33
remove old serialization support for WellType
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
9aa464c4ac
remove old serialization support for WellSegments
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
fde0e42e8d
remove old serialization support for Segment
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
e53584ffec
remove old serialization support for Valve
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
2bb892139d
remove old serialization support for SpiralICD
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
41950690fd
remove old serialization support for WellInjectionProperties
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
0cb3e1426c
remove old serialization support for WellProductionProperties
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
a35ba93629
remove old serialization support for WellConnections
2020-03-19 09:31:52 +01:00
Arne Morten Kvarving
8cd3d3c9b9
remove old serialization support for Connection
2020-03-19 09:31:08 +01:00
Arne Morten Kvarving
1a4f8f861f
remove old serialization support for WellTracerProperties
2020-03-19 09:31:08 +01:00
Arne Morten Kvarving
2e34b91b53
remove old serialization support for WellBrineProperties
2020-03-19 09:31:08 +01:00
Arne Morten Kvarving
8a0959b026
remove old serialization support for WellPolymerProperties
2020-03-19 09:31:08 +01:00
Arne Morten Kvarving
99898ad79e
remove old serialization support for WellFoamProperties
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
d6c49bf801
remove old serialization support for WellEconProductionLimits
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
d791636919
remove old serialization support for WellGuideRate
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
c4e3d9c806
add necessary explicit template instantations
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
eb53bb0db9
remove old serialization support for DynamicVector
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
faffa0678b
remove old serialization support for Deck
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
81663e2942
remove old serialization support for Action::Actions
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
781b11fb07
remove old serialization support for Action::Condition
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
18a1e735fb
remove old serialization support for Action::Quantity
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
5c89c48554
remove old serialization support for Action::AST
2020-03-19 09:31:07 +01:00
Arne Morten Kvarving
2c1d45ea54
remove old serialization support for ActionX
2020-03-19 09:31:07 +01:00