Commit Graph
100 Commits
Author SHA1 Message Date
Atgeirr Flø Rasmussen b5c216f4f3 Merge pull request #621 from totto82/fix_lrat
Bugfix. Fix setting initial rates in updateWellControls
2016-03-31 14:33:33 +02:00
Atgeirr Flø Rasmussen 3aa5158842 Merge pull request #619 from kjellkongsvik/Move_OutputWriter_to_opm-output
Refactored to use OutputWriter from opm-output
2016-03-31 09:44:09 +02:00
Atgeirr Flø Rasmussen 6a4bd4516c Merge pull request #625 from OPM/revert-623-PR/async-output
Revert "Asynchronous output."
2016-03-31 09:43:15 +02:00
Atgeirr Flø Rasmussen 13b86a7825 Revert "Asynchronous output." 2016-03-31 09:43:01 +02:00
Atgeirr Flø Rasmussen e676aa7114 Merge pull request #623 from dr-robertk/PR/async-output
Asynchronous output.
2016-03-31 09:42:50 +02:00
Atgeirr Flø Rasmussen 463866b523 Create state_ in all cases. 2016-03-29 10:48:36 +02:00
Atgeirr Flø Rasmussen 98862f449c Restore compilation (init -> constructor).
Also suppress new warnings due to unsigned/signed comparisons.
2016-03-29 10:48:36 +02:00
Atgeirr Flø Rasmussen a3ae13b892 Merge pull request #612 from qilicun/enable-solvent-diagnostics
enable relperm diagnostics for solvent model.
2016-03-16 10:32:18 +01:00
Atgeirr Flø Rasmussen 77ea648e6a Merge pull request #610 from GitPaean/performance_multisegment
adding flag to wops_ms_ to indicate if MSW is involved.
2016-03-09 12:54:30 +01:00
Atgeirr Flø Rasmussen d75516a705 Merge pull request #609 from totto82/powADB
Add power method for general f^g in the AutoDiffBlock
2016-03-08 11:15:00 +01:00
Atgeirr Flø Rasmussen 235bdedc55 Merge pull request #605 from totto82/supportForPMISC
Add support for PMISC
2016-03-08 10:03:03 +01:00
Atgeirr Flø Rasmussen 597cda6cbb Merge pull request #608 from totto82/relperm_diagnostic_solvent
Skip the relperm diagnostics for the solvent model.
2016-03-08 08:41:27 +01:00
Atgeirr Flø Rasmussen bfda0e13f6 Merge pull request #588 from andlaus/opm-material_blackoil_PVT
fix the fallout of the removal of the opm-core black-oil PVT classes
2016-03-07 13:40:27 +01:00
Atgeirr Flø Rasmussen 96938548c1 Merge pull request #603 from atgeirr/remove-unused-parameter
Adapt to removed init() parameter.
2016-03-04 11:22:08 +01:00
Atgeirr Flø Rasmussen f7f18c70bb Merge pull request #604 from atgeirr/minor-fixes
Fix minor initialization and overriding bugs.
2016-03-04 11:21:09 +01:00
Atgeirr Flø Rasmussen a19607fabc Merge pull request #593 from qilicun/integrate_diagnostics
integrate relperm diagnostics into flow.
2016-03-04 09:49:10 +01:00
Atgeirr Flø Rasmussen 7bfa8f405e Fix bug in overriding method. 2016-02-29 11:18:51 +01:00
Atgeirr Flø Rasmussen b0b42d7dc7 Add missing initializer for 'singlePrecision'. 2016-02-29 11:17:54 +01:00
Atgeirr Flø Rasmussen 6dd3f0ebb3 Adapt to removed init() parameter. 2016-02-29 11:05:35 +01:00
Atgeirr Flø Rasmussen 95c645cc72 Merge pull request #598 from andlaus/allow_temperature_to_default
BlackoilPropsAdFromDeck: allow the AutoDiffBlock which represents temperature to be empty
2016-02-22 17:09:06 +01:00
Atgeirr Flø Rasmussen af2455fdbe Merge pull request #590 from dr-robertk/PR/bugfix-in-backup-restore
Bugfix in backup/restore.
2016-02-19 11:37:57 +01:00
Atgeirr Flø Rasmussen 319960dbda Merge pull request #592 from blattms/distribute_threshold_pressure
Fixes the exception for models with threshold pressures.
2016-02-19 08:49:37 +01:00
Atgeirr Flø Rasmussen 569df33ab2 Merge pull request #583 from totto82/solventSupportRegions
Support regions in the solvent model
2016-02-18 15:43:27 +01:00
Atgeirr Flø Rasmussen 8dfc8d82fc Merge pull request #582 from dr-robertk/PR/fast-sparse-add
Fast sparse add.
2016-02-17 19:55:15 +01:00
Atgeirr Flø Rasmussen 8bc9789556 Merge pull request #585 from blattms/fix-opm-matrix-dune-2.4
Account for variable change in 2.4.1
2016-02-16 21:09:23 +01:00
Atgeirr Flø Rasmussen a6c8db34e0 Merge pull request #584 from jepebe/travis
Added Travis support
2016-02-16 11:05:54 +01:00
Atgeirr Flø Rasmussen 704603e2b2 Merge pull request #578 from dr-robertk/PR/amg-for-interleaved
AMG for Interleaved solver and other goodies.
2016-02-16 10:15:55 +01:00
Atgeirr Flø Rasmussen eb228835c2 Merge pull request #577 from totto82/solventMiscible
Add miscible effects to the solvent model
2016-02-12 11:21:56 +01:00
Atgeirr Flø Rasmussen 3b294beb51 Merge pull request #575 from dr-robertk/PR/make-compile-with-current-master
DuneMatrix: adjust to changes in dune 3.0
2016-02-12 10:23:40 +01:00
Atgeirr Flø Rasmussen 885e3aa561 Merge pull request #576 from andlaus/opm-material_PVT
use the blackoil PVT classes from opm-material instead of the opm-core ones
2016-02-11 22:39:38 +01:00
Atgeirr Flø Rasmussen 2d7b9f7663 Merge pull request #580 from atgeirr/master
Fix minor issue with const POD requirements.
2016-02-11 16:21:49 +01:00
Atgeirr Flø Rasmussen a356a100f7 Fix minor issue with const POD requirements.
A user-defined default constructor is required in this situation
unless explicitly using the empty-brace-init syntax.

