Commit Graph

2339 Commits

Author SHA1 Message Date
Kai Bao
b82e917b0d improving the initSolvent in StandardWellsSolvent 2016-04-20 14:26:13 +02:00
Kai Bao
ebe60bc5d7 puting WellModel before Implementation in the template. 2016-04-20 14:26:13 +02:00
Kai Bao
5bce482086 fixing the compilation and running of flow_solvent 2016-04-20 14:26:13 +02:00
Kai Bao
b464e4fb4a adding WellModel as template class for BlackoilModelBase
the compilation and running of flow are recovered.

Conflicts:
	opm/autodiff/BlackoilModelBase_impl.hpp
2016-04-20 14:26:13 +02:00
Tor Harald Sandve
18434e54ad Query the compute_well_potential parameter only once
-- and fix some comments
2016-04-20 08:32:57 +02:00
Pål Grønås Drange
18f6672df0 Using getInputGrid API from Parser 2016-04-19 17:03:41 +02:00
Tor Harald Sandve
e9b097cbf4 Only compute well potential if needed
A boolen user parameter is added to controll the computation of well
potential.

This is a temporary fix to assure that no extra computation time is used
on well potential calculation if it is not needed. The long term fix
will require a more thorough revising of the well group implementation.
2016-04-19 16:24:28 +02:00
Tor Harald Sandve
84972ac21e Fix bhp/thp logic in well potential calculation
Pick the most restrictive bhp (not the one that gives the largest
potential flow)
2016-04-19 15:58:05 +02:00
Tor Harald Sandve
4867e14f88 Fixes after rebase
-- remove some leftovers from merge process
-- start using stdWells()
2016-04-19 09:41:25 +02:00
Tor Harald Sandve
b216302895 Adapt to usage of stdWells() 2016-04-19 09:21:16 +02:00
Tor Harald Sandve
cc48e8a17e Add support for THP in well potential calculations 2016-04-19 09:21:15 +02:00
Tor Harald Sandve
18246263e9 Move computation of well potentials from simulator class ot model class
- the computation of well potentials in the model class calculates the
well potentials using computeWellFlux()
- in this way the well potential calculations also handle well where
some perforations are closed by the simulator due to cross-flow.
- the well potentials pr perforation and phase is stored in the well
state.
2016-04-19 09:21:15 +02:00
Andreas Lauser
4baf0f6acf Merge pull request #654 from andlaus/nested_ad
Fix build
2016-04-18 11:01:39 +02:00
dr-robertk
93f48d6ad9 Merge pull request #647 from GitPaean/wells_refactoring_onlytemplate_function
Moving more well related functions to StandardWells
2016-04-16 12:37:42 +02:00
Andreas Lauser
0405953a64 adapt code w.r.t. the removal of the tags for Opm::Evaluation 2016-04-15 18:49:29 +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
Kai Bao
adb140a788 fixing the running of flow_multisegment 2016-04-14 16:05:19 +02:00
Kai Bao
75b73a893e putting Vector and ADB to be inside StandardWells and wellhelpers 2016-04-14 16:05:19 +02:00
Kai Bao
19734f2103 adding extractWellPerfProperties to StandardWellsSolvent
to fix the flow_solvent running.
2016-04-14 16:05:19 +02:00
Kai Bao
5da57973fe adding updateWellState and updateWellControls to StandardWells 2016-04-14 16:05:18 +02:00
Kai Bao
376c940f09 moving updatePerfPhaseRatesAndPressures to StandardWells 2016-04-14 16:05:18 +02:00
Kai Bao
c398a6e424 puting computeWellFlux in StandardWells 2016-04-14 16:05:18 +02:00
Kai Bao
e9e1b9fda8 adding extractWellPerfProperties to StandardWells
It causes problem for the flow_multisegment. So the version in
BlackoilModelBase is kept for now.

On the other hand, it is few of functions that will be both required by
the standard wells and multisegment wells.

Some decision will be made later on how to put this function.
2016-04-14 16:05:18 +02:00
Kai Bao
c8b66821d5 adding computeWellConnectionDensitesPressures to StandardWells class. 2016-04-14 16:05:18 +02:00
Kai Bao
5d99fac207 adding StandardWellsSolvent for Solvent model. 2016-04-14 16:05:18 +02:00
Kai Bao
bca23d34c1 making StandardWells non-templated
we will focus on template functions instead.
2016-04-14 16:05:18 +02:00
Kai Bao
266f6f2df5 adding computePropertiesForWellConnectionPressures to StandardWells
tested with flow. Not sure how other flow siblings work.
2016-04-14 16:05:18 +02:00
Kai Bao
3bcfc905bd makding StandardWells a template based on SolutionState and WellState
may need to be adjusted later.
2016-04-14 16:05:18 +02:00
Kai Bao
c120313f09 renaming visc parameters to mu_w for better readability 2016-04-14 15:09:03 +02:00
Kai Bao
104f6053f1 removing blank spaces and replacing the tab with spaces by retab 2016-04-14 14:57:26 +02:00
Kai Bao
30774d8309 correcting buggy visc pointer usage in effective viscosity calculation 2016-04-14 14:52:00 +02:00
Atgeirr Flø Rasmussen
c64593a023 Merge pull request #650 from GitPaean/mixing_parameters_fixing
using effective polymer viscosity for polymer mobility calculation.
2016-04-14 14:16:45 +02:00
Kai Bao
666f91505d using effective polymer viscosity for polymer mobility calculation. 2016-04-14 13:45:21 +02:00
Atgeirr Flø Rasmussen
a031c25ced Re-enable output for 2-phase sims.
This was disabled when the facilities were moved to opm-output.
Now that the simulators are in the opm-simulators module and not
opm-core we can re-enable it.
2016-04-14 13:08:24 +02:00
Pål Grønås Drange
170a71eef8 Using API get3DProperties. 2016-04-14 11:37:27 +02:00
Atgeirr Flø Rasmussen
be67e0f7a5 Update include file locations. 2016-04-14 11:32:08 +02:00
Pål Grønås Drange
fd9f67ae55 Using API get3DProperties() 2016-04-12 14:47:50 +02:00
Pål Grønås Drange
77fc26475b Using new EclipseState API, made ->s into .s 2016-04-12 14:47:50 +02:00
Arne Morten Kvarving
66333051e7 Import the following files from opm-core
opm/core/utility/thresholdPressures.hpp
tests/test_thresholdpressure.cpp
opm/core/simulator/SimulatorCompressibleTwophase.hpp
opm/core/simulator/SimulatorCompressibleTwophase.cpp
opm/core/simulator/SimulatorIncompTwophase.hpp
opm/core/simulator/SimulatorIncompTwophase.cpp
examples/sim_2p_comp_reorder.cpp

