Commit Graph
100 Commits
Author SHA1 Message Date
Bård Skaflestad c956494402 Merge pull request #540 from atgeirr/remember-asimpl
Add asImpl() to method calls.
2015-11-19 14:47:13 +01:00
Bård Skaflestad 022bd6b8fe Merge pull request #536 from atgeirr/refactor-nonlinear
Refactor nonlinear solver
2015-11-18 11:47:43 +01:00
Bård Skaflestad 65da8b7e11 Merge pull request #531 from blattms/parallel-RateConverter
Calculate parallel averages in RateConverter.

Closes issue #530
2015-11-13 18:26:36 +01:00
Bård Skaflestad 112b0b7e6e Merge pull request #537 from andlaus/update_cdash_drop_site
cdash: update dropsite
2015-11-11 19:22:09 +01:00
Bård Skaflestad 308a3fd57e Merge pull request #535 from atgeirr/bug-in-scalar-autodiff
Fix bug in scalar autodiff
2015-11-10 14:02:49 +01:00
Bård Skaflestad 91af12034c Merge pull request #533 from atgeirr/install-flow-solvent
Add flow_solvent to list of programs to be installed.
2015-11-05 14:18:24 +01:00
Bård Skaflestad a3d4224445 Merge pull request #527 from blattms/fix-sequential-redist-grid
Only specialize distributeGridAndData for CpGrid if MPI is found.
2015-10-30 19:31:26 +01:00
Bård Skaflestad cfc1350717 Merge pull request #500 from blattms/removed-superfluous-ptr-during-redistribution
Remove unnecessary shared_ptr for geology and black oil properties during redistribution.
2015-10-22 15:27:40 +02:00
Bård Skaflestad a333755a2b Merge pull request #481 from babrodtk/faster-form-interleaved
Faster form interleaved
2015-09-24 09:19:54 +02:00
Bård Skaflestad 2c84414641 Merge pull request #480 from atgeirr/silence-warning
Silence unused argument warning.
2015-09-21 10:45:58 +02:00
Bård Skaflestad a94fe3ed4f Chase API update of opm-core's RegionMapping
In the process, generalise the notion of region properties.  We
introduce a new helper class

    Details::RegionAttributes<RegionId, Attributes>

that provides lookup from a RegionId, typically an int, to a
user-defined set of Attributes--in this case pressure and
temperature.

While here, mark 'SurfaceToReservoirVoidage::calcCoeff()' as 'const'
because it doesn't need to modify any internal state and refactor
the implementation to eliminate repeated calculations of

    ADB::constant(X)
