Commit Graph
100 Commits
Author SHA1 Message Date
Atgeirr Flø Rasmussen 73170c4281 Add forgotten constructor delegation. 2015-09-07 13:00:41 +02:00
Atgeirr Flø Rasmussen 61c352ca3b Add move constructor and assignment to AutoDiffMatrix.
This is necessary, and done using swap(), since (current version)
Eigen::SparseMatrix does not support move semantics.
2015-09-07 13:00:41 +02:00
Atgeirr Flø Rasmussen 097542a527 Whitespace fixes.
It turns out I accidentally used tabs for a while, this commit
fixes that for all touched files.
2015-09-07 13:00:41 +02:00
Atgeirr Flø Rasmussen 3c905845f9 Use std::vector instead of DiagonalMatrix.
This is because DiagonalMatrix lacks a swap() method.
2015-09-07 13:00:02 +02:00
Atgeirr Flø Rasmussen 87f677af02 Fix bug in fastDiagSparseProduct(). 2015-09-07 13:00:02 +02:00
Atgeirr Flø Rasmussen 11a33b3017 Experiment with fast diagonal-sparse products. 2015-09-07 13:00:02 +02:00
Atgeirr Flø Rasmussen 1f32594f79 Fix bug in prodDD(), add test. 2015-09-07 13:00:02 +02:00
Atgeirr Flø Rasmussen 51dde7cec5 In collapseJacs(), avoid explicit zeros. 2015-09-07 13:00:02 +02:00
Atgeirr Flø Rasmussen dd52d444e7 Fix print() method. 2015-09-07 13:00:02 +02:00
Atgeirr Flø Rasmussen c795113ce3 Changes to make flow compile with AutoDiffMatrix. 2015-09-07 13:00:02 +02:00
Atgeirr Flø Rasmussen c712d0070d Bugfixes for AutoDiffMatrix. 2015-09-07 12:58:51 +02:00
Atgeirr Flø Rasmussen ffeaa5143d Add more ops and methods to AutoDiffMatrix.
To make it possible to use it instead of Eigen::SparseMatrix in
a range of cases.
2015-09-07 12:58:51 +02:00
Atgeirr Flø Rasmussen 47e7dbe943 New implementation of AutoDiffMatrix, some tests.
Compiles and tests successfully, but test coverage very
limited. New approach based on relatively primitive
run-time switching instead of trying to use inheritance.
2015-09-07 12:58:51 +02:00
Atgeirr Flø Rasmussen 6a5a48e728 Work in progress on AutoDiffMatrix (not compiling). 2015-09-07 12:58:51 +02:00
Atgeirr Flø Rasmussen b08f61362b Merge pull request #461 from blattms/fixes-solve_welleq_initially-in-parallel
Fixes parallel runs with solve_welleq_initially
2015-09-07 11:14:46 +02:00
Atgeirr Flø Rasmussen b77e306688 Merge pull request #460 from blattms/parallel-interleaved
Fix parallel flow_cp for the interleaved case
2015-09-07 10:09:16 +02:00
Atgeirr Flø Rasmussen 09e254d9a3 Merge pull request #458 from totto82/new_defaults
Change defaults
2015-09-07 08:49:36 +02:00
Atgeirr Flø Rasmussen 9ceeba0e8c Merge pull request #459 from blattms/zoltan-well-aware
Use well information during load balancing.
2015-09-07 08:49:04 +02:00
Atgeirr Flø Rasmussen 6f0f90d1b6 Merge pull request #448 from totto82/WCONINJH
Add support for WCONINJH
2015-09-04 15:27:40 +02:00
Atgeirr Flø Rasmussen c2d652a61f Merge pull request #455 from totto82/outofbounds_fix
BUGFIX Fix out of bounds error
2015-09-04 14:15:07 +02:00
Atgeirr Flø Rasmussen 59fccb2f86 Merge pull request #422 from andlaus/satfunc_refactoring
add a few missing "#include <Evaluation.hpp>"
2015-09-02 15:23:16 +02:00
Atgeirr Flø Rasmussen bbd1395d3f Merge pull request #451 from babrodtk/fix_warnings
Fixed warnings
2015-09-02 14:31:31 +02:00
Atgeirr Flø Rasmussen 61f49793fb Merge pull request #453 from babrodtk/bugfix_backup_restore
Fix bug reading directly into data owned by std::string
2015-09-02 14:30:55 +02:00
Atgeirr Flø Rasmussen 9913f900aa Merge pull request #450 from blattms/fix-parallel-satOilmax-size-2
Fixes parallel sat oilmax size
2015-09-01 23:15:29 +02:00
Atgeirr Flø Rasmussen 957290c459 Merge pull request #440 from babrodtk/thp_control_fix
Targets for switching to/from THP control (Vertical flow performance)
2015-08-24 09:35:43 +02:00
Atgeirr Flø Rasmussen 5bfdda0c3b Merge pull request #442 from babrodtk/missing_config_include
Added missing config.h include
2015-08-21 13:14:28 +02:00
Atgeirr Flø Rasmussen 768714eb32 Merge pull request #438 from atgeirr/silence-warning
Silence unused variable warning (release mode only).
2015-08-19 13:34:58 +02:00
Atgeirr Flø Rasmussen 36ccfca172 Silence unused variable warning (release mode only). 2015-08-19 13:33:38 +02:00
Atgeirr Flø Rasmussen 3c1c3a30ab Merge pull request #430 from babrodtk/vfpprod
Vertical flow performance
2015-08-19 13:27:37 +02:00
Atgeirr Flø Rasmussen dbc9aedc5a Merge pull request #437 from akva2/fix_install
fixed: install correct files
2015-08-19 12:38:27 +02:00
Atgeirr Flø Rasmussen 575b939dbc Merge pull request #436 from atgeirr/silence-warning
Silence unused argument warning.
2015-08-19 11:42:15 +02:00
Atgeirr Flø Rasmussen 6e1bb5de0e Silence unused argument warning. 2015-08-19 11:41:22 +02:00
Atgeirr Flø Rasmussen f526c02d3c Merge pull request #425 from totto82/extendedBlackOil
Adds a simple solvent model
2015-08-19 11:30:37 +02:00
Atgeirr Flø Rasmussen 91585bbcf8 Merge pull request #435 from atgeirr/fix-assert
Change assert() to use actual variables present.
2015-08-17 17:07:41 +02:00
Atgeirr Flø Rasmussen d41bd90a40 Change assert() to use actual variables present. 2015-08-17 17:06:54 +02:00
Atgeirr Flø Rasmussen 9af29fd496 Merge pull request #434 from atgeirr/fix-minor-memleak
Fix minor memory leak
2015-08-17 16:38:18 +02:00
Atgeirr Flø Rasmussen 18a3b0b7a2 Minor whitespace fix. 2015-08-17 16:36:01 +02:00
Atgeirr Flø Rasmussen dd87f45dfb Merge pull request #433 from GitPaean/optimizing_interleaved_implementation
optimizing the formInterleavedSystem().
2015-08-17 16:06:02 +02:00
Atgeirr Flø Rasmussen c9b76880b6 Fix minor memory leak. 2015-08-17 15:44:58 +02:00
Atgeirr Flø Rasmussen 8897e2bb46 Merge pull request #431 from atgeirr/silence-warnings
Silence warnings.
2015-08-14 14:04:10 +02:00
Atgeirr Flø Rasmussen 9a0ff41221 Silence warnings. 2015-08-11 09:20:35 +02:00
Atgeirr Flø Rasmussen d00d78453c Merge pull request #428 from dr-robertk/PR/remove-hackery-for-dune2.4
DuneMatrix: remove hackery of defining private as protected.
2015-08-07 13:04:30 +02:00
Atgeirr Flø Rasmussen e24cb27ad4 Merge pull request #420 from dr-robertk/PR/bug-fix-is-parallel-init
SimulatorBase[bugfix]: is_parallel_run_ was not initialized correctly.
2015-07-27 18:14:35 +02:00
Atgeirr Flø Rasmussen 5b7e1a2e03 Merge pull request #419 from blattms/prevent-init-shared_ptr-from-nullptr
Prevents initializing std::shared_ptr from nullptr to suit gcc-4.4
2015-07-23 23:32:57 +02:00
Atgeirr Flø Rasmussen b7764601f8 Merge pull request #418 from atgeirr/fix-flow-parallel
Pass parallel info to NewtonIteration... classes.
2015-07-16 15:04:30 +02:00
Atgeirr Flø Rasmussen 6494dee820 Pass parallel info to NewtonIteration... classes. 2015-07-16 14:32:36 +02:00
Atgeirr Flø Rasmussen e638176c4a Merge pull request #416 from atgeirr/fix-eigen-resize-nnc
Fixed Eigen array dimensions must be respected in resize().
2015-07-15 13:33:08 +02:00
Atgeirr Flø Rasmussen de2a52bbda Fixed Eigen array dimensions must be respected in resize(). 2015-07-15 13:26:34 +02:00
Atgeirr Flø Rasmussen 61b1a67140 Bugfix: do not call method on pointer that can be null. 2015-07-13 11:24:21 +02:00
Atgeirr Flø Rasmussen eda6899571 Simplify rhs of conditional. 2015-07-13 11:23:56 +02:00
Atgeirr Flø Rasmussen 6ca3fb7d18 Merge pull request #414 from dr-robertk/PR/adjust-autodiffgridhelpers
GridHelpers: added specialization for PolyhedralGrid.
2015-07-13 10:11:28 +02:00
Atgeirr Flø Rasmussen 5be3ae9ad6 Merge pull request #394 from totto82/addNNC
Add support for NNC in the simulator
2015-07-10 13:07:01 +02:00
Atgeirr Flø Rasmussen 41eefa188f Removed unneeded Opm:: qualifier, and reindent. 2015-07-09 13:45:15 +02:00
Atgeirr Flø Rasmussen c64222ce33 Avoid unused argument warning. 2015-07-09 13:37:20 +02:00
Atgeirr Flø Rasmussen 8265e0f07d Merge pull request #411 from dr-robertk/PR/fix-local-perm-for-flow_cp
Fix use of local perm for flow_cp.
2015-07-08 14:02:39 +02:00
Atgeirr Flø Rasmussen f0db1974cf Merge pull request #409 from andlaus/use_fluidstates_for_satfuncs
adapt to the opm-core API change in the SaturationFunctionsFromDeck to always use non-uniform tables
2015-07-01 12:58:13 +02:00
Atgeirr Flø Rasmussen 3d855b1535 Merge pull request #399 from dr-robertk/PR/merge-flow-and-flow_cp
Merge flow and flow_cp to avoid code duplication.
2015-06-30 15:11:37 +02:00
Atgeirr Flø Rasmussen 98dfe892f5 Undo the order changes in commit 1524a1.
This is done to eliminate changes in simulation results.
2015-06-29 16:44:10 +02:00
Atgeirr Flø Rasmussen 4cb8556f42 Simplify fluid interfaces, reuse formation volume factor.
The simplifications are:
 - Do not pass cell indices to fluidViscosity(), fluidReciprocFVF().
 - Pass b (reciprocal f.v.f.) to fluidDensity() instead of pressure etc.

