Commit Graph

725 Commits

Author SHA1 Message Date
Tor Harald Sandve
d7c67f10de Change default tolerance for well residuals 2015-05-06 08:55:49 +02:00
Tor Harald Sandve
43b8f9851e Change to maximum norm for the well residuals 2015-05-06 08:55:49 +02:00
Tor Harald Sandve
b4369cade8 Check well_flow tolerance pr phase
The phase rate residuals are scaled by the average volume factor to
avoid too large weight on the gas phase rates.
This also makes the well convergence criteria more consistent with the
mass-balance residuals for the cells.
2015-05-06 08:55:49 +02:00
Atgeirr Flø Rasmussen
862abf6ac7 Merge pull request #371 from totto82/modify_welleq
Modify welleq
2015-05-05 11:54:15 +02:00
Tor Harald Sandve
f1d7e0c7ea Only add contribution from positive phase rates to the wellbore mixture
Instead of adding contribution from all wells with positive total rates,
each phase in each well are checked seperatly.
2015-05-04 10:22:43 +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
Markus Blatt
0329b0138d Prevent unsigned vs. signed int comparison warning 2015-04-30 15:47:09 +02:00
Markus Blatt
80056b8ef2 [bugfix] Pass parallel information to AMG preconditioner within CPR.
Previously only passed the parallel information to the ILU preconditioner,
but of course needs this information to set up the communication, too.
With this commit we pass the parallel information object to AMG's constructor.
2015-04-30 14:09:24 +02:00
Tor Harald Sandve
a860361217 Cleaning addWellEq
1) Comments are added
2) Variable names are made more descriptive
3) Unecessary usage of subset are removed by extracting needed
quantities for the perforation cells once in advance
2015-04-29 09:22:23 +02:00
Tor Harald Sandve
1cec10ce05 Clean updateWellControls
The function is simplified by removing the update of the primal
variables (the ADBs). As a consequence updateWellControls must be
called prior to the creation of the primal variables.
2015-04-29 09:22:23 +02:00
Tor Harald Sandve
302bc71d2c Use target values as initial conditions for BHP and SURFACE_RATE
BHP and SURFACE_RATE values are updated every step and not only when the
well controll has switched.
2015-04-29 09:22:23 +02:00
Tor Harald Sandve
b3f9997f6a BUGFIX Wellbore mixture calculations for multiphase injectors
Add phase rates and not total rates when calculating the wellbore rates.
2015-04-29 09:22:23 +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
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
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
Arne Morten Kvarving
39e1d29176 fixed: use size_t and not unsigned long
fixes builds on i386
2015-04-14 10:25:21 +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
Robert Kloefkorn
a73c725b9d CPRPreconditioner: make compile with DUNE 2.2. 2015-04-08 14:23:35 +02:00
Atgeirr Flø Rasmussen
78ea73fa0a Fix convergence table labels (water, oil swapped). 2015-04-08 13:33:42 +02:00
Robert Kloefkorn
1ccf74eb4e NewtonIterationBlackoilCPR: fix uninitialized parameter and make the parameters const. 2015-04-08 11:48:16 +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
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
Andreas Lauser
ba4fca5a77 Revert "also pass the deck to the output writer"
This reverts commit 88730e855f.
2015-03-31 12:11:45 +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
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
Andreas Lauser
88730e855f also pass the deck to the output writer 2015-03-26 17:33:13 +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
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
Tor Harald Sandve
388ce7548e Averaging multiple layers of NTG values 2015-03-19 12:27:08 +01:00
Atgeirr Flø Rasmussen
ad3da1d946 Re-add copying overload of AutoDiffBlock::function(). 2015-03-19 11:46:48 +01:00
Tor Harald Sandve
65199735e2 Use average NTG values for merged cells due to MINPV algorithm
The volume weighted averaged NTG values are used to get more
reasonable x and y transmissibilities for the cells effected by the
MINPV grid processing algorithm.

This commit starts the process of supporting the MINPV-FILL keyword
where upscaled properties are used for the merged/filled cells.
2015-03-19 11:37:03 +01:00
Andreas Lauser
f0c3a6f892 add glue code needed for thermal gas PVT 2015-03-17 13:34:29 +01:00
Andreas Lauser
924818f445 add glue code needed for thermal oil PVT 2015-03-17 13:34:29 +01:00
Andreas Lauser
debb8a1a04 add glue code needed for thermal water PVT 2015-03-17 13:34:29 +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
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
Bård Skaflestad
531bc7fd73 Merge pull request #333 from atgeirr/reduce-recalculation
Reduce recalculation of phase pressures
2015-03-11 09:20:51 +01: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
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