Commit Graph

2186 Commits

Author SHA1 Message Date
chflo
d6d5d8db71 OPM-139: Extended EclipseWriter to write wellinfo to eclipse restart files 2014-12-08 12:04:06 +01:00
Robert K
488c9ca7ff remove unused restrictToActive method and rewrite the other one to cover both, restrict
and reorder.
2014-12-08 11:24:57 +01:00
Robert K
d504007030 EclipseWriter: fix docu of convertToEclipseOrder function. 2014-12-08 10:40:52 +01:00
Robert K
207f4bfd30 EclipseWriter: support reordering of compressed cells, e.g. space filling curves. 2014-12-05 15:44:39 +01:00
Atgeirr Flø Rasmussen
98cf664b3f Silence unused argument warning. 2014-12-02 09:17:11 +01:00
Atgeirr Flø Rasmussen
fdad6860cb Merge pull request #688 from andlaus/temperature_dependent_PVT
PVT properties: allow them to be temperature dependent
2014-12-02 08:48:57 +01:00
Andreas Lauser
e530ce03d8 PVT properties: allow them to be temperature dependent
Note that this patch does not introduce any real temperature
dependence but only changes the APIs for the viscosity and for the
density related methods. Note that I also don't like the fact that
this requires so many changes to so many files, but with the current
design of the property classes I cannot see a way to avoid this...
2014-12-01 20:06:31 +01:00
Atgeirr Flø Rasmussen
48439d6420 Use proper way to access pi() from boost::math. 2014-12-01 14:55:06 +01:00
Atgeirr Flø Rasmussen
8af3b17c68 Simplify formula with atan2(). 2014-12-01 14:38:08 +01:00
Atgeirr Flø Rasmussen
35a8bd4791 Fix more whitespace tab->space issues. 2014-12-01 14:21:16 +01:00
Atgeirr Flø Rasmussen
9e26afaaba Fix comment referencing renamed function. 2014-12-01 13:43:34 +01:00
Atgeirr Flø Rasmussen
6bc74bd746 Replace M_PI with boost usage. 2014-12-01 12:11:27 +01:00
Atgeirr Flø Rasmussen
3eb3000248 Rename vertexNeighbours() -> cellNeighboursAcrossVertices(). 2014-12-01 11:37:49 +01:00
Atgeirr Flø Rasmussen
e7bdb72ce3 Whitespace: tabs to spaces. 2014-12-01 11:28:28 +01:00
Atgeirr Flø Rasmussen
e807834a3c Use GridHelpers in implementation of vertexNeighbours(). 2014-12-01 11:27:39 +01:00
Atgeirr Flø Rasmussen
700d49ac91 Minor fixes for FaceCellsProxy::operator().
Fixes are:
 - Made the method const.
 - Corrected argument name cell_index -> face_index.
2014-12-01 11:22:33 +01:00
Atgeirr Flø Rasmussen
b26bfc51f6 Add orderCounterClockwise() and test. 2014-11-27 14:49:32 +01:00
Atgeirr Flø Rasmussen
578f467b59 Add free function vertexNeighbours() and test. 2014-11-27 14:49:32 +01:00
Atgeirr Flø Rasmussen
b352e7ca3a Suppress unused argument warning in release mode. 2014-11-24 10:54:51 +01:00
Atgeirr Flø Rasmussen
91baeea8d3 Rename variable to avoid shadowing. 2014-11-24 10:54:30 +01:00
Markus Blatt
e22795e920 [cleanup] Removes a superfluous if-check of the well state.
There were to identical if statements and the second one was followed
by an else branch. While in this case (if statement just throws) it is not
a bug, this commit cleans up one of the if statements.
2014-11-20 14:47:21 +01:00
Markus Blatt
06a83e76f5 Fixes missing return value in non-void function of WellsManager.
gcc warned about the following

/home/mblatt/src/dune/opm/opm-core/opm/core/wells/WellsManager.cpp: In function ‘std::array<long unsigned int, 3ul> WellsManagerDetail::directionIndices(Opm::CompletionDirection::DirectionEnum)’:
/home/mblatt/src/dune/opm/opm-core/opm/core/wells/WellsManager.cpp:191: warning: control reaches end of non-void function

