Atgeirr Flø Rasmussen
9b30e2e0d7
Use unique_ptr instead of shared and raw pointers.
2015-05-29 14:57:49 +02:00
Atgeirr Flø Rasmussen
2bec485184
Fix a few warnings.
2015-05-29 14:57:30 +02:00
Andreas Lauser
496c32d2a6
do not use std::shared_ptr where it is deemed inappropriate by the maintainers
...
note that I don't agree with this change and will assume no
responsibility if something goes down the gutter.
2015-05-29 14:34:47 +02:00
Andreas Lauser
5666df807b
some stylistic changes
...
in particular, where to put empty lines and spaces. Also added a
copyright statement for myself to a few files and added a comment. the
new comment was requested by [at]bska, the rest was requested by
[at]atgeirr.
2015-05-29 12:35:56 +02:00
Andreas Lauser
553f32e6cf
SimulatorBase: move the new method bodies from the .hpp to the _impl.hpp file
2015-05-28 13:55:54 +02:00
Andreas Lauser
662cd9791e
SimulatorBase: only care about the solver in the run() method
...
this is necessary because some older simulations only provide the
full-fledged solver class but no physical model.
(also, this allows to use something else than the standard newton
solver.)
2015-05-28 13:55:54 +02:00
Andreas Lauser
a154c8394d
Simulator, Model: add everthing which is required by the polymer simulators
...
basically, this adds some hooks to the SimulatorBase class and the
model and introduces a few types to the SimulatorTraits.
2015-05-28 13:55:54 +02:00
Andreas Lauser
45fb80f547
SimulatorBase: remove the opaque pointer pattern
...
because the class is (and will stay) a template and for templates the
benefits of the opaque pointer pattern go from "small" to "zero".
2015-05-28 13:55:53 +02:00
Andreas Lauser
3eec9f3432
introduce a "SimulatorBase" class
...
so, far it is just a copy of the old "SimulatorFullyImplicitBlackoil"
class (which became a simple forward to the base class). The intention
is to unify the common simulator code in this class to avoid excessive
copy-and-pasting.
2015-05-28 13:55:53 +02:00
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
Arne Morten Kvarving
8afa9e4749
added: look for opm-cmake in sibling directory
2015-05-27 11:51:28 +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
Arne Morten Kvarving
9ae6eb9b77
changed: locate opm-cmake using config mode
2015-05-27 10:48:30 +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
Markus Blatt
2180ccddbc
Activates the parallelism in the adaptive time stepping schemes.
...
It does this simply by passing the information about the
parallelization to the adaptive time stepper.
2015-05-22 21:12:10 +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