2015-09-14 19:21:54 +02:00
Bård Skaflestad d43b259886 Merge pull request #469 from atgeirr/silence-warnings
Silence some more warnings.
2015-09-14 19:18:06 +02:00
Bård Skaflestad 8517fd29a6 Merge pull request #468 from atgeirr/remove-args
Update for removed constructor args.
2015-09-14 17:07:54 +02:00
Bård Skaflestad 63d34157ef Merge pull request #462 from blattms/fix-build
Removes unused experimental header include to fix build.
2015-09-07 11:23:59 +02:00
Bård Skaflestad c5ae85e480 Merge pull request #415 from atgeirr/fix-nnctreatment
Fix nnc treatment
2015-07-13 22:09:10 +02:00
Bård Skaflestad 85fe3d6ad2 Merge pull request #412 from atgeirr/fix-warning
Avoid unused argument warning.
2015-07-09 13:51:47 +02:00
Bård Skaflestad 8cd014f937 Merge pull request #408 from atgeirr/performance-opt
Performance enhancements and simplifications for BlackoilModelBase
2015-07-01 14:41:50 +02:00
Bård Skaflestad f41bab749a Merge pull request #393 from atgeirr/create-params-once
Create solver and model parameters only once.
2015-06-10 15:01:17 +02:00
Bård Skaflestad f1a20b6b3b Merge pull request #391 from bska/fix-install
Record New and Renamed Files
2015-05-29 17:06:19 +02:00
Bård Skaflestad 35162df431 Record New and Renamed Files
This fixes 'make install'.
2015-05-29 16:18:56 +02:00
Bård Skaflestad 83c8912933 Merge pull request #388 from akva2/shared_check_commits
changed: use common check-commits target from opm-cmake
2015-05-28 15:35:06 +02:00
Bård Skaflestad 1b7b786cba Merge pull request #365 from akva2/update_redhat_packaging
update redhat packaging
2015-04-24 17:34:22 +02:00
Bård Skaflestad 78be86a9ed Merge pull request #361 from atgeirr/minor-output-fix
Use more appropriate end-of-sim timing output.
2015-04-21 12:33:22 +02:00
Bård Skaflestad e13ed48e4e Merge pull request #356 from atgeirr/accept-deck-as-argument
Accept single deck filename as command line argument.
2015-04-14 18:11:12 +02:00
Bård Skaflestad f688c7e87a Merge pull request #355 from atgeirr/new-startup-message
Provide nicer startup message that includes opm-project URL.
2015-04-14 13:35:18 +02:00
Bård Skaflestad 69ac687eb2 Merge pull request #351 from atgeirr/cmake_01
Sync build system
2015-04-10 17:35:34 +02:00
Bård Skaflestad 7fa2d53db5 Merge pull request #337 from atgeirr/improve-helpers
Add new vertcatCollapseJacs() helper and use it
2015-03-24 17:13:47 +01:00
Bård Skaflestad 531bc7fd73 Merge pull request #333 from atgeirr/reduce-recalculation
Reduce recalculation of phase pressures
2015-03-11 09:20:51 +01:00
Bård Skaflestad 5ae25819f1 Merge pull request #331 from dr-robertk/PR/eclipsewriter-only-summary-in-substeps
SimFullyImplBO: write simulation state at all report step and in the end.
2015-03-10 12:32:11 +01:00
Bård Skaflestad 50fd23bffe Merge pull request #330 from atgeirr/simplify-props
Further simplify properties
2015-03-09 10:25:56 +01:00
Bård Skaflestad eed6b0a4a3 Merge pull request #329 from atgeirr/fix-rateconverter-test
Fix for test failures after #327.
2015-03-05 16:27:28 +01:00
Bård Skaflestad 5a390f0d27 Merge pull request #323 from blattms/uggridhelpers-completion
Moves functions that do not depend on Eigen to Opm::UgGridHelpers. [3/3]
2015-03-02 18:50:06 +01:00
Bård Skaflestad e1805f3224 Merge pull request #322 from blattms/bugfix-blackoilsate
[bugfix] read only from the sendState in BlackoilStateDataHandle.
2015-03-02 11:30:11 +01:00
Bård Skaflestad 90ff9c055d Merge pull request #320 from atgeirr/fix-pvtregions
Fix pvt regions
2015-02-27 12:29:42 +01:00
Bård Skaflestad d53cf1cf54 Merge pull request #318 from atgeirr/cleanup
Remove unused classes and example
2015-02-27 10:11:39 +01:00
Bård Skaflestad 7dfcf7b0c0 Merge pull request #282 from atgeirr/fix-wellstate-init
Fix issues in WellStateFullyImplicitBlackoil::init().
2015-01-26 23:12:12 -06:00
Bård Skaflestad 18fa00b542 Merge pull request #270 from blattms/transmissibility-check-with-local
Use correct constructor of DerivedGeology used with CpGrid in test_trans...
2015-01-12 15:23:30 +01:00
Bård Skaflestad b9b2b9f520 Really catch up to file renaming.
Pointy hat: @bska
2014-12-17 11:39:51 +01:00
Bård Skaflestad c04351d4ac Merge pull request #261 from atgeirr/master
Fix call to DerivedGeology constructor.
2014-12-17 11:37:15 +01:00
Bård Skaflestad 6c7bdecd30 Catch up to file renaming
This fixes "make install" which would otherwise fail with a diagnostic
message of the form

   CMake Error at cmake_install.cmake:64 (FILE):
     file INSTALL cannot find
     opm/autodiff/ConservativeSparseSparseProduct.h