This saves one call to fluidReciprocFVF(), that is removed from
fluidDensity(). Instead the previously stored quantity is passed
to fluidDensity() as an argument.
2015-06-24 10:22:23 +02:00
Atgeirr Flø Rasmussen 1524a10e31 Change order of computation to reduce overhead. 2015-06-24 10:06:40 +02:00
Atgeirr Flø Rasmussen 7a32644342 Merge pull request #406 from atgeirr/split-addwelleq
Refactor addWellEq().
2015-06-23 11:38:08 +02:00
Atgeirr Flø Rasmussen c96a33124c Refactor addWellEq().
The method has been split in three parts:
        computeWellFlux(const SolutionState& state,
                        const std::vector<ADB>& mob_perfcells,
                        const std::vector<ADB>& b_perfcells,
                        V& aliveWells,
                        std::vector<ADB>& cq_s);

        void
        updatePerfPhaseRatesAndPressures(const std::vector<ADB>& cq_s,
                                         const SolutionState& state,
                                         WellState& xw);

        void
        addWellFluxEq(const std::vector<ADB>& cq_s,
                      const SolutionState& state);

This reduces the function length, although most of the content of addWellEq()
now is in computeWellFlux(), so that function is still quite long. It also
allows us to use smaller sets of function arguments, which makes methods easier
to understand.