See discussion here:
http://stackoverflow.com/questions/7411515/why-does-c-require-a-user-provided-default-constructor-to-default-construct-a
2016-02-11 16:17:17 +01:00
Atgeirr Flø Rasmussen 19c168caca Merge pull request #570 from atgeirr/fix-api-change
Fix change in signature of extractPvtTableIndex() in solvent props.
2016-01-08 14:49:50 +01:00
Atgeirr Flø Rasmussen 7e1af01ad7 Fix change in signature of extractPvtTableIndex() in solvent props. 2016-01-08 14:47:41 +01:00
Atgeirr Flø Rasmussen d47202b676 Merge pull request #569 from chflo/OPM-163
OPM-163: Changed signature for method extractPvtTableIndex
2016-01-08 13:36:22 +01:00
Atgeirr Flø Rasmussen 2505183887 Improve threshold pressure mismatch error message. 2015-12-28 09:22:53 +01:00
Atgeirr Flø Rasmussen 5315a0dfba Merge pull request #561 from atgeirr/refactor-extended-mains
Refactor main functions of all Flow variants.
2015-12-22 15:20:59 +01:00
Atgeirr Flø Rasmussen 6839b811f2 Make polymer solver use direct solver only.
The interleaved solver should work for this case, but does not currently.
2015-12-21 15:05:32 +01:00
Atgeirr Flø Rasmussen 8507427d83 Use correct syntax for logical not. 2015-12-21 14:55:33 +01:00
Atgeirr Flø Rasmussen dc4274f4a2 Include nncs in threshold pressures.
This was left out when rebasing (it had been introduced in the flow etc. mains).