the files in opm/core has been put in opm/simulators
2016-04-11 09:59:25 +02:00
Atgeirr Flø Rasmussen
ff549195ab Rename opm-autodiff -> opm-simulators. 2016-04-08 14:58:07 +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
Kai Bao
23ba5fa398 removing the StandardWells definition inside BlackoilModelBase
and some other tiny cleaning up.
2016-04-07 10:45:13 +02:00
Kai Bao
624516ed3c creating separate files for class StandardWells 2016-04-06 16:42:04 +02:00
Atgeirr Flø Rasmussen
cebc393caf Merge pull request #635 from GitPaean/wells_refactoring
A first step towards Wells refactoring
2016-04-06 16:08:18 +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
Kai Bao
84cc1ed81d correcting the determination of wells_active_. 2016-04-06 14:36:51 +02:00
Kai Bao
2bd83aae73 making the constructors of WellOps and StandardWells explicit. 2016-04-06 14:10:17 +02:00
Atgeirr Flø Rasmussen
37c4bd16b1 Adapt code to dune-cornerpoint -> opm-grid renaming. 2016-04-06 13:29:47 +02:00
Kai Bao
9972dae32a updating for the comments.
implement wells(), localWellsActive() and wellsActive() for the
BlackoilModelBase and its derived classed.
2016-04-06 12:54:01 +02:00
Kai Bao
4ad5d81296 fixing wrong codes from the rebase process and cleanup. 2016-04-06 12:54:01 +02:00
Kai Bao
8a52dd743b making StandardWells a simple class. 2016-04-06 12:54:01 +02:00
Kai Bao
3947ff5b1d moving localWellsActive and wellsActive to StandardWells
maybe later it can be something general for different types of wells.
2016-04-06 12:54:01 +02:00
Kai Bao
48483b23c7 update BlackoilSolventModel to fix the compilation. 2016-04-06 12:54:01 +02:00
Kai Bao
23288ce2e5 fixing the compilation after updated with master branch. 2016-04-06 12:54:01 +02:00
Kai Bao
5910c0db7c recovering the buidling for flow_multisegment 2016-04-06 12:54:01 +02:00
Kai Bao
723da3e618 recovering the flow_polymer 2016-04-06 12:54:01 +02:00
Kai Bao
bef4b8c077 moving the wellOps to the StandardWells class. 2016-04-06 12:54:01 +02:00
Kai Bao
8367eaacb3 first attempt to introduce StandardWells struct.
To replace the const Wells struct in BlackoilModelBase.
Only testing with Flow for the moment. Will update other Flow siblings
later.
2016-04-06 12:54:00 +02:00
Robert Kloefkorn
54ea243c5f SimulatorFullyImplicitBlackoilOutput: added threaded asynchronous output. 2016-04-06 11:10:01 +02:00
Tor Harald Sandve
e5254f3779 Adapt to changes interface of extractWellPerfProperties
The BlockoilmultisegmentModel is updated to account for changes in the
extractWellPerfProperties() interface.
2016-04-05 09:13:29 +02:00
Tor Harald Sandve
764d8a1c3f Remove leftovers from a merge process going wrong 2016-04-05 09:03:22 +02:00
Tor Harald Sandve
89e540cb2c Pass solutionState as first parameter
output parameters go last...
2016-04-05 08:57:07 +02:00
Tor Harald Sandve
925d0becf3 Fix to make flow_solvent run decks without solvent 2016-04-05 08:57:07 +02:00
Tor Harald Sandve
541475b2db Implement computePropertiesForWellConnectionPressures for solvent model
The solvent specify part of computeWellConnectionPressures is factored
out to computePropertiesForWellConnectionPressures in order to reuse
the computeWellConnectionPressures from the base model.
2016-04-05 08:57:07 +02:00
Tor Harald Sandve
9cd0383d36 Factor out computation of properties for well connection pressures
Computation of properties used in computeConnectionPressureDelta
is factored out to computePropertiesForWellConnectionPressures
The motivation is to be able to use a modified version of
computePropertiesForWellConnectionPressures in the solvent model
2016-04-05 08:57:07 +02:00
Tor Harald Sandve
7b81facfb0 Make use of extractWellPerfProperties to avoid code duplication
The following changes are done in order to remove the duplicated code in
assemble().
- extractWellPerfProperties takes SolutionState as input (only used in
the solvent model)
- the computation of effective parameters is moved to computeAccum()
With these changes the solvent model can use assemble() from the base
model.
2016-04-05 08:53:09 +02:00
Atgeirr Flø Rasmussen
0e7e45c129 Merge pull request #627 from totto82/well_potentials
Compute well potentials
2016-04-04 15:11:19 +02:00
Atgeirr Flø Rasmussen
cf6ed11f46 Merge pull request #626 from qilicun/adapt-changes
adapt changes to relpermDiagnostics.
2016-04-04 15:04:50 +02:00
Tor Harald Sandve
a2bff9149a Remove unused argument from computeWellPotentials() 2016-04-04 15:03:59 +02:00
Tor Harald Sandve
e4b52a457f Only calculate well potentials for cases with well groups 2016-04-04 09:03:13 +02:00
Tor Harald Sandve
bd81bda57b Remove well_perforation_pressure_diffs fr WellStateFullyImplicitBlackoil
- Calculate the well perforatino pressure difference based on bhp and
perforation pressures instead of storing it in
WellStateFullyImplicitBlackoil
2016-04-04 08:35:59 +02:00
Tor Harald Sandve
36a73591b0 Fix doc. for pressureMixingParameter 2016-04-01 15:59:17 +02:00
Tor Harald Sandve
a02a07289e Implement pressure effects in the Todd-Longstaff mixing parameter
The Todd-Longstaff model is extended to incorporate pressure effects
The solvent viscosity is then caculated as