Finally, it makes it easier to create derived models with custom behaviour.
2015-06-22 11:34:10 +02:00
Atgeirr Flø Rasmussen f1859902a8 Merge pull request #405 from atgeirr/fix-non-mpi-failure
Move parallel overload into HAVE_MPI block.
2015-06-19 14:08:02 +02:00
Atgeirr Flø Rasmussen ae6caaac61 Move parallel overload into HAVE_MPI block. 2015-06-19 14:06:27 +02:00
Atgeirr Flø Rasmussen bb626b1d9c Merge pull request #404 from atgeirr/fix-include-name
Fix case in include statement.
2015-06-19 13:36:29 +02:00
Atgeirr Flø Rasmussen f3623270cc Fix case in include statement. 2015-06-19 13:35:36 +02:00
Atgeirr Flø Rasmussen a3f7d80ce6 Merge pull request #402 from atgeirr/interleaved-matrix
Move forming interleaved matrix to own function
2015-06-19 11:34:59 +02:00
Atgeirr Flø Rasmussen 700ce9e13d Move forming interleaved matrix to own function/ 2015-06-19 11:33:30 +02:00
Atgeirr Flø Rasmussen d6d0bde1ab Merge pull request #397 from atgeirr/interleaved-matrix
Add new linear solver approach: block-structured matrix.
2015-06-19 11:32:45 +02:00
Atgeirr Flø Rasmussen 5002fe1e37 Add use_interleaved option to flow_cp. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen 5e513642d7 Add paralell preconditioner, enable parallel case. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen a3d115ff22 Add (disabled) parallel version.
Disabled because the constructPreconditionerAndSolve() method does
not have a way currently to construct a parallel preconditioner.
2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen 5476b7a6ac Clean up headers, copyright. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen ca74b18784 Add missing include. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen 4eb77bebb4 Further cleanup: includes, copyright, whitespace. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen 9e28857933 Remove functions that were moved to NewtonIterationUtilities. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen c8cae85ea2 Move functions needed by several NewtonIteration-classes to separate file. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen d86de7bb79 Only use pressure jacobian to form sparsity pattern.
Also clean up by eliminating commented-out debugging code.
2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen 8cbce1bfdf Working interleaved solver implemented. 2015-06-19 10:53:32 +02:00
Atgeirr Flø Rasmussen 8af1ea1e42 Add (disabled) experimental part, not changing the A matrix.
This seems to cause a significant increase in iterations and failures,
which is why it is disabled for now.
2015-06-19 10:53:32 +02:00
Atgeirr Flø Rasmussen 63285bf6f9 Remove usage of CPRPreconditioner. 2015-06-19 10:53:32 +02:00
Atgeirr Flø Rasmussen 5d0f654443 Add class NewtonIterationBlackoilInterleaved.
Initially it is just a copy of the NewtonIterationBlackoilCPR class.
Also, add use_interleaved parameter to use the class.
2015-06-19 10:53:32 +02:00
Atgeirr Flø Rasmussen 7d3ea6b38e Merge pull request #400 from atgeirr/change-model-for-downstream-users
Add more parameters to addWellContributionToMassBalanceEq.
2015-06-18 15:02:39 +02:00
Atgeirr Flø Rasmussen dd945a5d5e Add more parameters to addWellContributionToMassBalanceEq.
Also: - call using asImpl(),
      - remove extraAddWellEq().
2015-06-18 14:25:53 +02:00
Atgeirr Flø Rasmussen 21accccc01 Merge pull request #398 from GitPaean/totto82-solveWellEq_updatedcomments
Solve well equation initially_continuing from PR OPM/opm-autodiff#396
2015-06-17 11:12:15 +02:00
Atgeirr Flø Rasmussen 512d18a669 Create solver and model parameters only once. 2015-06-01 13:07:45 +02:00
Atgeirr Flø Rasmussen af9a5992a3 Merge pull request #389 from andlaus/simplify_simulator
Simplify simulator
2015-05-29 15:46:38 +02:00
Atgeirr Flø Rasmussen 91b6cacf65 Merge pull request #390 from atgeirr/fix-warning
Fix unsigned/signed comparison warning.
2015-05-29 15:40:08 +02:00
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
Atgeirr Flø Rasmussen 3c7a79c16a Fix unsigned/signed comparison warning. 2015-05-28 14:07:25 +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
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