This also fixes a bug: the nnc thresholds should be inserted at the end of the
vector to be consistent with the operators, not at the beginning.
2015-12-21 11:12:55 +01:00
Atgeirr Flø Rasmussen 78dbb79ea4 Fix compile error for in-class member init.
Reported by Kai Bao.
2015-12-21 11:12:01 +01:00
Atgeirr Flø Rasmussen bfcbd09488 Create and use FlowMainPolymer class. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen b420cccfc3 Add warning about simulating without WPOLYMER.
Warning was in the main() of flow_polymer.cpp,
but will disappear from there after refactoring.
2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen b156ce0b55 Create and use FlowMainSolvent class. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen 39900761a8 Transform FlowMain to use CRTP.
Main content is now in FlowMainBase, which takes Implementation as
a template parameter. FlowMain inherits from FlowMainBase with itself
as Implementation template parameter. Only the createSimulator() method
is implemented in FlowMain (as opposed to in FlowMainBase). All subclasses
must implement createSimulator().
2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen bb49ddbfc4 Improve comments. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen 4d31a99f5b Moved content of warnIfUnusedParams() into runSimulator(). 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen 4711fd3dfe Complete refactoring of FlowMain. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen 7a536570dc Split out readDeckInput() method. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen 4fae28f3d3 Split out setupOutput() method. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen 64eef0609a Split out setupParameters() method. 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen 966ace2c53 Split out printStartupMessage() method. 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen c1bd7670c6 Refine OpenMP number-of-threads output.
Now each MPI rank will report, making it easier to see how
MPI and OpenMP interacts w.r.t. processes and threads.
2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen f7c96b4fc5 Split out function setupParallelism(). 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen e3ceac44a6 Renamed flowMain.hpp -> FlowMain.hpp. 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen abf5443f33 Replace flowMain() function with FlowMain class. 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen 8e2cb4161a Merge pull request #553 from atgeirr/refactor-flow-main
Minor refactoring in flow.cpp
2015-12-18 13:47:24 +01:00
Atgeirr Flø Rasmussen b10b028aa1 Documented flowMain(). 2015-12-14 16:11:35 +01:00
Atgeirr Flø Rasmussen 29d18261c6 Make multisegment flow variants use flowMain(). 2015-12-14 16:11:35 +01:00
Atgeirr Flø Rasmussen f02fd71404 Use Simulator::ReservoirState in flowMain(). 2015-12-14 16:11:06 +01:00
Atgeirr Flø Rasmussen 460f0cb451 Use the new flowMain() function.
Also add it to the CMake file list.
2015-12-14 16:11:06 +01:00
Atgeirr Flø Rasmussen 51a03e6212 Extract content of flow main() to separate template function.
The function is templated on grid and simulator class, so this allows
flow and flow_mpi to be implemented without any macro tricks, instead
simply including and using different grid types.
2015-12-14 16:07:47 +01:00
Atgeirr Flø Rasmussen be9b6a3cd2 Unconditionally instantiate the (possibly fake) MPI helper.
This reduces the difference between flow and flow_mpi. For builds
without MPI, the fake helper from Dune is instantiated, which has
the same interface.
2015-12-14 16:07:47 +01:00
Atgeirr Flø Rasmussen 7c5256031c Use GridInit in flow.cpp. 2015-12-14 16:07:47 +01:00
Atgeirr Flø Rasmussen af980ed93c Creates GridInit template class. 2015-12-14 16:07:46 +01:00
Atgeirr Flø Rasmussen dc3a290327 Merge pull request #560 from atgeirr/silence-warning
Silence int vs. size_t warnings.
2015-12-14 15:56:21 +01:00
Atgeirr Flø Rasmussen e74a36d939 Silence int vs. size_t warnings. 2015-12-14 15:55:30 +01:00
Atgeirr Flø Rasmussen bd82e5ade9 Merge pull request #554 from totto82/nnc_thpress
NNC and threshold pressure
2015-12-14 11:33:30 +01:00
Atgeirr Flø Rasmussen d30147abfd Merge pull request #555 from totto82/residualSaturations
Add methods for critial gas and gas in oil saturations
2015-12-11 13:08:54 +01:00
Atgeirr Flø Rasmussen 73a26fb8dd Merge pull request #558 from totto82/powerAD
Add power operator to AutoDiffBlock
2015-12-11 09:49:25 +01:00
Atgeirr Flø Rasmussen 630454691e Merge pull request #557 from blattms/fix-pr541-for-parallel
Guard access of well variable with asImpl().localWellsActive()
2015-12-11 09:40:47 +01:00
Atgeirr Flø Rasmussen ef07b8daef Update run() calls in polymer fully implicit sims. 2015-12-07 13:45:07 +01:00
Atgeirr Flø Rasmussen ffc91bc35e Remove unnecessary EclipseState argument from run(). 2015-12-07 13:40:06 +01:00
Atgeirr Flø Rasmussen e54f7ed2d7 Use warning suppression headers. 2015-12-07 13:40:06 +01:00
Atgeirr Flø Rasmussen eb3cff97da Merge pull request #552 from akva2/import_polymer2
Import opm-polymer into opm-autodiff
2015-12-07 12:41:44 +01:00
Atgeirr Flø Rasmussen 241da90531 Merge pull request #547 from blattms/parallel-ilu
Parallel overlapping ILU0
2015-12-02 11:47:13 +01:00
Atgeirr Flø Rasmussen fe4f99a94e Minimise differences between flow.cpp and flow_multisegment.cpp. 2015-12-01 00:06:46 +01:00
Atgeirr Flø Rasmussen 57511641e2 Remove unused data members. 2015-12-01 00:06:46 +01:00
Atgeirr Flø Rasmussen a40d93a170 Comment out changes to residual output. 2015-12-01 00:06:46 +01:00
Atgeirr Flø Rasmussen c825b599e5 Remove unused include. 2015-12-01 00:06:46 +01:00
Atgeirr Flø Rasmussen 61cccfebf8 Refactor updatState() to use numWellVars().
This allows us to use the base version of updateState().
2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen 233a275191 Made the solveWellEq() method return if it converged.
Also use this to avoid updating if not converged in the
multi-segment version.
2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen 2055c94269 Implement solveWellEq() for multisegment model.
Note that this initial version has only been tested on regular wells!
2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen 693f5c791b Refactor computeWellFlux().
Now much faster, avoiding repeated use of subset() etc. by
vectorization of code.
2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen 5b43018862 Fix ms well ops implementation. 2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen bbf86dcd4a Add wops_ms_ member. 2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen b9e80c1950 Update flow_multisegment to match thresholdPressure() API change. 2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen 9dea3c6b57 Fix typo in variable name. 2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen 81e9c25b10 Made methods const in multi-segment model as well. 2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen e82828527c Make some methods const.
The methods are: computeWellFlux(), updatePerfPhaseRatesAndPressures()
and extractWellPerfProperties().
2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen ba7b3e728c Minor improvements in computeSegmentDensities().
Mainly improving comments, deleting unused code and moving some variable
definitions closer to where they are used.
2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen 702cd3170a Remove unused code and fix a few warnings. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen 4dd8536afa Make multi-segment model use Base::addWellContribution...() method.
Also make assemble() more similar to base version, using the
extractWellPerfProperties() member from Base.

To do this it was necessary to change the well_cells member of the
WellOps to be correct for the multi-segment wells (since they may
have different perforation order for some wells).
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen 44f36c45cf Add well_cells to WellOps to avoid recreating. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen b2787e24e7 Use value() in argument to make Selector constructor compile. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen 920eeed3b2 Improve assemble() with new method extractWellPerfProperties(). 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen 653e55d7db Make assemble() more similar to base version. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen e6a81fca83 Make convergence methods work for multi-segment wells.
The convergenceReduction() method no longer takes a number-of-wells argument,
instead it infers the number of well fluxes to check from the size of the
well_flux_eq member of the residual.

After this, a custom getConvergence() method is no longer required for the
multi-segment well model.
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen 1c4f4c646d Add asImpl() to some method calls.
This enables those methods (mostly well related) to be used polymorphically.
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen ae512d5c83 Update location of ErrorMacros.hpp header in includes. 2015-12-01 00:06:44 +01:00