Atgeirr Flø Rasmussen
a991eb55e3
Merge pull request #385 from atgeirr/polymorphism-for-blackoilmodel
...
Static polymorphism for black-oil model
2015-05-28 13:28:43 +02:00
Atgeirr Flø Rasmussen
3abb3497a5
Merge pull request #386 from akva2/use_config_mode
...
Use config mode
2015-05-27 12:32:06 +02:00
Atgeirr Flø Rasmussen
bb4cb5acac
Merge pull request #384 from blattms/parallel_adaptive_time_stepping
...
Activates the parallelism in the adaptive time stepping schemes.
2015-05-27 11:37:47 +02:00
Atgeirr Flø Rasmussen
4a4039e448
Introduce parenthesis to preserve old evaluation order.
...
While results would be equivalent, they would not be identical
to old results without this.
2015-05-26 16:50:49 +02:00
Atgeirr Flø Rasmussen
3246fd479d
Renamed rq_.head to rq_.dh, since it is used for head differences.
...
Also moved multiplication with transmissibilities so that dh does not
include them (so it really is the head difference).
2015-05-26 16:33:00 +02:00
Atgeirr Flø Rasmussen
153c091aef
Clean up in computeMassFlux().
2015-05-26 16:16:27 +02:00
Atgeirr Flø Rasmussen
d9c2a5bd5b
Add members isSg_, isRs_ and isRv_.
...
This replaces local variables that were used in more
than one place, and initialised locally in the exact
same way depending only on primalVariable_.
Now they are updated once when primalVariable_ has changed,
simplifying the code for variableState() and updateState().
2015-05-26 14:38:25 +02:00
Atgeirr Flø Rasmussen
6e5fac16d1
Add extraAddWellEq() hook in addWellEq().
...
This allows extended models to add functionality to the well treatment.
2015-05-26 14:07:08 +02:00
Atgeirr Flø Rasmussen
614afad74b
Add Next enum member for later extension.
2015-05-26 11:41:54 +02:00
Atgeirr Flø Rasmussen
52d035940e
Fix vector sizing bug.
2015-05-26 11:41:34 +02:00
Atgeirr Flø Rasmussen
143b213f53
Make method calls in variableState() polymorphic.
...
Achieved by using asImpl().
2015-05-26 11:19:52 +02:00
Atgeirr Flø Rasmussen
9aaf428f29
Refactor variableState().
...
Has been split into multiple methods to give more flexibility
to extended models.
2015-05-26 11:16:21 +02:00
Atgeirr Flø Rasmussen
1cc4b28c05
Removed declaration of unused method.
2015-05-26 01:57:16 +02:00
Atgeirr Flø Rasmussen
eb962aafa9
Use asImpl() pattern for static polymorphism.
...
Not yet applied to all method calls, but only ones needed for
polymer solver after initial refactoring.
2015-05-26 01:48:45 +02:00
Atgeirr Flø Rasmussen
74784522ea
Remove commented-out code.
2015-05-26 01:29:26 +02:00
Atgeirr Flø Rasmussen
7088304214
Remove unused overload of computePressures().
2015-05-26 01:19:37 +02:00
Atgeirr Flø Rasmussen
85436c4890
Move mass balance equations to separate function.
...
Note that well contributions are added on later in addWellEq() as before.
2015-05-26 00:31:50 +02:00
Atgeirr Flø Rasmussen
c2f4397bcf
Remove unused constantState() method.
2015-05-26 00:08:33 +02:00
Atgeirr Flø Rasmussen
0d7fa1a82c
Using ReservoirState and WellState consistently.
...
This means that for extended models the functions in BlackoilModelBase will
be compiled with the types used by those models and not BlackoilState and
WellStateFullyImplicitBlackoil (which are specified by BlackoilModel).
2015-05-25 23:49:09 +02:00
Atgeirr Flø Rasmussen
1cc5643d14
Moved enums to a separate file.
2015-05-25 23:06:03 +02:00
Atgeirr Flø Rasmussen
940853f9e5
Moved SolutionState to ModelTraits.
...
Also extracting existing private class and renamed it DefaultBlackoilSolutionState.
2015-05-25 00:46:28 +02:00
Atgeirr Flø Rasmussen
8f198986fd
Remove unneeded file.
2015-05-24 20:09:39 +02:00
Atgeirr Flø Rasmussen
05bb1e4f42
Use the Curiously Recurring Template Pattern for BlackoilModel.
2015-05-24 17:36:29 +02:00
Atgeirr Flø Rasmussen
92ab1d7974
Use separate files for model parameter struct.
2015-05-24 17:33:06 +02:00
Atgeirr Flø Rasmussen
620ef2a3dd
Create BlackoilModelBase class.
...
The class is identical to BlackoilModel class at this stage, but
since it was renamed from FullyImplicitBlackoilSolver it keeps the
commit history better.
2015-05-24 09:59:40 +02:00
Atgeirr Flø Rasmussen
1d2ef11ec7
Merge pull request #381 from atgeirr/refactor-solver
...
Start refactoring the FullyImplicitBlackoilSolver class
2015-05-22 12:40:49 +02:00
Atgeirr Flø Rasmussen
d08c44c53b
Follow changes to FullyImplicitBlackoilSolver
...
Original patch by Markus Blatt (@blattms).
2015-05-21 11:42:15 +02:00
Atgeirr Flø Rasmussen
5cebc1c047
Rename debugging macros to avoid potential collisions.
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
1e6ecb173f
Rename terminalOutput() -> terminalOutputEnabled().
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
cf3719d707
Add more iteration report methods to NewtonSolver.
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
603b9657a1
Use plural for parameter class names.
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
270a7c59fb
Add afterStep() hook to NewtonSolver::step().
...
Also implement (noop) afterStep() for BlackoilModel, and
make the hooks take non-const versions of the state data.
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
f89297255f
Rename FullyImplicitSolver -> NewtonSolver.
2015-05-21 10:43:04 +02:00
Atgeirr Flø Rasmussen
82827f56c0
Doc fixes and improvements.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
5c3e79da38
Improve comments in step().
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
2a967a321c
Cleanup FullyImplicitSolver.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
2e7e6c6344
Split functionality between model and solver.
...
The step() method and everything to do with relaxation and oscillation
detection is now in the FullyImplicitSolver class.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
24ab95122d
Made BlackoilModel contain all of the old solver class, now the
...
idea is to make the FullyImplicitSolver class grow instead.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
7829addb99
Use new solver and model class instead of old solver class.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
f8ef6d389a
Added new solver and model classes.
...
Solver is initially a copy of the blackoil solver class, and the
class BlackoilModel is empty.
2015-05-21 10:43:03 +02:00
Atgeirr Flø Rasmussen
53bff816c8
Merge pull request #382 from blattms/fix-parallel-communication-whole-system
...
Fix parallel communication for whole system
2015-05-21 10:36:35 +02:00
Atgeirr Flø Rasmussen
052cf09495
Merge pull request #378 from blattms/less-verbose-parallel-runs
...
Prevent printing stats on more than 1 process for CPR.
2015-05-15 15:38:55 +02:00
Atgeirr Flø Rasmussen
3375e1d312
Merge pull request #376 from blattms/debug-parallel-amg-cpr
...
Fixes convergence issues with the parallel CPR
2015-05-15 15:38:38 +02:00
Atgeirr Flø Rasmussen
9c6a8a942b
Merge pull request #379 from blattms/remove-dead-residualNorm
...
Removes unused residualNorm method.
2015-05-12 20:27:32 +02:00
Atgeirr Flø Rasmussen
db06fa48f5
Merge pull request #374 from babrodtk/throw_causes_core_dumped
...
Changed throw in main() to return EXIT_FAILURE
2015-05-06 12:41:39 +02:00
Atgeirr Flø Rasmussen
3cc02b4a3c
Merge pull request #375 from totto82/tol_welleq
...
Check scaled well residuals for convergence
2015-05-06 12:40:50 +02:00
Atgeirr Flø Rasmussen
abba4bbc21
Merge pull request #373 from babrodtk/80_column_flow_header
...
Reformated flow header to fit 80 columns
2015-05-05 17:32:21 +02:00
Atgeirr Flø Rasmussen
862abf6ac7
Merge pull request #371 from totto82/modify_welleq
...
Modify welleq
2015-05-05 11:54:15 +02:00
Atgeirr Flø Rasmussen
208b227ea8
Merge pull request #370 from blattms/fixes-comparison-warning
...
Prevent unsigned vs. signed int comparison warning
2015-04-30 16:54:19 +02:00
Atgeirr Flø Rasmussen
1ea9ca4453
Merge pull request #369 from blattms/pass-parallel-info-to-amg
...
[bugfix] Pass parallel information to AMG preconditioner within CPR.
2015-04-30 16:53:17 +02:00
Atgeirr Flø Rasmussen
8e95bf9996
Merge pull request #368 from blattms/fix-distribution-parallel-cpr
...
[bugfix] Use full set of processes to determine whether to redistribute ...
2015-04-30 14:23:28 +02:00
Atgeirr Flø Rasmussen
39cfc3058f
Merge pull request #364 from dr-robertk/PR/backup-restore-fix
...
BlackoilOutputWriter: fix restore when last step is selected.
2015-04-27 09:56:40 +02:00
Atgeirr Flø Rasmussen
4b7440ad78
Merge pull request #363 from dr-robertk/PR/max_residual_allowed
...
FullyImplicitBlockOil: increase max_allowed_residual to 1e7.
2015-04-23 15:17:33 +02:00
Atgeirr Flø Rasmussen
f007bf561c
Modify default solver parameters.
...
These should work well for both Norne and the SPE cases.
2015-04-21 12:40:21 +02:00
Atgeirr Flø Rasmussen
2eb06d6d6c
Use more appropriate end-of-sim timing output.
2015-04-21 10:42:40 +02:00
Atgeirr Flø Rasmussen
b088caba03
Merge pull request #359 from dr-robertk/PR/throw-linearsolverproblem
...
std::runtime_error --> LinearSolverProblem.
2015-04-17 09:07:15 +02:00
Atgeirr Flø Rasmussen
572feeb7e7
Merge pull request #360 from akva2/update_debian_packaging
...
update debian packaging
2015-04-17 08:53:35 +02:00
Atgeirr Flø Rasmussen
e44ef09212
Accept single deck filename as command line argument.
...
Any argument that is not handled by the parameter parser will
be assumed to be a deck filename. Only one is accepted, and if
given, it will override any deck_filename=<something> on the
command line or in parameter files.
FYI:
The parameter parser handles arguments of the following types:
key=value (note no space around = or in strings)
parameterfile.xml
parameterfile.param
2015-04-14 13:37:25 +02:00
Atgeirr Flø Rasmussen
c4655d7c00
Modify startup message, include version number.
2015-04-14 13:31:39 +02:00
Atgeirr Flø Rasmussen
22391ad144
Provide nicer startup message that includes opm-project URL.
2015-04-14 12:53:34 +02:00
Atgeirr Flø Rasmussen
2d50f4850f
Merge pull request #354 from akva2/fix_i386
...
fixed: use size_t and not unsigned long
2015-04-14 12:29:10 +02:00
Atgeirr Flø Rasmussen
6589b8d7a1
Merge pull request #352 from atgeirr/bugfix-after-PR335
...
Use generic function instead of UnstructuredGrid interface.
2015-04-13 10:38:42 +02:00
Atgeirr Flø Rasmussen
f82df94d2e
Use generic function instead of UnstructuredGrid interface.
2015-04-13 10:37:23 +02:00
Atgeirr Flø Rasmussen
e2a920b1fe
Merge pull request #335 from totto82/minpv-fill
...
Use average NTG values for merged cells due to MINPV algorithm
2015-04-13 10:20:36 +02:00
Atgeirr Flø Rasmussen
88d72be556
Update Eigen requirements.
...
Manually imported from opm-autodiff.
2015-04-10 15:25:34 +02:00
Atgeirr Flø Rasmussen
07063063cf
Merge pull request #348 from dr-robertk/PR/make-compile-with-dune2.2
...
CPRPreconditioner: make compile with DUNE 2.2.
2015-04-08 16:26:22 +02:00
Atgeirr Flø Rasmussen
2b1c9ae719
Merge pull request #346 from atgeirr/fix-output
...
Fix convergence table labels (water, oil swapped).
2015-04-08 13:35:16 +02:00
Atgeirr Flø Rasmussen
78ea73fa0a
Fix convergence table labels (water, oil swapped).
2015-04-08 13:33:42 +02:00
Atgeirr Flø Rasmussen
2ce8abcdb8
Merge pull request #345 from dr-robertk/PR/fix-uninitialized-parameter
...
NewtonIterationBlackoilCPR: fix uninitialized parameter
2015-04-08 12:37:41 +02:00
Atgeirr Flø Rasmussen
72ec98f94b
Merge pull request #343 from atgeirr/fix-flow-cp
...
Bugfix: distribute only if comm size is strictly > 1.
2015-04-08 10:18:30 +02:00
Atgeirr Flø Rasmussen
656e5de331
Bugfix: distribute only if comm size is strictly > 1.
2015-04-08 10:16:25 +02:00
Atgeirr Flø Rasmussen
62d3f37b1d
Merge pull request #342 from dr-robertk/PR/some-improvemnts-on-solvers
...
More parameter for solvers.
2015-03-31 18:00:40 +02:00
Atgeirr Flø Rasmussen
170dbb58eb
Merge pull request #341 from andlaus/use_EclipseState_for_summary_units
...
Revert "also pass the deck to the output writer"
2015-03-31 17:45:17 +02:00
Atgeirr Flø Rasmussen
05bee313d3
Merge pull request #339 from andlaus/use_deck_units_for_summary_output
...
also pass the deck to the output writer
2015-03-27 12:30:20 +01:00
Atgeirr Flø Rasmussen
061e1bcbd7
Merge pull request #324 from andlaus/implement_temperature_dependent_density
...
Implement temperature dependent density
2015-03-26 15:10:28 +01:00
Atgeirr Flø Rasmussen
c524be454a
Merge pull request #338 from flikka/add-output-header-file
...
Added SimulatorFullyImplicitBlackoilOutput.hpp to public headers, now us...
2015-03-25 12:54:03 +01:00
Atgeirr Flø Rasmussen
059bfaf036
Fix error in test for vertcatCollapseJacs().
2015-03-24 15:05:05 +01:00
Atgeirr Flø Rasmussen
9af3296aa9
Add test for vertcatCollapseJacs().
...
The test case is non-trivial in that it concatenates elements with a mix of
empty() and non-empty jacobian vectors.
2015-03-24 09:50:34 +01:00
Atgeirr Flø Rasmussen
eb9b62697e
Make vertcatCollapseJacs() handle constants properly.
...
With this, any or all of the input vector element may have
an empty jacobian vector. Any element with a non-empty
jacobian vector must still have the same block pattern.
2015-03-24 09:48:31 +01:00
Atgeirr Flø Rasmussen
085c279a0a
Use vertcatCollapseJacs() for improved performance.
2015-03-20 11:19:42 +01:00
Atgeirr Flø Rasmussen
07258f0249
Add function vertcatCollapsJacs().
2015-03-20 11:19:42 +01:00
Atgeirr Flø Rasmussen
ad3da1d946
Re-add copying overload of AutoDiffBlock::function().
2015-03-19 11:46:48 +01:00
Atgeirr Flø Rasmussen
0a76af1b14
Include <utility> for std::move().
2015-03-17 09:46:15 +01:00
Atgeirr Flø Rasmussen
f0ba4a5797
Use swap() and move() to reduce copying in formEllipticSystem().
2015-03-16 14:22:32 +01:00
Atgeirr Flø Rasmussen
5ff65b40e1
Fix bug added when adapting to new API.
...
Avoid using invalidated 'jacs', make copy.
2015-03-16 14:22:32 +01:00
Atgeirr Flø Rasmussen
a4a3505fae
Remove unused method computeRelPermWells().
2015-03-16 14:22:32 +01:00
Atgeirr Flø Rasmussen
04b255a03f
Make more use of move semantics in AD code.
...
This makes some API changes to AutoDiffBlock.
- Add overload for the constant() constructor taking rvalue ref.
- Add overload for the variable() constructor taking rvalue ref.
- Make the function() constructor *require* rvalue refs.
- Add a swap() function.
The remaining changes in this commit are follow-ups especially
to the third change (adding std::move in many places), and
some removal of unnecessary block pattern arguments from calls to
the constant() static method.
2015-03-16 14:22:32 +01:00
Atgeirr Flø Rasmussen
635f3db814
Use references in computeRelperm().
2015-03-16 14:22:32 +01:00
Atgeirr Flø Rasmussen
5d5ab267d2
Use std::move() in variableState().
2015-03-16 14:22:31 +01:00
Atgeirr Flø Rasmussen
f6b28b0f66
Add helper computeGasPress(), use to improve performance.
...
This avoids excessive calling of constantState().
2015-03-09 10:56:35 +01:00
Atgeirr Flø Rasmussen
ec9f5c1634
Move initial term computation to assemble().
2015-03-09 10:56:35 +01:00
Atgeirr Flø Rasmussen
8f91296974
Eliminate extra computePressure() calls.
...
The function still gets called more than necessary,
but that is due to its use in variableState() and that
constantState() calls variableState().
2015-03-09 10:56:35 +01:00
Atgeirr Flø Rasmussen
818b653c15
Removed extra overload of relperm().
2015-03-09 09:40:30 +01:00
Atgeirr Flø Rasmussen
a347e35304
Removing extra overloads of rsSat() and rvSat().
...
Also a few minor fixes to docs and indentation while in the area.
2015-03-09 09:40:30 +01:00
Atgeirr Flø Rasmussen
64769f1062
Merge pull request #332 from atgeirr/fix-compile-error
...
Fix compile error instroduced by merging #275 .
2015-03-09 09:39:02 +01:00
Atgeirr Flø Rasmussen
ae31c034b6
Fix compile error instroduced by merging #275 .
...
Moved output directory code near top again, changed rank query
to use Dune::MPIHelper instead of the grid.
2015-03-09 09:37:16 +01:00
Atgeirr Flø Rasmussen
17117e7a0e
Avoid storing return value in reference.
...
Normally this is OK for by-value returns, but here the right hand side
was changed to call ADB::value(), which returns by reference.
2015-03-05 16:07:04 +01:00
Atgeirr Flø Rasmussen
17b2a0e726
Merge pull request #327 from atgeirr/simplify-props
...
Simplify properties
2015-03-05 14:01:41 +01:00
Atgeirr Flø Rasmussen
d9d3554cb7
Merge pull request #328 from dr-robertk/PR/tolerance-wells
...
Output Newton and Lienar solver iterations
2015-03-05 11:32:47 +01:00
Atgeirr Flø Rasmussen
4be1671b4f
Merge pull request #326 from dr-robertk/PR/tolerances-as-parameters
...
Allow tolerances to be set in parameter files.
2015-03-03 14:39:08 +01:00