mu_eff = mu_s^(1-\alpha * \omega) * mu_mix^(\alpha * \omega)

where \omega accounts for the porous media effects and \alpha =
\alpha(pressure) accounts for the miscibility of the solvent and oil
when contacted.
The \alpha values can be given using the TLPMIXPA keyword

If no entries are given to TLPMIXPA the table specified using PMISC will
be used as default.
IF TLPMIXPA does not appear in the grid \alpha = 1 and the pressure
effect is neglected.
This is tested in test_solventprops_ad.cpp
2016-04-01 15:55:56 +02:00
Tor Harald Sandve
30bd24f2fe Compute well potentials
The well potentials are caculated based on the well rates and pressure
drawdown at every time step. They are used to calculate default guide
rates used in group controlled wells.

well_perforation_pressure_diffs is stored in
WellStateFullyImplicitBlackoil as it is needed in the well potential
calculations.
2016-04-01 14:58:46 +02:00
Atgeirr Flø Rasmussen
8c9b17b943 Merge pull request #615 from totto82/fixes_solvent_model
Fixes to the solvent model
2016-04-01 13:40:00 +02:00
Liu Ming
778d318bb3 adapt changes to relpermDiagnostics. 2016-04-01 12:33:02 +08:00
Liu Ming
c314c30e79 if output_dir exists, save PRT file in that folder. 2016-04-01 09:27:39 +08:00
Liu Ming
0108216a68 Merge remote-tracking branch 'remotes/opm/master' into change-PRT-folder 2016-04-01 09:22:59 +08:00
Atgeirr Flø Rasmussen
6549658622 Merge pull request #624 from GitPaean/polymer_linearsolver
making the interleaved solver works for blackoil polymer simulator.
2016-03-31 15:39:54 +02:00
Atgeirr Flø Rasmussen
543c1655b9 Merge pull request #616 from jokva/accept-filename-without-DATA
Flow accepts base name for input Deck
2016-03-31 15:33:23 +02:00
Atgeirr Flø Rasmussen
b5c216f4f3 Merge pull request #621 from totto82/fix_lrat
Bugfix. Fix setting initial rates in updateWellControls
2016-03-31 14:33:33 +02:00
Atgeirr Flø Rasmussen
3aa5158842 Merge pull request #619 from kjellkongsvik/Move_OutputWriter_to_opm-output
Refactored to use OutputWriter from opm-output
2016-03-31 09:44:09 +02:00
Atgeirr Flø Rasmussen
13b86a7825 Revert "Asynchronous output." 2016-03-31 09:43:01 +02:00
Kai Bao
b39b9a85a2 making the interleaved solver works for blackoil polymer simulator.
The CPR solver does not work yet. An error will be thrown if people
specify to use CPR linear solver.
2016-03-30 16:19:56 +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
Jørgen Kvalsvik
9df3b2fda9 Flow accepts base name for input Deck
Enables flow to accept a basename for a case by appending a .DATA suffix
should it not be provided. It already supported reading the basename
from a .DATA extension file, but not opening said file by handing it to
the parser.
2016-03-30 08:51:41 +02:00
Robert Kloefkorn
5044a07e46 SimFullImplOutput: added future to ensure that write history is accounted for. 2016-03-29 15:22:33 +02:00
Kjell W. Kongsvik
a15085ad7d Replace comment with "ifdef DISABLE_OUTPUT" 2016-03-29 14:57:58 +02:00
Kjell W. Kongsvik
3614defbd9 Commented out usage of OutputWriter in simulator 2016-03-29 14:56:25 +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
Atgeirr Flø Rasmussen
463866b523 Create state_ in all cases. 2016-03-29 10:48:36 +02:00
Atgeirr Flø Rasmussen
98862f449c Restore compilation (init -> constructor).
Also suppress new warnings due to unsigned/signed comparisons.
2016-03-29 10:48:36 +02:00
Joakim Hove
18c07d5d66 Replaced SimulatorState -> SimulationDataContainer 2016-03-29 10:48:36 +02:00
Tor Harald Sandve
d91831b971 Avoid comparsion of floating point numbers 2016-03-18 14:30:47 +01:00
Tor Harald Sandve
94aa360fe6 Bugfix. Fix setting initial rates in updateWellControls
- The initial rates are only set to target values for single phase
producers (orat, wrat, grat).
- For injectors compi is used to determine the initial target rates.
2016-03-18 13:16:23 +01:00
chflo
e63bf7aead Changed includes due to OpmLog moved from parser to common 2016-03-17 16:19:07 +01:00
Kjell W. Kongsvik
ea9e572a65 Refactored to use OutputWriter from opm-output
As OutputWriter has been deleted from opm-core
Only changes in includes
2016-03-17 14:45:30 +01:00
Liu Ming
debf039175 rename ParseMode as ParseContext. 2016-03-17 08:55:52 +08:00
Tor Harald Sandve
753909b8b9 Fix convergence issues for negative relperm endpoints.
The relative permeabilty endpoints are scaled by the miscibility
function. The endpoints is not supposed to be negative therefore all
negative values are replaced by zero.
2016-03-16 11:04:56 +01:00
Tor Harald Sandve
41aa55ec82 Allow for shut wells in solvent run 2016-03-16 11:00:00 +01:00
Atgeirr Flø Rasmussen
a3ae13b892 Merge pull request #612 from qilicun/enable-solvent-diagnostics
enable relperm diagnostics for solvent model.
2016-03-16 10:32:18 +01:00
Liu Ming
f0a2959a6d use EclipsePRTLog. 2016-03-15 09:43:18 +08:00
Liu Ming
b4b821521e enable relperm diagnostics for solvent model. 2016-03-10 14:41:10 +08:00
Atgeirr Flø Rasmussen
77ea648e6a Merge pull request #610 from GitPaean/performance_multisegment
adding flag to wops_ms_ to indicate if MSW is involved.
2016-03-09 12:54:30 +01:00
Kai Bao
8115d918dd adding flag to wops_ms_ to indicate if MSW is involved.
to reduce some extra cost when MSW is not involved.
2016-03-09 11:20:16 +01:00
Andreas Lauser
bf283f8684 threshold pressures: consider the saturated case and fix a typo
the typo was caused the surface density of the oil phase to be used
instead of the one of gas. This caused the density to be off by a
factor of typically about 900.

