Commit Graph

225 Commits

Author SHA1 Message Date
Liu Ming
d3e6a657cd Initial well iterations as a special number, output it if it is valid. 2016-06-30 09:04:44 +08:00
Markus Blatt
79670b1c29 Prevent signed-unsigned-comparison warning. 2016-06-28 15:50:50 +08:00
Markus Blatt
c7cca46b2c Adds missing parallel reduction to euclidianNorm for multiple components 2016-06-28 15:50:50 +08:00
Markus Blatt
72d0b8123b Fixes the parallel Euclidian product for multiple phases.
This is used to compute the Euclidian product for the saturations.
Thes are ordered in an interleaved manner (all saturations for cell
with index 0, the all for index 1, ...). Up to now the implementation
assumed a different ordering: blockwise (all saturations for phase 0 first,
then all saturations phase 1, ...).
With this commit the computation uses the right assumption.
2016-06-28 15:50:50 +08:00
Markus Blatt
68f9180a65 Allow access to wells pointer for wells.
Using &stdwells.wells() throws an assertion for null pointers
without -DNDEBUG, but was used nevertheless. That prevented running
models without wells.
2016-06-28 15:50:50 +08:00
Markus Blatt
4c9d359638 Print all well switching in parallel.
As for each well only one process is responsible, the output process
does not see all wells. Ergo some well switching information was never
printed in a parallel run.

Therefore with this commit the well switching
message is printed regardless on which process it appears.
2016-06-28 15:50:50 +08:00
Liu Ming
ad01934670 initial IterationReport. 2016-06-28 15:48:20 +08:00
Liu Ming
c6586d36c8 return IterationReport for assemble and solver well eq methods. 2016-06-28 14:37:48 +08:00
Liu Ming
66b8a2379b write residuals to PRT file. 2016-06-21 09:27:19 +08:00
Liu Ming
969f6f1d1b return well iteration from simulators. 2016-06-21 08:35:33 +08:00
Atgeirr Flø Rasmussen
3776ccab9e Add use_update_stabilization parameter.
This makes it easier to run without, for example for debugging.
The default is 'true', preserving existing behaviour.
2016-06-17 10:44:53 +02:00
Atgeirr Flø Rasmussen
bf5fecfe9a Make prepareStep() parameters const. 2016-06-17 08:41:02 +02:00
Markus Blatt
82d6d949db Fix the parallel L-infinity norm calculation.
It was computing a global maximum before, which obviously is not the same thing.
2016-06-07 15:10:25 +02:00
Kai Bao
879f127ae8 moving variableStateExtractWellsVars() from models to Well Models. 2016-05-23 15:11:52 +02:00
Kai Bao
846ff890de refactoring the interface of computeWellPotentials()
to reduce the cost of makeConstantState when not calculating the
potentials.
2016-05-23 15:11:52 +02:00
Kai Bao
19a256dce0 some pure cleaning up. 2016-05-23 15:11:52 +02:00
Kai Bao
f2b7f2a56c moving numWellVars from models to Wells. 2016-05-23 15:11:52 +02:00
Kai Bao
a102e934ac removing baseSolveWellEq from BlackoilMultiSegmentModel
to solve the different interfaces of computeWellConnectionPressures for
StandardWells and MultisegmentWells, a function
computeWellConnectionPressures was introduced for the models.
2016-05-23 15:11:52 +02:00
Kai Bao
01328559e2 removing the updateWellState from the models. 2016-05-23 15:11:52 +02:00
Kai Bao
184bff95ba using well_model_ to represent the WellModel member 2016-05-23 15:11:51 +02:00
Kai Bao
06775ee02c Make BlackoilMultisegmentModel constructured from MultisegmentWells
Instead of being coustructed based StandardWells and having a
MultisegmentWells member.
2016-05-23 15:11:51 +02:00
Kai Bao
4254b48b57 unifying interface of a few functions of Wells classes
updateWellControls()
updateWellState()
addWellControlEq()

The change of function computeWellConnectionPressures() is not done
completely. Should find a solution later.
2016-05-23 15:11:51 +02:00
Kai Bao
be165a26e0 adding a few more members to the Wells classes.
gravity, vfp_properties_ and depth_.