To calm it I introduced a throw clause after the switch statements. Thus adding a new
enum value will raise a warning on smart compilers, hopefully.
2014-11-20 11:53:23 +01:00
Jørgen Kvalsvik
114b335ce6 Moved KSPCreate to the Data constructor
This is where it was always intended to be called, so this fixes a mistake in
earlier development.
2014-11-12 20:41:21 +01:00
Tor Harald Sandve
75749c3dab Do not include shut wells in the well name to index map
The name to index map is used to make sure the correct wellstate values
are associated with the corresponding well. Shut wells should be
excluded from this mapping as no date is for shut wells are found in the
wellstates, instead 0 is outputed for the shut wells.
2014-11-07 12:22:19 +01:00
osae
b3b15188d9 Made hysteresis variant of gwseg consistent ...
... with the base gwseg behaviour.  Added test.
2014-11-05 17:00:11 +01:00
osae
2b865a992e Consistency between scaled and unscaled gwseg.
Modified the endpoint scaled version of SatFuncGwseg and updated
the tests accordingly.
2014-11-05 16:10:05 +01:00
osae
92ee3cd86b Rename eclState to eclipseState. 2014-11-05 16:10:05 +01:00
osae
8f8450f018 Base initialisation of SWL etc on EclipseState ...
Thus allowing an unmodified Norne deck.
2014-11-05 16:10:05 +01:00
osae
ba6de11151 Bugfix: Actually use column index ... 2014-11-05 16:10:05 +01:00
osae
877b501659 Cleaning up and preparation for eclipseState. 2014-11-05 16:10:05 +01:00
Atgeirr Flø Rasmussen
e2fdf14ee3 Suppress unused argument warning. 2014-11-05 07:51:21 +01:00
Tor Harald Sandve
401b193854 BUGFIX. Do not increase well index for shut wells.
Shut wells are not added to the well list and the well index should
therefore not be increased when well control is set. This is similar to
whats is done for shut wells in createWellsFromSpecs.
2014-10-27 07:20:03 +01:00
Atgeirr Flø Rasmussen
b7a6680ef4 Merge pull request #672 from dr-robertk/PR/remove-unused-typedef-warning
remove unused typedef to avoid compiler warning and keep code clean.
2014-10-24 14:28:55 +02:00
Robert K
81d3281999 remove unused typedef to avoid compiler warning and keep code clean. 2014-10-24 12:51:57 +02:00
Robert K
12891f668b fix problem with solver reastart, variable was not reset.
Also, the time step does only grow moderately after a solver restart.
2014-10-24 12:32:00 +02:00
Tor Harald Sandve
2ff42c327b SHUT wells returns 0
Shut wells returns 0 for bhp and rates in the EclipseWriter
2014-10-24 07:01:36 +02:00
Tor Harald Sandve
c659c080cb Fix SHUT wells
Shut wells are not added to the well list and thus not considered in the
simulator.

The shut well test in test_wellsmanager is modified to assert this
behaviour.

BUG: This change provokes an assert in the EclipeWriter as number of
wells in wellstate is different from number of wells in the schedule.
2014-10-24 06:57:38 +02:00
Robert Kloefkorn
42bcb5f0c8 address Atgeirs comments. 2014-10-20 12:32:11 +02:00
Robert Kloefkorn
e552acc244 Merge remote-tracking branch 'upstream/master' into timestepcontrol 2014-10-17 11:28:04 +02:00
Joakim Hove
68b915530e Minor whitespace fixup 2014-10-17 08:05:13 +02:00
Robert Kloefkorn
f8e61c0267 also catch std::runtime_error, i.e. convergence of linear solver failed. 2014-10-14 15:18:36 +02:00
Jørgen Kvalsvik
d380d1759e Reduces CHKERRXX usage to where necessary.
The error checking macro makes it harder to read and harder to write, so
instead we now only check for functions  that can contain errors. Bounds and
range checks are handled by PETSc and not OPM.
2014-10-14 14:43:42 +02:00
Jørgen Kvalsvik
4a79f2e2ca Petsc constructor now uses intialiser list.
The previous implementation set plenty of values in the initialization list and
immediately overwrote these values with values looked up from the param group.
This patch makes it look up the parameteres from the param group argument,
making the constructor simpler.
2014-10-14 14:43:42 +02:00
Jørgen Kvalsvik
2917387845 Makes using wrong constructor a compile-time error
Petsc only supports initialisation through the ParameterGroup constructor.
Calling the default, non-arg constructor is a static error, and not
implementing it makes using it break compiles.
2014-10-14 14:43:42 +02:00
Jørgen Kvalsvik
5ed0f73ba2 Removes call_petsc.c and calls the lib from C++
call_petsc.c was really a thin C wrapper around the call to petsc itself and
turns out was mostly unnecessary C++ emulation. This removes the file entirely
and ports its functionality into LinearSolverPetsc.cpp.

All features from the file should now be more readable as well as properly
utilising modern C++ features.

