Commit Graph
100 Commits
Author SHA1 Message Date
Atgeirr Flø Rasmussen b0b42d7dc7 Add missing initializer for 'singlePrecision'. 2016-02-29 11:17:54 +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
Atgeirr Flø Rasmussen 9e664abe6e Add a TODO comment to updateWellControls(). 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen fce7247da5 Update the SolutionState's qs and bhp members.
This way they can be used instead of repeatedly extracting the top segment data,
which also could make it possible to use more of the existing implementation.
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen 9c1c87a040 Remember to initialize the data members. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen f2c812fb3a Made WellStateMultiSegment use inheritance properly.
Use base class' data members (via public methods),
also change method names to match existing ones.
2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen 7aa2672a14 Add TODO comment. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen 5d5ae7d271 Further silencing of warnings. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen 15fd5dad47 Suppress warnings in the multisegment well code. 2015-12-01 00:06:44 +01:00
Atgeirr Flø Rasmussen c91e144a1d Merge pull request #548 from atgeirr/silence-warning
Move boost include inside warning-suppressed block.
2015-11-30 14:17:15 +01:00
Atgeirr Flø Rasmussen 88280c1207 Move boost include inside warning-suppressed block. 2015-11-30 14:15:19 +01:00
Atgeirr Flø Rasmussen d31857a165 Merge pull request #161 from andlaus/implement_MULTFLT_in_SCHEDULE_section
adapt to the "mutable geology" changes from opm-autodiff
2015-11-27 14:11:50 +01:00
Atgeirr Flø Rasmussen 226e414380 Merge pull request #542 from andlaus/implement_MULTFLT_in_SCHEDULE_section
implement abililty to change the geology during the simulation run
2015-11-27 13:39:32 +01:00
Atgeirr Flø Rasmussen 315862ddd4 Merge pull request #545 from atgeirr/fix-min-iter
Honor the min_iter parameter.
2015-11-27 10:19:26 +01:00
Atgeirr Flø Rasmussen 979107ac4b Merge pull request #543 from totto82/new_trans
Use cell centers based on cell corners
2015-11-27 10:18:00 +01:00
Atgeirr Flø Rasmussen 99fd5e977f Remove assert() that is now wrong due to minIter() treatment. 2015-11-25 11:08:10 +01:00
Atgeirr Flø Rasmussen 9275070bad Honor the min_iter parameter.
This also required the minIter() accessor to be made public,
so made all of the remaining accessors public.
2015-11-24 16:09:01 +01:00
Atgeirr Flø Rasmussen a06892a070 Add asImpl() to method calls.
This is needed by derived models.
2015-11-19 14:39:49 +01:00
Atgeirr Flø Rasmussen e3a5e1682d Adapt to refactored/renamed NonlinearSolver (was NewtonSolver). 2015-11-18 10:19:32 +01:00
Atgeirr Flø Rasmussen 73407f3283 Merge pull request #159 from qilicun/parseMode
use non-strict ParseMode.
2015-11-18 09:12:26 +01:00