Commit Graph

234 Commits

Author SHA1 Message Date
Bård Skaflestad
c3bb686600 Annotate end of namespace and "#if"
This commit adds a few annotations to closing braces on namespaces
and one "#ifdef" conditional.  This is an aid to (hopefully) avoid
the problem fixed in commit 688d65e.
2014-04-09 23:53:20 +02:00
Bård Skaflestad
11e6bc4ad2 Bring a definition of OPM_THROW into scope.
The template version of outputStateMatlab() uses OPM_THROW so we need
a definition of the macro.
2014-04-09 16:33:24 +02:00
Bård Skaflestad
688d65e7ef GridHelpers: Fix build when !HAVE_DUNE_CORNERPOINT
This commit fixes an incorrectly nested "#ifdef..#endif" block that
leads to build failures when opm-autodiff is being used without
dune-cornerpoint.
2014-04-09 16:07:59 +02:00
Markus Blatt
327f1b003d Merge branch 'tester' into master-refactor-for-cpgrid-support
Resolved conflicts:
	examples/sim_fibo_ad.cpp
	opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp
2014-04-09 14:39:19 +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
Markus Blatt
bccc7c1350 Updates interface to fix issues not resolved in the latest merge.
Namely the template parameter was missing for the added methods.
In addition there were still various instances where the grid was
used directly rather than via the functions in GridHelpers.hh.
2014-04-09 12:16:33 +02:00
Bård Skaflestad
a784d50f1e Merge branch 'master' into blattms-master-refactor-for-cpgrid-support
Conflicts:
	examples/sim_fibo_ad.cpp
	opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp

This brings the "CpGrid support" branch up to date with respect to
recent changes in opm-autodiff master.
2014-04-08 16:31:17 +02:00
Atgeirr Flø Rasmussen
e699f9e135 Remove unnecessary argument, and minor formatting corrections. 2014-04-05 00:12:03 +02:00
Tor Harald Sandve
a905eade7a Use preferred phase to compute wellbore mix for dead wells
The wellmore mix is set to preferred phase for dead wells, where the
total volumetric rates are zero. This sets the phase of the flow out of
perforations in dead wells and thus avoids zero volumerats for injecting
preforations in dead wells.
2014-04-04 11:36:02 +02:00
Atgeirr Flø Rasmussen
6c4114ea69 Add more options for Selector class.
You can now choose which comparison to do for the indicator vector
to find when to choose the left argument. Only >= before (still default).
2014-04-01 15:49: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
Atgeirr Flø Rasmussen
4b53f88685 Fix timer usage.
This makes the simulator produce proper summary output again.
2014-03-28 14:31:30 +01:00
Atgeirr Flø Rasmussen
faba01f917 Merge pull request #112 from GitPaean/fix_using_new_timer
A small fix to make sim_fibo_ad use the new SimulatorTimer.
2014-03-28 13:51:22 +01:00
Atgeirr Flø Rasmussen
9d9576c955 Merge pull request #110 from atgeirr/new_well_formulation
New well formulation
2014-03-28 12:47:29 +01:00
Markus Blatt
b279a174db Merge remote-tracking branch 'upstream/master' into master-refactor-for-cpgrid-support
Conflicts:
	examples/sim_fibo_ad.cpp
	opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp
2014-03-27 16:17:44 +01:00
Markus Blatt
9598a990df Activate paralle istl solvers if there is more than one process computing. 2014-03-27 11:31:17 +01:00
Kai Bao
0914841823 A small fixing to make the sim_fibo_ad using the new timer. 2014-03-27 11:15:55 +01:00
Atgeirr Flø Rasmussen
d4f1a89370 Merge pull request #111 from andlaus/FullyImplicitBlackoilSolver_throw_exception_uppon_non-finite_residual
FullyImplicitBlackoilSolver: Throw an exception uppon encountering a non-finite residual
2014-03-26 15:29:34 +01:00
Andreas Lauser
8cd93bf70a FullyImplicitBlackoilSolver: cleanup the residualNorm() method 2014-03-26 15:16:43 +01:00
Atgeirr Flø Rasmussen
2db726268b Merge pull request #108 from andlaus/FullyImplicitBlackoilSolver_unify_state_conversion
FullyImplicitBlackoilSolver: unify the state conversion routines
2014-03-26 14:29:08 +01:00
Atgeirr Flø Rasmussen
8663c5b604 Merge branch 'FullyImplicitBlackoilSolver_unify_state_conversion' of https://github.com/andlaus/opm-autodiff into test_andlaus
Conflicts:
	opm/autodiff/FullyImplicitBlackoilSolver.cpp