The patch uses the CHKERRXX macro from petsc to handle errors reported by
petsc, and currently does not handle this and give the control back to OPM's
error/throw system.
2014-10-14 14:43:42 +02:00
Joakim Hove
72cde22f62 Bug in well_index increment in WellsManager 2014-10-14 12:43:57 +02:00
Joakim Hove
dd87b8fc52 Will not update WellControls if cmode == CMODE_UNDEFINED 2014-10-14 12:42:55 +02:00
Joakim Hove
37c563689c ControlMode is left undefined if it unset in deck. 2014-10-14 12:34:58 +02:00
Robert Kloefkorn
164b892c17 added initial fraction to initialize last_timestep. 2014-10-13 11:17:37 +02:00
Robert Kloefkorn
44f90f974e Two small adjustments that came up when running in debug mode. 2014-10-10 13:55:28 +02:00
Robert Kloefkorn
2fcb3c6638 Merge remote-tracking branch 'upstream/master' into timestepcontrol 2014-10-08 16:42:32 +02:00
Andreas Lauser
16658430cc WellsManager: do not require a control mode to be set if the well status is SHUT
For Norne it fell on its nose because of this...
2014-10-08 12:35:38 +02:00
Robert Kloefkorn
80431e273f ok, now we got it. euclidianNormSquared. 2014-10-07 14:14:31 +02:00
Robert Kloefkorn
ba316dd651 more convenient name. 2014-10-07 10:45:09 +02:00
Robert Kloefkorn
b111fbbb15 innerProduct --> euclideanNorm2. 2014-10-07 10:40:44 +02:00
Robert Kloefkorn
ef813c94cc inner_product --> innerProduct. Avoid confusion with std version. 2014-10-07 09:52:22 +02:00
Robert Kloefkorn
b250383ae0 use unit::convert::to instead of hard coded 86400 factor. 2014-10-07 09:48:57 +02:00
Robert K
355e68c63b move implementation to .cpp files. 2014-10-06 14:26:23 +02:00
Robert K
5af49ed90b the adaptive time stepping utility classes. 2014-10-06 14:06:07 +02:00
Robert K
879dddc9b6 move protected area to the bottom and remove unused lines as well as halfTimeStep method. 2014-10-03 15:53:18 +02:00
Robert K
e1d1063e0d remove white spaces. 2014-10-03 14:14:01 +02:00
Robert K
0ed28121a1 reset to old state. 2014-10-03 14:10:56 +02:00
Robert K
e69c37167c renamed and split advance method. 2014-10-03 13:44:05 +02:00
Robert K
c371d4fa22 class for handling adaptive time steps. 2014-10-03 13:33:13 +02:00
Robert K
f6c9bc9090 improvement of the time step adjustment. 2014-10-02 14:04:32 +02:00
Robert K
92d5f43d82 sub step simulator timer. 2014-10-01 13:56:27 +02:00
Robert K
9517359d3f reset master. 2014-10-01 13:55:42 +02:00
Robert K
d42d0a6cbe SubStepSimulationTimer for time step control. Needs documentation and cleanup. 2014-09-30 15:55:26 +02:00
Atgeirr Flø Rasmussen
c3551dfdad Merge pull request #657 from GitPaean/PVT_viscosity_try
Obtaining viscosity by doing a linear interpolation of the inverse of B*mu instead of mu directly.
2014-09-23 22:44:37 +02:00
Kai Bao
ef3e524c30 Changing nColumns to nRows. 2014-09-23 13:17:47 +02:00
Atgeirr Flø Rasmussen
c0627c2305 Merge pull request #654 from andlaus/fix_rate_conversion
Fix rate conversion
2014-09-22 14:36:52 +02:00
Kai Bao
175da5450f Changing the location of * in long formula. 2014-09-22 14:29:18 +02:00
Kai Bao
6a43935ea3 Deleting some commented lines. 2014-09-22 14:26:00 +02:00
Kai Bao
09404202da Changing the naming in PvtDead.
To be consistent with the naming int PvtLive.
2014-09-22 14:21:33 +02:00
Andreas Lauser
7ce561095c EclipseWriter: don't convert the unit inside the rate() function
because if that is done, the integration for the production total is
wrong because the time step length is days and not seconds.