Thanks to HudsonBuildServer for highlighting the issue.
2014-12-17 11:34:08 +01:00
Bård Skaflestad 5ce5658892 Merge pull request #260 from atgeirr/add-generic-local-trans
Add a generic (throwing) tpfa_loc_trans_compute_().
2014-12-17 10:50:17 +01:00
Bård Skaflestad 9a599d0e24 Merge pull request #256 from totto82/addregionTrans
Add contribution from region multipliers
2014-12-10 17:02:08 +01:00
Bård Skaflestad 72553f314a Merge pull request #253 from joakim-hove/FindERT-update
FindERT.cmake: Look for libecl_well library
2014-12-08 13:15:18 +01:00
Bård Skaflestad c69b2fd8ed Include <config.h> to fix build on GCC 4.8
GCC 4.8 provides 'nullptr' in C++11 mode.  That capability is
detected at configuration time and stored in <config.h> and we need
it when targeting Dune 2.2.1 to avoid diagnostics of the form

  [...]/dune/common/nullptr.hh:27:1:
  error: expected ‘;’ after class definition
   } nullptr = {};              // and whose name is nullptr
    ^

  [...]/dune/common/nullptr.hh:27:1:
  error: qualifiers can only be specified for objects and functions
  [...]/dune/common/nullptr.hh:27:3:
  error: expected unqualified-id before ‘nullptr’
   } nullptr = {};              // and whose name is nullptr
2014-11-27 15:12:56 +01:00
Bård Skaflestad 9e72ea50ad Merge pull request #234 from akva2/debian_packaging
update debian packaging
2014-11-17 18:01:58 +01:00
Bård Skaflestad 7ac155531a Merge pull request #233 from atgeirr/improve-cpr-performance
Improve performance of CPR preconditioner.
2014-11-14 08:47:05 +01:00
Bård Skaflestad e4ad38ec31 Merge pull request #231 from atgeirr/modify-convergence-output
Improve convergence output.
2014-11-12 22:43:47 +01:00
Bård Skaflestad 55226c3b86 Merge pull request #220 from qilicun/fix_phase_idx
phaseIdx in this for statement is actual active phase index, should not active once again.
2014-10-11 11:14:16 +02:00
Bård Skaflestad 9124b6f56b Don't use 'typename' in non-template context
This fixes the build on GCC 4.4.

Pointy hat: @bska
2014-10-06 12:33:08 +02:00
Bård Skaflestad 9b10f7827b Merge pull request #210 from atgeirr/dune-matrix-hack
Add a horrible hack: DuneMatrix class.
2014-10-06 11:43:05 +02:00
Bård Skaflestad 7ee66047b1 Merge pull request #214 from atgeirr/fix-pressure-usage
Fix usage of result from computePressures().
2014-10-06 11:16:07 +02:00
Bård Skaflestad 3c97fa0d64 Merge pull request #212 from dr-robertk/master
separat solver parameters
2014-10-01 18:19:15 +02:00
Bård Skaflestad a0567cc887 Fix out-of-bounds indexing into PVT function table
The 'props_' table of PVT functions has one entry for each active
phase.  Fix four instances of indexing into the table using the
canonical rather than active phase indices.