using saturated FVFs does not change much, but it does not hurt
because it is also done that way in the simulator.

This makes the defaults for the threshold pressures reasonable again,
but for some reason they are not exactly the same as in the old
implementation. (although the differences are very tolerable.)

On the question why only "Model 2" is affected by this: the other
decks don't use threshold pressures (SPE-X) or do not default any
values (Norne).
2016-03-08 14:52:09 +01:00
Atgeirr Flø Rasmussen
d75516a705 Merge pull request #609 from totto82/powADB
Add power method for general f^g in the AutoDiffBlock
2016-03-08 11:15:00 +01:00
Tor Harald Sandve
35b34f1b3a Add pow() for constant base raised to variable exponent in AutoDiffBlock
- associated tests are added
- this PR also contains some clean up
2016-03-08 10:35:29 +01:00
Atgeirr Flø Rasmussen
235bdedc55 Merge pull request #605 from totto82/supportForPMISC
Add support for PMISC
2016-03-08 10:03:03 +01:00
Atgeirr Flø Rasmussen
597cda6cbb Merge pull request #608 from totto82/relperm_diagnostic_solvent
Skip the relperm diagnostics for the solvent model.
2016-03-08 08:41:27 +01:00
Tor Harald Sandve
b2e02f6d2b Add power method for general f^g in the AutoDiffBlock
A power method where both f and g are ADB variables is added
using the general derivative rule
(f^g)' = f^g * ln(f) * g' + g * f^(g-1) * f'