Resolved by using the new, reduced version of constantState().
2014-03-26 14:21:23 +01:00
Andreas Lauser
2f84156b91 FullyImplicitBlackoilSolver: Throw an exception uppon encountering a non-finite residual 2014-03-26 12:54:46 +01:00
Atgeirr Flø Rasmussen
3bc57780aa Fix bug in -= operator. 2014-03-26 11:44:49 +01:00
Atgeirr Flø Rasmussen
5e4dff401c Merge branch 'master' into new_well_formulation
Needed to avoid compile errors with updated opm-core.
2014-03-26 11:02:52 +01:00
Atgeirr Flø Rasmussen
41fd953ba2 Fix bugs relating to wells versus perforations.
Two kinds of bugs: correct usage of wops_.w2p vs. wops_.p2w, and
correct sizes for some variables (nw vs. nperf).
2014-03-25 18:44:37 +01:00
Atgeirr Flø Rasmussen
dcb59a2fab Fix bug in access order for state.qs.
State.qs is called well_phase_flow_rate in this function.

It is stored with wells running fastest, not phases.
2014-03-25 17:42:14 +01:00
Atgeirr Flø Rasmussen
cb50728ac2 Add end-of-line to switching message. 2014-03-25 17:41:41 +01:00
Atgeirr Flø Rasmussen
4a22c560c7 Implemented updateWellControls(). 2014-03-25 14:31:06 +01:00
Andreas Lauser
168b4379d5 don't pass the eclipsewriter to the simulator anymore
i.e., the simulator does not deal with any output operations
anymore. This makes sense because report steps are handled by
Opm::TimeMap and the constructor for the simulator already needs more
arguments than appropriate even without this...
2014-03-25 13:17:30 +01:00
Andreas Lauser
9237aa2443 FullyImplicitBlackoilSolver: make constantState() and variableState() consistent
With this, constantState() just calls variableState() and throws away
the derivatives. This might be a bit slower than necessary, but it
makes these two methods automatically consistent and constantState()
is only called once per timestep anyway...

thanks to @atgeirr for the suggestion!
2014-03-25 11:55:13 +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
Atgeirr Flø Rasmussen
bad64de4f2 Add currentControls() field to well state class.
This is done since the solver will need to be able to switch well controls
during Newton iterations. The current control specified in the Wells struct
will be used as default and initial value for currentControls().
2014-03-25 11:11:19 +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
33d58792de Fix sign bug in well contribution to mass balance. 2014-03-24 15:28:46 +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
f99b9b90a4 Merge pull request #101 from andlaus/sim_fibo_ad_use_new_wellmanager
sim_fibo_ad: convert to the new-style wells manager
2014-03-20 09:07:03 +01:00
Atgeirr Flø Rasmussen
d21e310d01 Merge pull request #98 from andlaus/reverse_increment_write_order_again
go back to incrementing the current simulation time first, then calling EclipseWriter::writeSolution()
2014-03-20 09:04:10 +01:00
Andreas Lauser
49a5b67137 sim_fibo_ad: fix writing
the initial condition was written multiple times. We now fix this by
not writing anything in the simulator and moving this logic to the
main loop..
2014-03-19 17:40:51 +01:00
Atgeirr Flø Rasmussen
295677c8c1 Use WellStateFullyImplicitBlackoil class instead of WellState. 2014-03-18 11:27:40 +01:00
Atgeirr Flø Rasmussen
e7f4637461 Add WellStateFullyImplicitBlackoil class.
This is intended to be used instead of the WellState class in the fully
implicit blackoil simulator. It contains a WellState to reuse the init()
method and to enable users to call functions requiring a WellState.
This is done with containment and an access member function,
basicWellState(), instead of with inheritance to minimize surprises.
2014-03-18 11:23:05 +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
Atgeirr Flø Rasmussen
737affb077 Minor whitespace adjustments. 2014-03-17 10:23:40 +01:00
Atgeirr Flø Rasmussen
d821afe11f Whitespace fix. 2014-03-17 10:14:45 +01:00
Markus Blatt
c82778b3a9 Implemented VTK output for CpGrid using DUNE's VTKWriter and activated Matlab for CpGrid. 2014-03-13 16:33:36 +01:00
Markus Blatt
4e39c7dad1 [bugfix] Fixes elementAt of CentroidIterator. 2014-03-13 16:33:36 +01:00
Markus Blatt
340da4cd7f Added function for querying the face area to the helpers. 2014-03-13 16:33:36 +01:00
Markus Blatt
f4812c21eb Add an example program of FIBOS that uses CpGrid. 2014-03-13 16:33:36 +01:00
Markus Blatt
5112b8af26 Removes the dependency of FullyImpliciteBlackoilSolver onto UnstructuredGrid.
With these changes it will be possible to use CpGrid with FIBOS except for the
output routines.
2014-03-13 16:33:36 +01:00
Markus Blatt
0a5262b7c3 Added implementation of free function interface grid interface for CpGrid.
This implements a superset of the interface as proposed in pull request
 opm-core#496 for use with CpGrid.
It also adds some additional functionality needed in opm-autodiff.
2014-03-13 15:27:45 +01:00
Andreas Lauser
0ce6093b69 go back to incrementing the current simulation time first, then calling EclipseWriter::writeSolution()
for this not to trigger an assertation after the last time step, the
changes of OPM/opm-parser#141 are required.
2014-03-11 16:05:00 +01:00