Note that the conversion now uses Opm::unit::convert::to(<>,
1/conversionFactor) instead of simply multiplying with the conversion
factor. I still think this obfuscates things more than it helps, but
[at] bska will hopefully want it this way...
2014-09-22 14:16:41 +02:00
Andreas Lauser
6659070eac EclipseWriter: clarify a comment 2014-09-22 14:15:57 +02:00
Atgeirr Flø Rasmussen
383bd4d91e Remove old legacy unit constants.
They should have been removed a long time ago, but were overlooked.
2014-09-22 13:28:17 +02:00
Kai Bao
5d3017e6c6 Merge remote-tracking branch 'upstream/master' into PVT_viscosity_try 2014-09-22 13:01:13 +02:00
Kai Bao
ee73105c95 Using resize to allocate memory for 1/BMu. 2014-09-22 10:28:23 +02:00
Atgeirr Flø Rasmussen
9afe054c25 Remove include guards from warning suppression headers.
They are intended to temporarily change compiler state, and may be
included multiple times in a single compilation unit.
2014-09-20 10:36:10 +02:00
Atgeirr Flø Rasmussen
a47e6775bd Honor SILENCE_EXTERNAL_WARNINGS in suppression headers. 2014-09-20 10:36:10 +02:00
Atgeirr Flø Rasmussen
1dd215834b Refactor third-party warning suppression.
Use header files from opm/core/utility/platform_dependent instead of
build-system generated ones for suppressing warnings from dune or Eigen.
2014-09-20 10:36:10 +02:00
Atgeirr Flø Rasmussen
763c9de6ef Add disabling and reenabling header files.
The files check for compiler versions to avoid using incompatible
pragmas. Only enabled for gcc >= 4.6 and clang.
2014-09-20 10:36:10 +02:00
Andreas Lauser
c7dfd096aa SatFuncBase.hpp: convert DOS line endings to unix ones
i.e. \r\n -> \n
2014-09-19 14:40:52 +02:00
Andreas Lauser
bd0bfc172b adapt the the table related API changes of opm-parser 2014-09-19 14:40:35 +02:00
Kai Bao
2b18b8f27f Finshing changing Pvt_liveGas
Remains to be verfied.
2014-09-18 15:28:38 +02:00
Kai Bao
eadbffa99b Changing the PvtLiveOil to use 1/BV for viscosity.
Pssing the simple 2D test.
2014-09-18 12:46:45 +02:00
Atgeirr Flø Rasmussen
6d1cfc0fb2 Avoid release mode warnings.
Variables only used in asserts have been removed, their content used
directly in the assert() instead.
2014-09-18 11:31:03 +02:00
Kai Bao
0b69961d9e A little more comment about B and b. 2014-09-17 11:15:58 +02:00
Kai Bao
d393d147a4 Updating the calculation of mu and dmudp for PvtDead. 2014-09-14 17:33:43 +02:00
Kai Bao
d9acd0f3b8 Rewriting the d_mu_d_p for deadGas. 2014-09-14 16:24:37 +02:00
Kai Bao
d9eb3ea30f Chaning using the new interpolation for viscosity 2014-09-12 13:39:16 +02:00
Andreas Lauser
38eed1875a EclipseWriter: replace /= by unit::convert::to()
as insisted on by [at] bska
2014-09-10 11:41:26 +02:00
Andreas Lauser
5dd00f93c3 use the same units for pressure output as for pressure input from the deck
before, the output was always metric, regardless of whether the deck
used metric or field units...
2014-09-09 18:58:34 +02:00
Andreas Lauser
9a44720e32 rename getCF() to getConnectionTransmissibilityFactor() 2014-09-06 22:28:21 +02:00
Andreas Lauser
da25fb699d change the defaults for pvt_tab_size and sat_tab_size to -1
this causes the code to use linear instead of spline
interpolation. thanks to @atgeirr for pointing this out..
2014-09-03 14:42:43 +02:00
Andreas Lauser
8a8c71bc63 change the default of the "threephase_model" parameter from "simple" to "gwseg"
Using "simple", the Norne deck aborts with an exception.

Note: SPE1 and SPE9 still seem to work fine with this but there might
be small differences so that the reference solutions of the Jenkins
server might need to be updated...
2014-09-03 13:37:52 +02:00
Atgeirr Flø Rasmussen
dfb7483e1e Merge pull request #648 from bska/fix-peaceman
effectiveRadius: Fix Numerator Formula
2014-09-02 15:46:36 +02:00
Bård Skaflestad
9591aec757 effectiveRadius: Fix numerator formula
We must take the square root of the permeability ratios, not use them
as is.  This was lost in the refactorisation commit 96cf137.

Pointy hat: @bska.
2014-09-02 15:12:50 +02:00
Tor Harald Sandve
a7ecde25ce Include goc and woc in the span for the phase pressure calculation 2014-09-02 14:49:09 +02:00