This is necessary, but not sufficient, to run two-phase problems
without a "dummy" third phase.
2014-09-18 00:19:35 +02:00
Bård Skaflestad be589ba5f3 Merge pull request #189 from atgeirr/add-minpv
Add MINPV support to grid creation for fully implicit sims.
2014-08-29 09:16:55 +02:00
Bård Skaflestad d0b677920a Merge pull request #190 from atgeirr/threshold-pressure
Threshold pressure
2014-08-29 09:14:24 +02:00
Bård Skaflestad de33d39f46 Merge pull request #191 from atgeirr/fix-warnings
Suppress warnings of various kinds.
2014-08-28 16:11:27 +02:00
Bård Skaflestad 53e6bfcd3d Merge pull request #187 from osae/satFunc-eclState
Provide eclipse state to saturation property init.
2014-08-25 13:56:14 +02:00
Bård Skaflestad 077b01b767 Merge pull request #188 from OPM/support-resv
Support RESV controls
2014-08-25 13:54:30 +02:00
Bård Skaflestad d8452145ae Merge pull request #186 from atgeirr/use-pinch
Use direct deck-using version of grid construction method.
2014-08-22 20:36:26 +02:00
Bård Skaflestad 6fccb4b446 Merge pull request #179 from atgeirr/restructure-sim
Restructure fully implicit blackoil simulators
2014-08-13 10:23:41 +02:00
Bård Skaflestad a3bc595a91 Aesthetics: Turn if-else into switch()
This commit replaces an if-else-based query of the primaryVariable_
with the equivalent switch() statement for uniformity with the rest
of the implementation.
2014-08-08 11:40:50 +02:00
Bård Skaflestad 0f663dfe9f Implement RESV control mode for producers
This commit introduces support for the RESV control mode of
prediction (WCONPROD) and history-matching (WCONHIST) alike.  The
implementation uses class SurfaceToReservoirVoidage<> to compute
coefficients that convert component rates at surface conditions
(i.e., the primary degrees of freedom in the well residual) to phase
rates at reservoir condition.  The resulting coefficients can be
entered directly into system matrix of the linearised residual.

Note: We abuse the "distr" mechanism of struct WellControls to store
the conversion coefficients.  This may require refactorisation and
clarification at a later stage.  In the meantime, it allows for
transparent assembly of well equations--irrespective of surface- or
reservoir (voidage) rates.

Note: We do not yet support injectors controlled by total reservoir
voidage rate--either in history-matching (WCONINJH) or
prediction-scenario capacity.
2014-08-08 11:40:50 +02:00
Bård Skaflestad 23520be41a RESV: Prepare for dynamic rate distribution calculation
This commit changes the API of class SimulatorFullyImplicitBlackoil<>
in order to support wells controlled by (total) reservoir voidage
volume rates.  Specifically, we switch to holding a mutable Wells
object (backed by a std::shared_ptr<>) in class Impl rather than a
reference to a WellsManager.  This allows dynamically updating rate
distributions and targets of individual well controls.  That, in
turn, is a prerequisite to supporting ECL-style "RESV" control
modes--be it in prediction or history matching capacity.

While in the process of API changes, also prepare for the second
stage of "WCONHIST/RESV" support: Accept a ScheduleConstPtr that
holds the input deck's notion of the history matching vs. prediction
controls.  We need to distinguish the two in order to support the
exact semantics of "WCONHIST/RESV".

Update SimFIBO<> clients accordingly.
2014-08-08 11:40:50 +02:00
Bård Skaflestad 91567a9857 Remove long-disabled parameter setup code
This was copy-pasted into the class at its inception (a94f1921) and
never used thereafter.  If we need it we can bring it back in
modified form at a later stage.
2014-08-08 11:40:50 +02:00
Bård Skaflestad 1e7967aeb1 Prune unused header
The column-extraction feature was not used in this module.
2014-08-08 11:40:50 +02:00
Bård Skaflestad 82fc769922 RESV: Add facility for surface-to-reservoir rate conversion
This commit adds a simple facility for converting component rates at
surface conditions to voidage rates at reservoir conditions.  It is
intentionally limited in scope and meant to be employed only in the
context of class FullyImplicitBlackoilSolver<> or something very
similar.  In particular, class SurfaceToReservoirVoidage<> assumes
that it will be used to compute conversion coefficients for
component rates to voidage rates, and that those coefficients will
typically be entered into the coefficient matrix of a linearised
residual.

Add a trivial test just to demonstrate the setup and calling
process.  This is not a feature or correctness test.
2014-08-08 11:40:50 +02:00
Bård Skaflestad 252fdc3720 Time loop: Remove unused variable 2014-08-08 11:40:50 +02:00
Bård Skaflestad 5f7adfa341 Time loop: Remove control mode switching
The solver (class FullyImplicitBlackoilSolver<>) gained the ability
to do control mode switching/updating in commit 4a22c56 at which
point using WellsManager::conditionsMet() ceased to be useful.  This
is a preparatory step towards adding support for RESV-type control
modes.

