Commit Graph

75 Commits

Author SHA1 Message Date
osae
4ce61b7c7c Support for kw VAPPARS.
When this kw is active, BlackoilPropsAdFromDeck now modifies rvSat
and rsSat curves cell-wise by a power of (sat_oil_cell /
sat_oil_cell_historical_max).   Currently, the associated jacobians do
not reflect terms of type d/d_sat_oil, but code for doing this is given
as comments to BlackoilPropsAdFromDeck::applyVap(ADB& r, ...).
2014-08-08 13:17:33 +02:00
Atgeirr Flø Rasmussen
cc5fa94e46 Remove unused grav_ member and function used to compute it.
This is a relic of the way we originally handled gravity. The member
remained after the change, and is now a major time-consumption sink
due to the unfortunate fact that it is computed every time step
(unnecessary), and because the gravityOperator() function (now removed)
was very unperformant after changing to use the faceCells() function.
2014-08-05 11:27:00 +02:00
Atgeirr Flø Rasmussen
92f20c6040 Update phase condition vector from primary variables.
This is necessary as an interim measure, since the phase condition vectors are
still used in property calculations.
2014-07-17 14:34:07 +02:00
Tor Harald Sandve
02ce468c01 Support Oil/Water case
The updatePrimalVariableFromState is now only called when
the gas phase is active.
2014-06-13 14:44:21 +02:00
Tor Harald Sandve
3e3b39df07 Introduce primaryVariable_ and use it to switch primary variables 2014-06-13 14:31:40 +02:00
Tor Harald Sandve
8a600747fa Read DISGAS and VAPOIL from deck and pass them to the simulator 2014-06-13 14:29:52 +02:00
Kai Bao
9fe98514c0 Changing the location of & when defining reference. 2014-05-23 11:39:26 +02:00
Kai Bao
cb48d185b9 The reference is used for residual_histroy.
In the detectNewtonOscillations().
2014-05-23 09:55:29 +02:00
Kai Bao
cd174c5ba4 Merge branch 'specifying_maximum_iterations' into oscillation_treatment_withlimitedupdate
Conflicts:
	opm/autodiff/FullyImplicitBlackoilSolver.hpp
	opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp
2014-05-22 22:13:14 +02:00
Kai Bao
6e6339d8c3 Adding user-specifying max iteration. 2014-05-22 22:09:54 +02:00
Kai Bao
6ac95ac7a8 Removing some debugging output. 2014-05-22 21:56:00 +02:00
Kai Bao
5c409173b4 Removing some debugging output. 2014-05-22 20:56:22 +02:00
Kai Bao
d7aa21dc03 Merge branch 'master' into oscillation_treatment_withlimitedupdate
Conflicts:
	opm/autodiff/FullyImplicitBlackoilSolver.hpp
2014-05-22 09:59:50 +02:00
Atgeirr Flø Rasmussen
cb327ce63a Warning removal: const on return types not needed. 2014-05-21 19:49:29 +02:00
Kai Bao
2733b5459e Removing the space before (). 2014-05-21 11:02:04 +02:00
Kai Bao
5277fa389d Removing two input paramters in stablizeNewton().
Removing the bool input parameters osicllate and stagnate from the
stablizeNewton(). Basically, the value omega will decide if the
relaxation will be applied.
2014-05-21 10:44:20 +02:00
Kai Bao
63c53096cd Using param.getDefault() instead of param.get().
And also remove the space in dsMax (), drsMaxRel (), dpMaxRel ().
2014-05-20 15:17:37 +02:00
Kai Bao
9557db4c15 Merge branch 'limited_variable_update' of github.com:GitPaean/opm-autodiff into oscillation_treatment_withlimitedupdate
Conflicts:
	opm/autodiff/FullyImplicitBlackoilSolver.hpp
2014-05-20 13:45:13 +02:00
Kai Bao
8dcae05a7b Revising the function stablizeNewton().
For the SOR type relaxation, we need the dx from the previous iteration.
2014-05-20 11:25:04 +02:00
Kai Bao
5b6c325a32 Finish the first stablizeNewton(). 2014-05-19 18:41:38 +02:00
Kai Bao
ab8636b57d Add function detectNewtonOscillations. 2014-05-19 15:43:56 +02:00
Kai Bao
a969025c5e Add a residuals function prototype. 2014-05-19 10:41:23 +02:00
Kai Bao
2b31ab6111 Removing one blank line. 2014-05-16 18:27:23 +02:00
Kai Bao
cd50b54ddf Finishing the modification for solver class. 2014-05-16 18:02:55 +02:00
Atgeirr Flø Rasmussen
96610704c4 Merge pull request #132 from atgeirr/remove-old-well-eq
Remove unused function addOldWellEq().
2014-05-09 21:28:54 +02:00
Atgeirr Flø Rasmussen
a89d67d8cb Merge pull request #133 from GitPaean/fixing_spe3_newConvergence
Fixing spe3 new convergence
2014-05-09 21:27:29 +02:00
Kai Bao
a8ddf7477d Cleaningup and ready for push. 2014-05-08 14:38:09 +02:00
Tor Harald Sandve
3143333b69 Update perfPressure
The secondary variable perfpressure is updated when the well
equation is assembled. The perfpressure is used to calculate the
welldensity.
2014-05-08 13:32:49 +02:00
Kai Bao
aec38e503d Using the updated rq_ instead of recomputing them. 2014-05-08 11:41:54 +02:00
Kai Bao
5ef4976f4a Using the units from the opm-core.
And a new interface for getConvergence based on x and xw.
2014-05-08 11:03:42 +02:00
Atgeirr Flø Rasmussen
3e2dd11641 Remove unused function addOldWellEq(). 2014-05-07 14:34:20 +02:00
Kai Bao
7bb7e5fbb4 Finish the first version of getConvergence.
The determination of disgas and vapoil is omitted and should be added
later.
2014-05-06 15:47:08 +02:00
Atgeirr Flø Rasmussen
4b4bb07d71 Changed the well control equations for dead wells.
This is now done in the same way as in MRST.
Also added a minor debugging macro, and (commented out) uses of it.
2014-04-24 18:50:49 +02:00
Atgeirr Flø Rasmussen
9e5d98dddd Make updateWellControls() update well variables, too.
Formerly only the control was changed. Now both well state and primary variables
will be modified to match control targets that were switched to (bhp or rates).
2014-04-22 13:52:42 +02:00
Atgeirr Flø Rasmussen
9ae24f9380 Merge branch 'master' into cpr-preconditioning-again
Conflicts:
	CMakeLists_files.cmake
	examples/test_implicit_ad.cpp