to further simplify the interfaces.
2016-05-23 15:11:51 +02:00
Kai Bao
508de4dc37 adding extractWellPerfProperties to MultisegmentWells
removing extractWellPerfProperties in all the model classes.
2016-05-23 15:11:51 +02:00
Kai Bao
66cd66e61b change reservoir related members to be pointers in StandardWells
to fullfil the requirement of interface design.
2016-05-23 15:11:51 +02:00
Kai Bao
1f2442fe80 reducing paramter list for more functions in StandardWells
computeWellFlux
updateWellState
updateWellControls
addWellControlEq
computeWellPotentials
2016-05-23 15:11:50 +02:00
Kai Bao
a35c3e7468 removing parameters for extractWellPerfProperties 2016-05-23 15:11:50 +02:00
Kai Bao
0667fceb35 reducing the number of arguments of computeWellConnectionPressures
and computeWellConnectionDensitesPressures.

These functions need to be renamed.
2016-05-23 15:11:50 +02:00
Kai Bao
22b5157bf2 adding a few fluid related members to StandardWells
to reduce the number of the public function arguments.
2016-05-23 15:11:50 +02:00
Atgeirr Flø Rasmussen
bd774ed06c Merge pull request #679 from qilicun/log_simulation_messages
write simulation details to log file.
2016-05-19 15:09:39 +02:00
Tor Harald Sandve
5757ef8ad0 Adjust to upstream changes
Change from std::vector<int> to std::vector<HydroCarbonState> for the
hydroCarbonState
2016-05-13 12:40:50 +02:00
Tor Harald Sandve
01c782dbf3 Remove primalvariable_ and use hydroCarbonState instead
the hydrocarbonstate is stored in the reservoir state and
used instead of the primalvariable_
The initial hydrocarbonstate is computed using
initHydroCarbonState(...);
2016-05-13 09:04:48 +02:00
Tor Harald Sandve
e8fcf9259c Use stored hydrocarbonstate to get primal variables
If hydrocarbonstate is not provided by the state fall back to
the old behaviour of computing the hydrocarbonstate from the saturations
2016-05-12 10:38:49 +02:00
Liu Ming
f5a57b8a26 Let OpmLog control output. 2016-05-10 13:51:10 +08:00
Liu Ming
431a21d632 write simulation details to log file. 2016-05-09 13:33:44 +08:00
Kai Bao
08e691e262 moving variableWellStateInitials to StandardWells. 2016-04-29 10:07:10 +02:00
Kai Bao
15380fd370 moving variableWellStateIndices to StandardWells
Probably it is the time to introduce SeqQs and SeqP for the
multi-segment wells.
2016-04-29 10:07:10 +02:00
Kai Bao
e7d00f4f99 adding variableStateWellIndices to StandardWells
to handle different types of variables later for different types of
wells.
2016-04-29 10:07:10 +02:00
Kai Bao
b87920e5e4 moving computeWellPotentials to StandardWells 2016-04-29 10:07:10 +02:00
Kai Bao
13acc8ee03 moving computeWellConnectionPressures to StandardWells
the results look okay, while the running for flow_solvent needs further
investigation even the results with flow_solvent actually look okay.

With two different version of
computePropertiesForWellConnectionPressures, flow_solvent produces the
same results. This is something needs further investigation.

The current implementation requires a copy of
computeWellConnectionPressure in StandardWells and StandardWellsSolvent.
That means probably we need to introduce the asImpl() for the Wells.
2016-04-29 10:07:10 +02:00
Kai Bao
dcca0b0b76 moving addWellControlEq to StandardWells 2016-04-29 10:07:10 +02:00
Kai Bao
eb278c3c9a moving addWellFluxEq() to StandardWells
Conflicts:
	opm/autodiff/BlackoilModelBase_impl.hpp
2016-04-29 10:07:10 +02:00
Atgeirr Flø Rasmussen
0d85f3642c Access water/gas quantities only if active phase. 2016-04-26 08:24:54 +02:00
babrodtk
a1504a2bff Runs first iterations of two-phase case plausibly 2016-04-26 07:49:12 +02:00
babrodtk
2ac514a1ea Checkpoint 2016-04-26 07:49:12 +02:00
Kai Bao
be55efa484 fixing the compilation and running resulting from PR648 2016-04-20 14:42:56 +02:00
Kai Bao
ebe60bc5d7 puting WellModel before Implementation in the template. 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
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