If we need this type of behaviour in the Simulator*, we can bring it
back (in modified form) at a later time.
2014-08-08 11:40:50 +02:00
Bård Skaflestad 88bb04c72f Fix contextual misprint: face -> phase 2014-08-08 11:40:50 +02:00
Bård Skaflestad d6e29be24c Merge pull request #175 from atgeirr/remove-unused-grav
Remove unused grav_ member and function used to compute it.
2014-08-05 16:30:09 +02:00
Bård Skaflestad a612d2c96f Restore gravity effects
The refactorisation of class FullyImplicitBlackoilSolver<Grid> to
defer transmissibility and pore-volume calculation to the client in
order to support multipliers (net-to-gross &c) accidentally ended up
removing all effects of gravity.  This commit restores those effects.
2014-07-29 19:49:50 +02:00
Bård Skaflestad 167ed55b86 Merge pull request #172 from GitPaean/Fixing_including_iss170
Adding ErrorMacros.hpp to GeoProps.hpp
2014-07-29 12:43:00 +02:00
Bård Skaflestad b98b71e401 Merge pull request #166 from andlaus/implement_multipliers
Implement pore volume and permeability multipliers
2014-07-28 14:38:56 +02:00
Bård Skaflestad d2b529296f Merge pull request #169 from atgeirr/update-condition
Update phase condition vector from primary variables.

This resolves #168.
2014-07-23 18:13:30 +02:00
Bård Skaflestad 263e337136 Merge pull request #165 from andlaus/test_for_extended_std__regex
use extended regular expressions in the test for std::regex
2014-07-08 13:40:22 +02:00
Bård Skaflestad 9acd5840c3 Merge pull request #164 from andlaus/use_std__regex_if_available
FindCXX11Features: check for a usable std::regex
2014-07-07 23:02:32 +02:00
Bård Skaflestad 1257c03d26 Fix one-sided gravity potential calculation
Commit 5112b8a misinterpreted the role of index 'i' and, as a result,
installed code that would only define one-sided gravity potentials of
the first cell (roughly)--albeit eventually using the geometry of the
last active cell.

This commit restores the original, intended behaviour.
2014-07-03 00:27:39 +02:00
Bård Skaflestad a5d3017062 assemble: Fix out-of-bounds indexing
The 'material_balance_eq' is indexed by active, not canonical, phase
indices.  Replace 'Oil' and 'Gas' with the appropriate 'phase_pos'
values.
2014-07-03 00:27:18 +02:00
Bård Skaflestad 78b87b8857 variableState: Don't form objects when references suffice
There's no need to form new objects, especially for the 'xvar', when
there are existing objects to which read-only references can be
bound.
2014-07-03 00:27:17 +02:00
Bård Skaflestad eccc5c9694 variableState: Use pre-computed list of "all cells"
Class FullyImplicitBlackoilSolver<Grid> already features a list of
"all" cells, built at object construction time.  There's no need to
re-compute that list on every call to variableState() (when Gas is
active).
2014-07-03 00:27:17 +02:00
Bård Skaflestad f69530a7d4 variableState: Defer r{s,v}Sat calculation
Quantities rsSat and rvSat are not needed unless we have an active
Gas phase.  Don't calculate them until we know that they are
actually needed.
2014-07-03 00:27:17 +02:00
Bård Skaflestad 35d883319b variableState: Don't reference non-existing variable
The "xvar" exists only if Gas is active.  Therefore, we cannot
extract that variable from "vars" unless we know that Gas is an
active phase.  Failing to do so would wrongfully increment 'nextvar'
whence the final BHP variable would be an out-of-bounds access.
2014-07-03 00:27:17 +02:00
Bård Skaflestad 13d3a42448 Fix phase property references
Methods 'computeRelperm()' and 'computePressures()' *always* return
a three-element vector of phase properties.  We must therefore
translate to canonical phase indices before indexing into the
results.
2014-07-03 00:27:17 +02:00
Bård Skaflestad c5bbf19fce Disable search for Boost in parser detection
This changeset disables the effect of commit 778e87d.  There appears
to be an unforeseen interaction between the calls to

    Find_Package (Boost)

