Commit Graph
100 Commits
Author SHA1 Message Date
Robert Kloefkorn b092b2504c make code compile and run. 2016-08-26 11:54:59 +02:00
Robert Kloefkorn 3db63b0a22 add flow_ebos, an ebos based simulator
it uses ebos for linearization of the mass balance equations and the
current flow code from opm-simulators for all the rest. currently, the
results match the ones from plain `flow` for SPE1, SPE9 and Norne, but
performance is not optimal: on SPE9, converting from and to the legacy
data structures takes about a third of the time to do the actual mass
balance assembly. nevertheless `flow_ebos` is almost as fast as plain
`flow` for SPE9. (for Norne `flow_ebos` is about 15% slower, even
though the results match quite closely. the reason for this is that it
requires more iterations for some reason.)
2016-08-09 18:38:23 +02:00
Robert Kloefkorn 93386b44ed Merge remote-tracking branch 'upstream/master' into PR/flag-to-ignore-solverconv 2016-05-27 12:56:20 +02:00
Robert Kloefkorn 7dd76cc967 NewtonIterationBlackoilInterleaved: added flag to allow to ignore solver convergence
failure.
2016-05-27 12:55:46 +02:00
Robert Kloefkorn 42a76e3da6 SimulatorFullyImplicitBlackoilOutput: use HAVE_PTHREAD to enable async_output by
default.
2016-05-09 16:58:07 +02:00
Robert Kloefkorn da0e725eb8 BackupRestore: remove all specializations for BlackoilState. This is now covered by
SimulationDataContainer.
2016-04-15 12:21:47 +02:00
Robert Kloefkorn e80ad5a9fe Merge remote-tracking branch 'upstream/master' into PR/async-output 2016-04-08 13:07:44 +02:00
Robert Kloefkorn b3a313bfec ThreadHandle: added documentation and use std::unique_ptr to store object pointers. 2016-04-08 11:12:09 +02:00
Robert Kloefkorn ec45b5547d cleanup. 2016-04-06 15:39:57 +02:00
Robert Kloefkorn 7e6a6fb20a ThreadHandle: cleanup and docu. 2016-04-06 15:26:47 +02:00
Robert Kloefkorn 54ea243c5f SimulatorFullyImplicitBlackoilOutput: added threaded asynchronous output. 2016-04-06 11:10:01 +02:00
Robert Kloefkorn 8d11be71e0 SimulatorState --> SimulationDataContainer. 2016-03-30 11:01:34 +02:00
Robert Kloefkorn 9c67c0e135 Merge remote-tracking branch 'upstream/master' into PR/async-output 2016-03-30 10:45:40 +02:00
Robert Kloefkorn 5044a07e46 SimFullImplOutput: added future to ensure that write history is accounted for. 2016-03-29 15:22:33 +02:00
Robert Kloefkorn d5c375f297 SimulatorFullyImplicitOutput: added flag for async output. 2016-03-29 10:49:49 +02:00
Robert Kloefkorn 29053dc18d SimulFulImplBOOutput: asynchronous serial output. 2016-03-29 10:49:49 +02:00
Robert Kloefkorn 8b08be2b78 fastSparseAdd/Substruct: use operator += and -=. 2016-02-18 15:31:35 +01:00
Robert Kloefkorn ce04e22399 BackupRestore: bugfix due to mixup of size_t and unsigned int. 2016-02-18 15:30:52 +01:00
Robert Kloefkorn d001cac5b7 equalSparsityPattern: address nitpicks. 2016-02-17 15:59:34 +01:00
Robert Kloefkorn bc71458d44 AutoDiffMatrix: added braces in operator += and -=. 2016-02-17 14:24:55 +01:00
Robert Kloefkorn 75ffd897da AutoDiffBlock: revert changes in operator /.
equalSparsityPattern: also include outer index in check.
2016-02-16 17:18:04 +01:00
Robert Kloefkorn 23036e8096 Merge remote-tracking branch 'upstream/master' into PR/fast-sparse-add 2016-02-16 15:25:10 +01:00
Robert Kloefkorn 9661973387 Also check outer ptr. 2016-02-16 15:24:52 +01:00
Robert Kloefkorn 4df4c9147a fastSparseProduct.hpp --> fastSparseOperations.hpp 2016-02-16 10:25:57 +01:00
Robert Kloefkorn 743fad877a remove unused typedef. 2016-02-16 10:25:57 +01:00
Robert Kloefkorn 2eebf73e1a computeWellFlux: use operator -= when possible. 2016-02-16 10:25:57 +01:00
Robert Kloefkorn 98c49fd52f AutoDiffMatrix: use operator += to add matrices 2016-02-16 10:25:57 +01:00
Robert Kloefkorn fadf5528e3 squash 2016-02-16 10:25:56 +01:00
Robert Kloefkorn d5b6566e06 AutoDiffMatrix: use fastSparse{Add,Substract} when sparsisty patterns match. 2016-02-16 10:25:56 +01:00
Robert Kloefkorn 530c0fe57f MatrixBlock: cleanup invert implementation to be less confusing. 2016-02-12 12:17:01 +01:00
Robert Kloefkorn 3aa8ed200f NewtonBlackoilInterleaved: increase maximal allowed iteration to 75. 2016-02-12 12:14:02 +01:00
Robert Kloefkorn 37e49a62c8 BlackoilModelBase: use single precision for solver when dt < 20 days. 2016-02-12 12:14:02 +01:00
Robert Kloefkorn e3b578d685 NewtonIterationBlackoilInterleaved: single precision can be used whether UMFpack is
there or not.
2016-02-12 12:14:02 +01:00
Robert Kloefkorn 4111797822 BlackoilModelBase: added parameter singlePrecision and print residual to large at right
place.
2016-02-12 12:14:02 +01:00
Robert Kloefkorn 915177979c SimulatorBase: also show total time at each time step for performance comparison. 2016-02-12 12:14:02 +01:00
Robert Kloefkorn 82d508727f MatrixBlock: added function firstmatrixelement.
NewtonBlackoilInterleaved: some cleanup and variable naming.
2016-02-12 12:14:02 +01:00
Robert Kloefkorn 783f158c93 NewtonBlackoilInterleaved: anable the use of AMG preconditioner. 2016-02-12 12:14:02 +01:00
Robert Kloefkorn 31812bd2f9 NewtonBlackoilInterleaved: add solver option for single precision. 2016-02-12 12:14:02 +01:00
Robert Kloefkorn 37dc877074 CPRPreconditioner: extract creation of AMG into a function. 2016-02-12 12:14:02 +01:00
Robert Kloefkorn a000c5a0b1 DuneMatrix: adjust to changes in dune 3.0 2016-01-28 13:50:25 -07:00
Robert Kloefkorn ab12d95273 relativeChange: brackets for if statement. 2015-11-10 10:07:57 -07:00
Robert Kloefkorn ebf61ed1bd added docu. 2015-11-10 10:05:06 -07:00
Robert Kloefkorn 31aa0544e7 computeTimeError --> relativeChange. 2015-11-10 10:00:04 -07:00
Robert Kloefkorn 77f9977ca8 BlackOilModelBase: revision of adaptive time stepping such that time error is computed
by model.
2015-11-10 09:53:25 -07:00
Robert Kloefkorn 9d5df94080 ParallelDebugOutput: remove warning and cleanup. 2015-10-28 19:03:37 +01:00
Robert Kloefkorn e30688fb85 ParallelDebugOutput: initialize wells with current report step number. 2015-10-28 19:03:37 +01:00
Robert Kloefkorn 4d121dccf4 NewtonIterationBlackoilInterleavedImpl: cleanup. 2015-10-09 13:39:02 +02:00
Robert Kloefkorn 476a09e0d6 NewtonIterationBlackoilInterleaved: print "...to cover np = 0" 2015-10-09 12:12:50 +02:00
Robert Kloefkorn ac034bd80e NewtonIterationBlackoilInterleaved: fix docu. 2015-10-09 12:06:29 +02:00
Robert Kloefkorn 885aedb1e8 NewtonIterationBlackoilInterleaved: make parameter a struct to avoid multi reading. 2015-10-09 12:03:58 +02:00
Robert Kloefkorn 28902065cf NewtonIterationBlackoilInterleavedImpl: silence warnings about unused and shadowed
variables.
2015-10-08 15:54:21 +02:00
Robert Kloefkorn d93a1a5b63 NewtonIterationBlackoilInterleaved: replace switch-case statement by proper template
recursion.
2015-10-08 15:54:21 +02:00
Robert Kloefkorn 884edadbd6 NewtonIterationBlackoilInterleaved: remove old docu. 2015-10-08 15:54:21 +02:00
Robert Kloefkorn 6304e44242 NewtonIterationBlackoilInterleeaved: remove unused headers. 2015-10-08 15:54:21 +02:00
Robert Kloefkorn c485e3fdc7 NewtonBlackølInterationInterleaved: NewtonBlackølInterationInterleavedImpl implements
the Iteration for a fixed number of cell variabled which is then used by the
NewtonBlackølInterationInterleaved class via a switch-case over the actually existing
numbers.
2015-10-08 15:54:21 +02:00
Robert Kloefkorn 36ca75c4b7 ParallelDebugOutput: fix bug in creation of local to global map on I/O rank. 2015-09-21 16:48:57 +02:00
Robert Kloefkorn 299b0aa3cf ParallelDebugOutput: fix initialization of wells for the I/O rank. 2015-09-21 14:05:35 +02:00
Robert Kloefkorn 04ec4eb2bf ParallelDebugOutput: disable wells, seems to not work after latest changes in opm-core. 2015-09-21 12:52:37 +02:00
Robert Kloefkorn f63487ad0f ParallelDebugOutput: initialize globalIndex in serial run too. 2015-09-21 12:42:41 +02:00
Robert Kloefkorn dacb4013ed ParallelDebugOutput: only use parallel output when mpi size > 1. 2015-09-21 12:24:07 +02:00
Robert Kloefkorn e8fad08d81 ParallelDebugOutput: workaround for ancient gcc bug. 2015-09-16 14:59:37 +02:00
Robert Kloefkorn c32749b129 SolverFullyImpl: avoid multiple output of redundant information in parallel. 2015-09-16 14:36:28 +02:00
Robert Kloefkorn a807aceb26 Merge remote-tracking branch 'upstream/master' into PR/ParallelDebugOutput 2015-09-16 13:10:46 +02:00
Robert Kloefkorn c3568a64d6 BlackoilOutput: make matlab output work in parallel. 2015-09-16 13:05:23 +02:00
Robert Kloefkorn 0696dbc1bb ParallelDebugOutput: remove warnings due to unused variables. 2015-09-16 13:05:00 +02:00
Robert Kloefkorn 591a6e86fe flow_solvent: create BlackoilWriter after grid has been partitioned. 2015-09-16 12:40:41 +02:00
Robert Kloefkorn dd4f362aa4 WellStateFullyImplicitBlackoil: call init of base class first. 2015-09-16 12:40:14 +02:00
Robert Kloefkorn 7c175a816a Output: only create ParallelDebugOutput when output is enabled in general. 2015-09-16 09:48:22 +02:00
Robert Kloefkorn 326faa99d7 ParallelDebugOutput: make the output in ecl format work in parallel by communicating
to an io rank and then proceed with serial output.
2015-09-16 09:48:22 +02:00
Robert Kloefkorn 9cf207f1fb DuneMatrix: remove hackery of defining private as protected. This issues has been
resolved in dune-2.4.
2015-08-07 12:08:06 +02:00
Robert Kloefkorn affc64f346 SimulatorBase: avoid using update operator for bool. 2015-07-29 10:21:55 +02:00
Robert Kloefkorn 3ef2e883f8 SimulatorBase[bugfix]: is_parallel_run_ was not initialized when output_terminal was
false.
2015-07-27 13:08:36 +02:00
Robert Kloefkorn 752f80572e GridHelpers: added specialization for PolyhedralGrid. 2015-07-10 14:16:43 +02:00
Robert Kloefkorn db36dd6f43 GeoProps: initialize scaledFaceNormal with zero. 2015-07-08 13:46:03 +02:00
Robert Kloefkorn 3c1bf1a669 GeoProps: avoid complications if dune is not found. 2015-07-08 13:18:52 +02:00
Robert Kloefkorn bdb30ec023 GeoProps: fix the use_local_perm implementation for flow_cp. The problem that the
faceNormals are scaled differently remains.
2015-07-08 13:15:00 +02:00
Robert Kloefkorn 34429b60f1 [bugfix] CpGrid does not yet work with use_local_perm. 2015-06-30 14:28:01 +02:00
Robert Kloefkorn 5b51a5b7b1 Merge remote-tracking branch 'upstream/master' into PR/merge-flow-and-flow_cp 2015-06-30 13:39:03 +02:00
Robert Kloefkorn 2d7045b9cd remove shared_ptr. 2015-06-18 13:29:17 +02:00
Robert Kloefkorn ee47f2887b define preprocessor variables to 1. 2015-06-17 16:34:48 +02:00
Robert Kloefkorn 10725c0b70 Merged main program for flow and flow_cp to avoid code duplication. 2015-06-17 13:00:37 +02:00
Robert Kloefkorn c846418446 BlackoilOutputWriter: fix restore when last step is selected. 2015-04-24 10:53:23 +02:00
Robert Kloefkorn 654c847b72 FullyImplicitBlockOil: increase max_allowed_residual to 1e7 to make SPE3 run through without adaptive time stepping. 2015-04-23 15:13:18 +02:00
Robert Kloefkorn 2badc765a6 std::runtime_error --> LinearSolverProblem when linear solver was not converged.
Since LinearSolverProblem is derived from std::runtime_error everything should work as
before.
2015-04-16 11:41:28 +02:00
Robert Kloefkorn a73c725b9d CPRPreconditioner: make compile with DUNE 2.2. 2015-04-08 14:23:35 +02:00
Robert Kloefkorn 1ccf74eb4e NewtonIterationBlackoilCPR: fix uninitialized parameter and make the parameters const. 2015-04-08 11:48:16 +02:00
Robert Kloefkorn 1b23de0b1c CPR: add verbosity as a parameter. 2015-03-31 12:54:26 +02:00
Robert Kloefkorn 632bc7a809 CPR: FastAMG seems not to be faster, so use regular AMG. 2015-03-31 12:42:58 +02:00
Robert Kloefkorn adac4a7995 CPRPreconditioner: added tolerance and max iter as a parmeter.
Parameters are now a separate class to avoid long constructor parameter list.
2015-03-31 12:15:54 +02:00
Robert Kloefkorn 90a7faf1a8 FullyIBOS: added parameter for minimal number of newton iterations, default stays at 0.
Also, don't throw an exception when the solver did not converge, just return -1
indicating that there was a problem.
2015-03-31 11:16:44 +02:00
Robert Kloefkorn 20316e0a8e NewtonBOCPR: allow to use either GMRes or BiCGStab. This will be revised once the new
linear solver interface is in place.
2015-03-31 11:04:31 +02:00
Robert Kloefkorn 11ef164865 SimFullyImplBO: write simulation state at all report step and in the end when adaptive
TS is enabled.
2015-03-10 12:12:31 +01:00
Robert Kloefkorn b20733eb29 nitpick adjustments. 2015-03-05 11:28:11 +01:00
Robert Kloefkorn 05260e9582 added number of linear and newton iterations to output. 2015-03-05 10:40:20 +01:00
Robert Kloefkorn e5eec509d2 make terminal output a parameter to avoid output. 2015-03-05 10:40:20 +01:00
Robert Kloefkorn 06396b4b82 FullyImplicitBlackoilSolver: added tolerance for well convergence as parameter. 2015-03-05 10:40:15 +01:00
Robert Kloefkorn 96bda6a453 FullImplicitBlackOil and CPR: allow for dynamically changed tolerances from parameter
file. Default is as before.
2015-03-03 13:42:03 +01:00
Robert Kloefkorn 937555bb3b use group for timestep parameters. 2014-10-20 15:18:14 +02:00
Robert Kloefkorn e68c58fb59 added linear to docu. 2014-10-20 14:47:45 +02:00
Robert Kloefkorn 42e4043c18 remove unused variable. 2014-10-20 14:47:33 +02:00