Tests are added to test_block.cpp
2016-03-07 14:23:45 +01:00
Andreas Lauser
b39e579197 fix the fallout of the removal of the opm-core black-oil PVT classes 2016-03-07 11:32:12 +01:00
Tor Harald Sandve
20819b8a03 Skip the relperm diagnostics for the solvent model. 2016-03-07 09:19:42 +01:00
Liu Ming
74fedcc53b Save PRT in the same folder as summary file. 2016-03-07 09:58:17 +08:00
Andreas Lauser
1f1dfbfc65 replace the blackoil PVT classes by the ones of opm-material
the opm-material classes are the ones which are now used by
opm-autodiff and this patch makes it much easier to keep the opm-core
and opm-autodiff results consistent. Also, the opm-material classes
seem to be a bit faster than the opm-core ones (see
https://github.com/OPM/opm-autodiff/pull/576)

I ran the usual array of tests with `flow`: SPE1, SPE3, SPE9 and Norne
all produce the same results at the identical runtime (modulo noise)
and also "Model 2" seems to work.
2016-03-05 19:11:44 +01:00
Tor Harald Sandve
948d985f56 Add support for PMISC
Pressure effects are added to relative permeability, capillary pressure,
viscosity and density miscibility
2016-03-04 11:34:31 +01:00
Atgeirr Flø Rasmussen
96938548c1 Merge pull request #603 from atgeirr/remove-unused-parameter
Adapt to removed init() parameter.
2016-03-04 11:22:08 +01:00
Atgeirr Flø Rasmussen
f7f18c70bb Merge pull request #604 from atgeirr/minor-fixes
Fix minor initialization and overriding bugs.
2016-03-04 11:21:09 +01:00
Atgeirr Flø Rasmussen
a19607fabc Merge pull request #593 from qilicun/integrate_diagnostics
integrate relperm diagnostics into flow.
2016-03-04 09:49:10 +01:00
Atgeirr Flø Rasmussen
7bfa8f405e Fix bug in overriding method. 2016-02-29 11:18:51 +01:00
Atgeirr Flø Rasmussen
b0b42d7dc7 Add missing initializer for 'singlePrecision'. 2016-02-29 11:17:54 +01:00
Atgeirr Flø Rasmussen
6dd3f0ebb3 Adapt to removed init() parameter. 2016-02-29 11:05:35 +01:00
Jørgen Kvalsvik
6ae1613765 Add missing opm-parser headers
opm-parser pull #695
https://github.com/OPM/opm-parser/pull/695
2016-02-26 11:56:44 +01:00
Bård Skaflestad
1237251ee4 Merge pull request #599 from joakim-hove/state-updates
PolymerState changes
2016-02-24 07:31:37 -06:00
Joakim Hove
7ddd1c1c80 PolymerState changes
- The PolymerState class will derive from SimulatorState, instead of
   containing a TwoPhaseState instance.

 - The Polymer calculation methods take PolymerState& input argument
   instead of TwoPhaseState&
2016-02-22 18:42:13 +01:00
Andreas Lauser
7c3020822a properly create state.temperature in the FullyImplicitCompressiblePolymerSolver class 2016-02-22 15:16:44 +01:00
Andreas Lauser
099c958137 fix the deprecation warnings caused by OPM/opm-parser#687 2016-02-21 17:45:56 +01:00
Jørgen Kvalsvik
19e41bd246 Change Deck access methods/types to references
opm-parser#677 changes the return types for the Deck family of classes.
This patch fixes all broken code from that patch set.

https://github.com/OPM/opm-parser/pull/677
2016-02-19 11:55:19 +01:00
Atgeirr Flø Rasmussen
5bb705fda8 Merge pull request #953 from andlaus/const_gridproperties
fix the build
2016-02-19 11:46:32 +01:00
Atgeirr Flø Rasmussen
af2455fdbe Merge pull request #590 from dr-robertk/PR/bugfix-in-backup-restore
Bugfix in backup/restore.
2016-02-19 11:37:57 +01:00
Liu Ming
b15320b659 change diagnostics function call order. 2016-02-19 16:40:45 +08:00
Liu Ming
fe06257f27 rename LOG to PRT file. 2016-02-19 16:23:31 +08:00
Liu Ming
66cde4e052 integrate relperm diagnostics into flow. 2016-02-19 12:45:23 +08:00
Markus Blatt
c0b871a38a Improves NNC error message. 2016-02-18 22:05:01 +01:00
Markus Blatt
51b8d9acb1 Fixes the exception for models with threshold pressures.
Since the support for threshold pressures running Norne with
flow_mpi aborted error messages like
```
Program threw an exception: [/home/mblatt/DUNE-test/opm-autodiff/opm/autodiff/BlackoilModelBase_impl.hpp:383] Illegal size of threshold_pressures input ( 153924 ), must be equal to number of faces + nncs ( 78316 + 0 ).
```
This commit now distributes the threshold pressures (if present) just like the rest
of the model properties and Norne does not abort here any more.

Please note:
1. If there are NNCs flow_mpi will abort with an error.
2. We might want to resort to reading and calculating the threshold pressure
  (and maybe other properties) on distributed grids instead of using communication.
2016-02-18 17:00:08 +01:00
Atgeirr Flø Rasmussen
569df33ab2 Merge pull request #583 from totto82/solventSupportRegions
Support regions in the solvent model
2016-02-18 15:43:27 +01: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
Jørgen Kvalsvik
369050cc9c Change Deck access methods/types to references
opm-parser#677 changes the return types for the Deck family of classes.
This patch fixes all broken code from that patch set.

https://github.com/OPM/opm-parser/pull/677
2016-02-18 08:50:26 +01:00
Atgeirr Flø Rasmussen
8dfc8d82fc Merge pull request #582 from dr-robertk/PR/fast-sparse-add
Fast sparse add.
2016-02-17 19:55:15 +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
Tor Harald Sandve
fd219dd544 Add whitespaces and comments to beautify the code 2016-02-17 10:43:01 +01:00
Markus Blatt
696dfc23ee Account for variable change in 2.4.1
Due to the upcomming release the name changes (j->j_, nnz->nnz_)already appear
in 2.4.1. This commit now checks for 2.4.1 and newer instead of 3.0 and newer.
2016-02-16 19:17:27 +00: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
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
Andreas Lauser
e775df6d23 fix the build
it broke because EclipseState::get*GridProperty() now returns a
pointer to a constant object.
2016-02-15 15:06:05 +01:00
Tor Harald Sandve
b02589316f Add support for MISC regions
- element wise power operator impemented in AutoDiffBlock
- TL parameters are given pr cell
2016-02-15 14:44:14 +01:00
Tor Harald Sandve
9328bd5af5 Support pvt and saturation regions in SolventPropsAdFromDeck 2016-02-15 10:07:47 +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
Atgeirr Flø Rasmussen
eb228835c2 Merge pull request #577 from totto82/solventMiscible
Add miscible effects to the solvent model
2016-02-12 11:21:56 +01:00
Tor Harald Sandve
0a30d912e8 Some more cleanup adressing PR comments. 2016-02-12 11:02:03 +01:00
Tor Harald Sandve
dee96db6b2 Cleaning and adding comments 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
c85f10046c Density and viscosity as inputs instead of computed in computeMassFlux
Density and viscosity are given as input instead of calculated inside
computeMassFlux. This allow for modifying the properties prior to
calling computeMassFlux which avoids code duplication in the solvent
implementation.
2016-02-12 10:42:26 +01:00
Tor Harald Sandve
0745be3eba Various bugfixes in computing effective ToddLongstaff parameters
The most significant bug was in the computation of effective saturation
fraction for the gas phase. The current implementation differs from the
manual.
2016-02-12 10:42:26 +01:00
Tor Harald Sandve
cf29eb9aa4 Adapt to changes in the TableContainer 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
a38964c641 Some cleaning 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
13117153a9 Use effective properties in the computation of well segment densities 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
beafccc038 Refactor the ToddLongstaffModel in separate function 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
b8e20917cc Add Todd and Longstaff model
Add method to calculateEffectiveProperties (viscosity and density)
using the Todd and Longstaff model.

The effective properties are stored in mu_eff_ and b_eff_ in the
BlackoilSolventModel and accessed using fluidReciprocFVF and
fluidViscosity
2016-02-12 10:42:26 +01:00
Tor Harald Sandve
17554b4921 Add support for TLMIXPAR
Add support for Todd-Longstaff mixing paramters
2016-02-12 10:42:26 +01:00
Tor Harald Sandve
38c8cd981e BUGFIX. Fix surfaceDensity calculations 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
1e64409f28 Scaling of relative permeability endpoints by the miscibility function 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
bcb0abd9c9 Fix well input and prepare for critical saturations 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
e448548d5a Some refactoring to avoid code duplication
computeMassFlux in BlackoilSolventModel_impl.hpp is refactored to avoid
code duplication
2016-02-12 10:42:26 +01:00
Tor Harald Sandve
238e7c19f3 Add support for miscibilty in the relperms 2016-02-12 10:42:26 +01:00
Tor Harald Sandve
bbee43ef7a Refactor computeMassFlux in the SolventModel
The computeMassFlux in the solventModel is refactored to allow for
modification of relperms for all phases.
2016-02-12 10:42:26 +01:00
Tor Harald Sandve
3d2b7f23c0 Read MSFN and SOF2 and create accociated function
- makeAD() is added to avoid copying
2016-02-12 10:42:26 +01:00
Atgeirr Flø Rasmussen
3b294beb51 Merge pull request #575 from dr-robertk/PR/make-compile-with-current-master
DuneMatrix: adjust to changes in dune 3.0
2016-02-12 10:23:40 +01:00
Atgeirr Flø Rasmussen
885e3aa561 Merge pull request #576 from andlaus/opm-material_PVT
use the blackoil PVT classes from opm-material instead of the opm-core ones
2016-02-11 22:39:38 +01:00
Andreas Lauser
13d2f35493 BlackoilPropsAdFromDeck: fix a few typos
these definitively do not change the results.
2016-02-11 17:07:24 +01:00
Atgeirr Flø Rasmussen
a356a100f7 Fix minor issue with const POD requirements.
A user-defined default constructor is required in this situation
unless explicitly using the empty-brace-init syntax.

See discussion here:
http://stackoverflow.com/questions/7411515/why-does-c-require-a-user-provided-default-constructor-to-default-construct-a
2016-02-11 16:17:17 +01:00
chflo
399b4f11c4 restart flow 2016-02-10 14:47:55 +01:00
Andreas Lauser
64c94aebc7 use the blackoil PVT classes from opm-material instead of the opm-core ones 2016-01-29 12:56:19 +01:00
Robert Kloefkorn
a000c5a0b1 DuneMatrix: adjust to changes in dune 3.0 2016-01-28 13:50:25 -07:00
Jørgen Kvalsvik
850f0884f1 Improve includes from opm-parser
Adopting to opm-parser PR#661, add previously missing includes.

OPM/opm-parser#661
2016-01-26 13:32:34 +01:00
Jørgen Kvalsvik
087710df7d Fixes includes wrt opm-parser PR-656
Several files stopped compiling due to relying on opm-parser headers doing
includes. From opm-parser PR-656 https://github.com/OPM/opm-parser/pull/656
this assumption is no longer valid.
2016-01-20 15:11:30 +01:00
Joakim Hove
b41f70cad0 Merge pull request #567 from joakim-hove/table-column
Table column
2016-01-08 15:29:21 +01:00
Atgeirr Flø Rasmussen
7e1af01ad7 Fix change in signature of extractPvtTableIndex() in solvent props. 2016-01-08 14:47:41 +01:00
Joakim Hove
24601480e3 Using new Table api. 2016-01-08 13:57:38 +01:00
Joakim Hove
833f5d053f Avoid using Deck.
Removed incorrect use of Deck for polymer and solvent properties.
2016-01-08 13:57:37 +01:00
chflo
41b928a190 OPM-163: Changed signature for method extractPvtTableIndex 2016-01-07 16:43:38 +01:00
Atgeirr Flø Rasmussen
2505183887 Improve threshold pressure mismatch error message. 2015-12-28 09:22:53 +01:00
Atgeirr Flø Rasmussen
6839b811f2 Make polymer solver use direct solver only.
The interleaved solver should work for this case, but does not currently.
2015-12-21 15:05:32 +01:00
Atgeirr Flø Rasmussen
8507427d83 Use correct syntax for logical not. 2015-12-21 14:55:33 +01:00
Atgeirr Flø Rasmussen
dc4274f4a2 Include nncs in threshold pressures.
This was left out when rebasing (it had been introduced in the flow etc. mains).

This also fixes a bug: the nnc thresholds should be inserted at the end of the
vector to be consistent with the operators, not at the beginning.
2015-12-21 11:12:55 +01:00
Atgeirr Flø Rasmussen
78dbb79ea4 Fix compile error for in-class member init.
Reported by Kai Bao.
2015-12-21 11:12:01 +01:00
Atgeirr Flø Rasmussen
bfcbd09488 Create and use FlowMainPolymer class. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
b420cccfc3 Add warning about simulating without WPOLYMER.
Warning was in the main() of flow_polymer.cpp,
but will disappear from there after refactoring.
2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
b156ce0b55 Create and use FlowMainSolvent class. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
39900761a8 Transform FlowMain to use CRTP.
Main content is now in FlowMainBase, which takes Implementation as
a template parameter. FlowMain inherits from FlowMainBase with itself
as Implementation template parameter. Only the createSimulator() method
is implemented in FlowMain (as opposed to in FlowMainBase). All subclasses
must implement createSimulator().
2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
bb49ddbfc4 Improve comments. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
4d31a99f5b Moved content of warnIfUnusedParams() into runSimulator(). 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
4711fd3dfe Complete refactoring of FlowMain. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
7a536570dc Split out readDeckInput() method. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
4fae28f3d3 Split out setupOutput() method. 2015-12-18 13:58:13 +01:00
Atgeirr Flø Rasmussen
64eef0609a Split out setupParameters() method. 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen
966ace2c53 Split out printStartupMessage() method. 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen
c1bd7670c6 Refine OpenMP number-of-threads output.
Now each MPI rank will report, making it easier to see how
MPI and OpenMP interacts w.r.t. processes and threads.
2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen
f7c96b4fc5 Split out function setupParallelism(). 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen
e3ceac44a6 Renamed flowMain.hpp -> FlowMain.hpp. 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen
abf5443f33 Replace flowMain() function with FlowMain class. 2015-12-18 13:58:12 +01:00
Atgeirr Flø Rasmussen
b10b028aa1 Documented flowMain(). 2015-12-14 16:11:35 +01:00
Atgeirr Flø Rasmussen
29d18261c6 Make multisegment flow variants use flowMain(). 2015-12-14 16:11:35 +01:00
Atgeirr Flø Rasmussen
f02fd71404 Use Simulator::ReservoirState in flowMain(). 2015-12-14 16:11:06 +01:00
Atgeirr Flø Rasmussen
51a03e6212 Extract content of flow main() to separate template function.
The function is templated on grid and simulator class, so this allows
flow and flow_mpi to be implemented without any macro tricks, instead
simply including and using different grid types.
2015-12-14 16:07:47 +01:00
Atgeirr Flø Rasmussen
af980ed93c Creates GridInit template class. 2015-12-14 16:07:46 +01:00
Atgeirr Flø Rasmussen
e74a36d939 Silence int vs. size_t warnings. 2015-12-14 15:55:30 +01:00
Tor Harald Sandve
dbdc42f599 Fix typo in BlackoilPropsAdFromDeck 2015-12-14 12:27:57 +01:00
Atgeirr Flø Rasmussen
bd82e5ade9 Merge pull request #554 from totto82/nnc_thpress
NNC and threshold pressure
2015-12-14 11:33:30 +01:00
Tor Harald Sandve
afbf5ff366 Add code to use the pinchProcessor
MinpvfillProps is only called if OPMFIL is true, while
the pinchProcessor is only called if OPMFIL is false.

Currently opmfil is hardcoded to true i.e.
The pinchProcessor is never called and the minpvfillProps is always
called.
2015-12-14 11:14:46 +01:00
Atgeirr Flø Rasmussen
d30147abfd Merge pull request #555 from totto82/residualSaturations
Add methods for critial gas and gas in oil saturations
2015-12-11 13:08:54 +01:00
Tor Harald Sandve
4b66b0874e Add methods for critial gas and gas in oil saturations
Methods that returns the scaled critical gas (SGCR) saturation and the
scaled critical gas in oil saturation (SOGCR) is added to
BlackoilPropsAdFromDeck and BlackoilPropsAdInterface

A test is added in test_boprops_ad and fluid.data is modified to make
the test non trivial.
2015-12-11 12:53:54 +01:00
Atgeirr Flø Rasmussen
73a26fb8dd Merge pull request #558 from totto82/powerAD
Add power operator to AutoDiffBlock
2015-12-11 09:49:25 +01:00
Tor Harald Sanve
650fef5bc2 Add power operator to AutoDiffBlock 2015-12-10 10:30:28 +01:00
Markus Blatt
afc3ad3522 Guard access of well variable with asImpl().localWellsActive()
Since PR #541 the arrays cq_s, mob_perfcells, and b_perfcells are
empty if there are no wells in the domain of the process. This
caused segementation faults at various places where we compute
on the wells. With this commit we now guard this places using
asImpl().localWellsActive() and only using the array if the call
returns true.
2015-12-09 15:18:03 +01:00
Tor Harald Sanve
6883db77cf Adapt to changes in the NNC class 2015-12-08 13:05:44 +01:00
Tor Harald Sandve
153365f4d0 Adapt to changes in the NNC class 2015-12-08 13:03:15 +01:00
Tor Harald Sandve
e3393c5ee9 Handle combination of threshold_pressure and nnc
The nncs threshold pressures are calculated and appended to the face
threshold pressures
2015-12-08 11:03:05 +01:00
Tor Harald Sandve
99ddc46318 Store the nncs in geoprops 2015-12-08 10:38:58 +01:00
Tor Harald Sandve
298442c281 Cleanup after rebase
- cleanup of some rebase mess
- Added comments
- Use the maxDp for the NNCs
- remove misplaced break in the pinchprocessor
2015-12-08 09:50:07 +01:00
Tor Harald Sandve
5b1f249f96 Calculate thresholdPressures for the NNCs 2015-12-08 09:25:35 +01:00
Atgeirr Flø Rasmussen
ffc91bc35e Remove unnecessary EclipseState argument from run(). 2015-12-07 13:40:06 +01:00
Atgeirr Flø Rasmussen
e54f7ed2d7 Use warning suppression headers. 2015-12-07 13:40:06 +01:00
Arne Morten Kvarving
8808642708 Import examples/ and opm/ from opm-polymer w/ history 2015-12-07 10:45:34 +01:00
dr-robertk
bd8586b477 Merge pull request #541 from GitPaean/support_segment_well_rebased
Support multi-segment wells
2015-12-02 11:18:33 -07:00
Atgeirr Flø Rasmussen
241da90531 Merge pull request #547 from blattms/parallel-ilu
Parallel overlapping ILU0
2015-12-02 11:47:13 +01:00
Markus Blatt
cb9d566ec2 Added braces to one-line for loop. 2015-12-02 11:29:38 +01:00
Markus Blatt
99c1b988a7 Fixed typo "consistent consistent" -> consistent. 2015-12-01 15:13:22 +01:00
Markus Blatt
0da66bf45b Removed more dead and code that was already commented out. 2015-12-01 15:11:27 +01:00
Markus Blatt
fd78f1c0b9 Moved includes to \*.cpp file. 2015-12-01 14:56:29 +01:00
Markus Blatt
4adf8487ea Uses more speaking names for template parameter and adds more documentation. 2015-12-01 14:49:07 +01:00
Markus Blatt
e05e3fa478 Removes code that was commented out. 2015-12-01 14:48:35 +01:00
Markus Blatt
0fdd27267b Adds empty lines around namespaces and comment about the end of a namespace. 2015-12-01 14:47:28 +01:00
Markus Blatt
dc1d7c526f Moved ParallelOverlappingILU0 to its own file. 2015-12-01 14:41:06 +01:00
Atgeirr Flø Rasmussen
7edd081175 Silence some warnings. 2015-12-01 13:36:08 +01:00
Kai Bao
5a23406d9e naming M to Matrix for better readability in WellMultiSegment 2015-12-01 10:44:05 +01:00
Kai Bao
f7782c30b7 fixing compilation due to update of master. 2015-12-01 00:06:46 +01:00
Kai Bao
38a9dbd9ff parallel running for flow_mutlisegment
SPE9 can be run in parallel now.
2015-12-01 00:06:46 +01:00
Kai Bao
4c73f3c01c refactoring the init() of WellStateMultiSegment
to handle better when nw = 0
2015-12-01 00:06:46 +01:00
Kai Bao
0022bb8465 adding one missing #pragma line resulting from rebasing conflicts. 2015-12-01 00:06:46 +01:00
Kai Bao
8116424f6d documenting the class WellMultiSegment 2015-12-01 00:06:46 +01:00
Atgeirr Flø Rasmussen
57511641e2 Remove unused data members. 2015-12-01 00:06:46 +01:00
Atgeirr Flø Rasmussen
a40d93a170 Comment out changes to residual output. 2015-12-01 00:06:46 +01:00
Atgeirr Flø Rasmussen
c825b599e5 Remove unused include. 2015-12-01 00:06:46 +01:00
Kai Bao
bcc97b44d8 refactoring the construction of WellMultiSegment
for better readability.
2015-12-01 00:06:46 +01:00
Kai Bao
c946749c73 addressing some old comments in WellMultiSegment 2015-12-01 00:06:46 +01:00
Kai Bao
a684c390f5 cleaning up SimulatorFullyImplicitBlackoilMultiSegment_impl 2015-12-01 00:06:46 +01:00
Kai Bao
31061c8331 cleaning up function computeWellConnectionPressures() for ms wells. 2015-12-01 00:06:46 +01:00
Kai Bao
cfa5faab4e cleaning up comments in BlackoilMultiSegmentModel_impl 2015-12-01 00:06:46 +01:00
Kai Bao
f90b96abf6 removing the use of wops_ from the BlackoilModelBase in ms well
Also some cleaning up of comments in BlackoilMultiSegmentModel
2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen
61cccfebf8 Refactor updatState() to use numWellVars().
This allows us to use the base version of updateState().
2015-12-01 00:06:45 +01:00
Kai Bao
df30546841 not handling SHUT wells when generating wells_multisegment
it fixed the 7th time step running for Norne.
2015-12-01 00:06:45 +01:00
Kai Bao
9114b56e9b cleaning up comments in WellMultiSegment and WellStateMultiSegment 2015-12-01 00:06:45 +01:00
Kai Bao
edf3c9b08c optimizing the addWellControlEq() for ms wells. 2015-12-01 00:06:45 +01:00
Kai Bao
fcd31d74ac restoring the original wellstate when solveWelleq fails. 2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen
233a275191 Made the solveWellEq() method return if it converged.
Also use this to avoid updating if not converged in the
multi-segment version.
2015-12-01 00:06:45 +01:00
Kai Bao
b6ede37ca3 WIP for fixing the solveWellEq running for ms wells.
refactoring needs to be done to finish it.
2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen
2055c94269 Implement solveWellEq() for multisegment model.
Note that this initial version has only been tested on regular wells!
2015-12-01 00:06:45 +01:00
Kai Bao
57d796ca68 not extracting the mob and b inside computeWellFlux() ms wells 2015-12-01 00:06:45 +01:00
Kai Bao
4b9064a0f8 optimizing the function computeSegmentPressuresDelta()
Further optimization is possible by introducing new variable for the
model to avoid recomputation.
2015-12-01 00:06:45 +01:00
Kai Bao
79b9039ba1 fixing computeWellFlux() to recover the mutli-segment running. 2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen
693f5c791b Refactor computeWellFlux().
Now much faster, avoiding repeated use of subset() etc. by
vectorization of code.
2015-12-01 00:06:45 +01:00
Kai Bao
80723fee12 adding more operators to ms well ops
p2w w2p s2w w2s
2015-12-01 00:06:45 +01:00
Kai Bao
0c28bf5a75 recovering compilation and running after merging master. 2015-12-01 00:06:45 +01:00
Kai Bao
5a0efdba30 adding comments for addWellFluxEq() 2015-12-01 00:06:45 +01:00
Kai Bao
8ae74d5a47 optimizing addWellFluxEq() based on ms well ops 2015-12-01 00:06:45 +01:00
Kai Bao
55e4206c0b adding s2s_inlets and s2s_outlets to ms well ops.
and also fix the s2p and p2s implementation.
2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen
5b43018862 Fix ms well ops implementation. 2015-12-01 00:06:45 +01:00
Atgeirr Flø Rasmussen
bbf86dcd4a Add wops_ms_ member. 2015-12-01 00:06:45 +01:00
Kai Bao
9ee2d92f3f recovering the compilation from the updated master branch. 2015-12-01 00:06:45 +01:00
Kai Bao
c3b4088448 recovering the compilation after updating opm-parser. 2015-12-01 00:06:45 +01:00
Kai Bao
c8fbb0b80d clearning up some comments and debugging output 2015-12-01 00:06:45 +01:00
Kai Bao
b1fdda00af calculating the pressure difference between segments and perforations. 2015-12-01 00:06:45 +01:00
Kai Bao
31f71dd6f7 calculating the depth difference between segments and perforations 2015-12-01 00:06:45 +01:00
Kai Bao
658ad0a400 calculation of pressure difference between perofration and cells
remained to be verified.

The calculation is explicit, should be performed only once at the
begining of the time step.
2015-12-01 00:06:45 +01:00
Kai Bao
f3b885dc0d removing several member variables not useful
they are related to the presure correction caclulations.
2015-12-01 00:06:45 +01:00
Kai Bao
9f218ef1a3 adding segmentDiameter() to WellMultiSegment 2015-12-01 00:06:45 +01:00
Kai Bao
b9e5518b51 adding compPressureDrop() member function for WellMultiSegment 2015-12-01 00:06:45 +01:00
Kai Bao
5e64da6f8e calculating the viscosity of the fluid in segments 2015-12-01 00:06:45 +01:00
Kai Bao
93a86019af calculating the mass flow rate for the segments. 2015-12-01 00:06:45 +01:00