that are implied by module 'opm-parser-prereqs.cmake' and the one
that's directly invoked in 'Findopm-parser.cmake'.  Until the
situation can be fully analysed and a complete solution implemented,
this is a temporary measure to restore the build of opm-core and
downstream OPM modules.
2014-06-16 15:50:21 +02:00
Bård Skaflestad 9006824822 Merge pull request #153 from andlaus/fix_sim_fibo_ad_cp
sim_fibo_ad_cp: make it compile
2014-06-14 14:13:26 +02:00
Bård Skaflestad aecfa3ed50 Merge pull request #150 from andlaus/enable_property_modifiers
glue in support for property modifiers
2014-06-11 22:46:36 +02:00
Bård Skaflestad c834177897 Merge pull request #131 from andlaus/implement_multi-region_pvt_tables
implement multi-region PVT
2014-06-06 14:38:35 +02:00
Bård Skaflestad 3678464d51 Merge pull request #141 from atgeirr/master
Fix warnings
2014-05-21 20:02:49 +02:00
Bård Skaflestad f0d908d104 Merge pull request #140 from atgeirr/cpr-preconditioning
Cpr preconditioner
2014-05-21 15:36:12 +02:00
Bård Skaflestad 0ae44c32b1 Merge pull request #127 from andlaus/move_to_opm-parser
Move to opm parser
2014-05-02 17:01:27 +02:00
Bård Skaflestad cd24e53d85 Merge pull request #128 from atgeirr/spe9-fixes
Spe9 fixes
2014-04-28 14:47:06 +02:00
Bård Skaflestad bc279fa58f Merge pull request #125 from joakim-hove/use-parser-EclipseGrid
Using the Parser::EclipseGrid to create GridManager
2014-04-24 22:23:44 +02:00
Bård Skaflestad 15a585106b Merge pull request #124 from atgeirr/well-variable-updating
Changed well variable updating
2014-04-24 13:32:43 +02:00
Bård Skaflestad 07cbf55668 Merge pull request #122 from atgeirr/suppress-warnings
Suppress external and other warnings
2014-04-23 13:31:13 +02:00
Bård Skaflestad 81394512b4 Search for MPI support
The build system depends on knowing if MPI is available.  Explicitly
search for MPI to honour that requirement.  Don't rely on ISTL's
transitive searching for the same.
2014-04-22 13:31:08 +02:00
Bård Skaflestad 814e6fe414 Merge pull request #118 from atgeirr/cpr-preconditioning-again
Cpr preconditioning again
2014-04-15 21:47:05 +02:00
Bård Skaflestad 03218f5470 Merge pull request #100 from blattms/master-refactor-for-cpgrid-support
Adds fully implicite black oil solver working with CpGrid
2014-04-15 00:03:16 +02:00
Bård Skaflestad 3ca4a32163 Merge pull request #121 from andlaus/pvdco_to_pvcdo
fix typo: it's PVCDO, not PVDCO
2014-04-11 17:41:34 +02:00
Bård Skaflestad 1cbffa09de Fix memory leak
Function GridManager::createGrdecl() generally allocates memory
(using std::malloc()) for the MAPAXES keyword data output of the
'grdecl' structure.  Release those resources before leaving the
scope to prevent memory leak introduced in commit fdca540.
2014-04-10 12:25:28 +02:00
Bård Skaflestad fdca5404b7 Use new parser for all deck information
This commit switches to using the convenience method

    GridManager::createGrdecl()

to construct a "struct grdecl" that can be passed directly into
CpGrid::processEclipseFormat().  The practical benefit is that we
get to leverage the opm-parser that's in active development rather
than the calcifying "EclipseGridParser" that will only become less
relevant in the future.  We also don't parse the data twice.

Note: This is mostly compile tested.  In the few actual tests I ran,
I got into trouble with internal assertions in processEclipseFormat.
That problem is not yet analysed.
2014-04-10 01:01:55 +02:00