2014-04-15 11:48:36 +02:00
Markus Blatt
42fbe3b612 Revert "Activate paralle istl solvers if there is more than one process computing."
This reverts commit 9598a990df.
The commit slipped in by accident and should be part of a separate branch.
2014-04-09 13:32:28 +02:00
Atgeirr Flø Rasmussen
bd44127bd6 Renamed more classes.
FullyImplicitSystemSolver{Interface, Simple} -> NewtonIterationBlackoil{Interface, Simple}.
Change suggested by B. Skaflestad.
2014-04-08 16:11:08 +02:00
Atgeirr Flø Rasmussen
9e7ab6d1d2 Renamed class {FullyImplicit->Linearised}BlackoilResidual. 2014-04-08 15:56:08 +02:00
Atgeirr Flø Rasmussen
f1956f05f9 Merge branch 'cpr-preconditioning' into cpr-preconditioning-again
Conflicts:
	examples/sim_fibo_ad.cpp
	examples/test_implicit_ad.cpp
	opm/autodiff/FullyImplicitBlackoilSolver.cpp
	opm/autodiff/SimulatorFullyImplicitBlackoil.cpp
	opm/autodiff/SimulatorFullyImplicitBlackoil.hpp
2014-04-08 15:06:01 +02:00
Markus Blatt
46f3607641 Merge remote-tracking branch 'upstream/master' into master-refactor-for-cpgrid-support
Resolved conflicts:
	opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp
2014-03-31 11:39:37 +02:00
Markus Blatt
9598a990df Activate paralle istl solvers if there is more than one process computing. 2014-03-27 11:31:17 +01:00
Atgeirr Flø Rasmussen
4a22c560c7 Implemented updateWellControls(). 2014-03-25 14:31:06 +01:00
Atgeirr Flø Rasmussen
20ecd37709 Use currentControls() field of well state class.
Now the well state is consulted for the controls to use when assembling
the well control equations, instead of the (immutable) wells_ struct.

Also, added dummy implementation of updateWellControls().
2014-03-25 11:14:11 +01:00
Markus Blatt
8df314e90f Merge remote-tracking branch 'upstream/master' into master-refactor-for-cpgrid-support
Manually resolved conficts in the following files
	examples/sim_fibo_ad.cpp
	opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp
	opm/autodiff/SimulatorFullyImplicitBlackoil_impl.hpp

In additions examples/sim_fibo_ad_cp.cpp was adapted to compile again.
2014-03-25 11:11:08 +01:00
Atgeirr Flø Rasmussen
fd4f5f5a26 Merge branch 'master' into new_well_formulation
Conflicts:
	opm/autodiff/FullyImplicitBlackoilSolver.cpp

To resolve conflicts, WellState was changed to WellStateFullyImplicitBlackoil
in multiple places, and perfRate() changed to perfPhaseRate() in
WellDensitySegmented.
2014-03-20 10:04:45 +01:00
Atgeirr Flø Rasmussen
295677c8c1 Use WellStateFullyImplicitBlackoil class instead of WellState. 2014-03-18 11:27:40 +01:00
Atgeirr Flø Rasmussen
e8ee805717 Work in progress: use WellDensitySegmented class.
This is work in progress since it is non-working: phaseRates() is
not used correctly, and changes must be made to WellState or equivalent.
2014-03-18 08:48:34 +01:00
Markus Blatt
f4812c21eb Add an example program of FIBOS that uses CpGrid. 2014-03-13 16:33:36 +01:00
Tor Harald Sandve
a19aff63e7 Adds new well formulation
Todo: incorporate WellDensitySegment. Currently values of the pressure
drop is hardcoded to make the rest of the code work
Todo: make it possible to shut perforation with crossflow.
2014-03-11 14:30:54 +01:00
Atgeirr Flø Rasmussen
a14cff7834 Use new linear solver interface in fully implicit solver.
This includes:
 - Using the class FullyImplicitBlackoilResidual instead of
   in-class definition for the residual object.
 - Changing residual field name mass_balance to material_balance_eq.
 - Letting the simulator and solver classes accept a
   FullyImplicitSystemSolverInterface instead of a LinearSolverInterface.
 - In sim_fibo_ad and test_implicit_ad, instantiate class
   FullyImplicitSystemSolverSimple, replicating existing behaviour.
2014-02-10 10:47:21 +01:00