Commit Graph

1738 Commits

Author SHA1 Message Date
Joakim Hove
6a841cfa83 Added new 'false' argument to writeTimeStep() 2015-08-05 13:46:17 +02:00
chflo
077f3d8ea7 OPM-218: Fix for restart interval write 2015-08-02 22:36:50 +02:00
dr-robertk
c86d25a5be Merge pull request #423 from dr-robertk/PR/no-update-operator-for-bool
SimulatorBase: avoid using update operator for bool.
2015-07-29 10:23:06 +02:00
Robert Kloefkorn
affc64f346 SimulatorBase: avoid using update operator for bool. 2015-07-29 10:21:55 +02:00
Atgeirr Flø Rasmussen
e24cb27ad4 Merge pull request #420 from dr-robertk/PR/bug-fix-is-parallel-init
SimulatorBase[bugfix]: is_parallel_run_ was not initialized correctly.
2015-07-27 18:14:35 +02:00
Robert Kloefkorn
3ef2e883f8 SimulatorBase[bugfix]: is_parallel_run_ was not initialized when output_terminal was
false.
2015-07-27 13:08:36 +02:00
Atgeirr Flø Rasmussen
5b7e1a2e03 Merge pull request #419 from blattms/prevent-init-shared_ptr-from-nullptr
Prevents initializing std::shared_ptr from nullptr to suit gcc-4.4
2015-07-23 23:32:57 +02:00
Markus Blatt
67d5a1f503 Prevents initializing std::shared_ptr from nullptr.
For g++-4.4 support for nullptr is not complete. Using it
to initialize an empty shared_ptr breaks compilation:

/home/mblatt/src/dune/opm/opm-autodiff/opm/autodiff/AutoDiffHelpers.hpp: In constructor ‘Opm::HelperOps::HelperOps(const Grid&, Opm::EclipseStateConstPtr)’:
/home/mblatt/src/dune/opm/opm-autodiff/opm/autodiff/AutoDiffHelpers.hpp:87: error: no match for ternary ‘operator?:’ in ‘(bool)eclState ? eclState->.Opm::EclipseState::getNNC() : nullptr’
/home/mblatt/src/dune/opm/opm-autodiff/opm/autodiff/AutoDiffHelpers.hpp:87: note: candidates are: operator?:(bool, const Opm::NNC* std::__shared_ptr<const Opm::NNC, (__gnu_cxx::_Lock_policy)2u>::*, const Opm::NNC* std::__shared_ptr<const Opm::NNC, (__gnu_cxx::_Lock_policy)2u>::*) <built-in>
/home/mblatt/src/dune/opm/opm-autodiff/opm/autodiff/AutoDiffHelpers.hpp:87: note:                 operator?:(bool, const Opm::NNC* std::__shared_ptr<const Opm::NNC, (__gnu_cxx::_Lock_policy)2u>::*, T*) <built-in>

Here no conversion to shared_ptr happens.

/home/mblatt/src/dune/opm/opm-autodiff/opm/autodiff/ImpesTPFAAD.cpp: In constructor ‘Opm::HelperOps::HelperOps(const Grid&, Opm::EclipseStateConstPtr) [with Grid = UnstructuredGrid]’:
/home/mblatt/src/dune/opm/opm-autodiff/opm/autodiff/ImpesTPFAAD.cpp:160: error: no matching function for call to ‘std::shared_ptr<const Opm::EclipseState>::shared_ptr(const dune_nullptr_t&)’
/usr/include/c++/4.4/bits/shared_ptr.h:1263: note: candidates are: std::shared_ptr<_Tp>::shared_ptr(std::shared_ptr<_Tp>&&) [with _Tp = const Opm::EclipseState]
/usr/include/c++/4.4/bits/shared_ptr.h:1238: note:                 std::shared_ptr<_Tp>::shared_ptr() [with _Tp = const Opm::EclipseState]
/usr/include/c++/4.4/bits/shared_ptr.h:1236: note:                 std::shared_ptr<const Opm::EclipseState>::shared_ptr(const std::shared_ptr<const Opm::EclipseState>&)

Here the DUNE's nullptr implementation is used with std::shared_ptr which are not
compatible.

We fix this by using the emptry constructor of std::shared_ptr to create a nullptr.
2015-07-23 15:33:45 +02:00
Atgeirr Flø Rasmussen
b7764601f8 Merge pull request #418 from atgeirr/fix-flow-parallel
Pass parallel info to NewtonIteration... classes.
2015-07-16 15:04:30 +02:00
Atgeirr Flø Rasmussen
6494dee820 Pass parallel info to NewtonIteration... classes. 2015-07-16 14:32:36 +02:00
Atgeirr Flø Rasmussen
e638176c4a Merge pull request #416 from atgeirr/fix-eigen-resize-nnc
Fixed Eigen array dimensions must be respected in resize().
2015-07-15 13:33:08 +02:00
Atgeirr Flø Rasmussen
de2a52bbda Fixed Eigen array dimensions must be respected in resize(). 2015-07-15 13:26:34 +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
Atgeirr Flø Rasmussen
61b1a67140 Bugfix: do not call method on pointer that can be null. 2015-07-13 11:24:21 +02:00
Atgeirr Flø Rasmussen
eda6899571 Simplify rhs of conditional. 2015-07-13 11:23:56 +02:00
Atgeirr Flø Rasmussen
6ca3fb7d18 Merge pull request #414 from dr-robertk/PR/adjust-autodiffgridhelpers
GridHelpers: added specialization for PolyhedralGrid.
2015-07-13 10:11:28 +02:00
Robert Kloefkorn
752f80572e GridHelpers: added specialization for PolyhedralGrid. 2015-07-10 14:16:43 +02:00
Atgeirr Flø Rasmussen
5be3ae9ad6 Merge pull request #394 from totto82/addNNC
Add support for NNC in the simulator
2015-07-10 13:07:01 +02:00
Tor Harald Sandve
ab872b15e3 Remove old constructor
Pass Null pointer as default argument for the EclipseState to enable all
users to use the new constructor.
2015-07-10 10:30:29 +02:00
Tor Harald Sandve
662849637c Change size_t to int to avoid comparison warnings
and add some white spaces
2015-07-10 05:08:04 +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
Atgeirr Flø Rasmussen
41eefa188f Removed unneeded Opm:: qualifier, and reindent. 2015-07-09 13:45:15 +02:00
Atgeirr Flø Rasmussen
c64222ce33 Avoid unused argument warning. 2015-07-09 13:37:20 +02:00
Tor Harald Sandve
f1e91b8b87 Use the gridhelpers to make it run with cp-grid 2015-07-09 12:18:52 +02:00
Tor Harald Sandve
065b2f595c Add support for NNC in the simulator
1) NNC are added the grad, div and average operators
2) NNC are added the upwindSelector
3) NNC transmissibilities are added to the face transmissibilities
2015-07-09 12:15:59 +02:00
Atgeirr Flø Rasmussen
8265e0f07d Merge pull request #411 from dr-robertk/PR/fix-local-perm-for-flow_cp
Fix use of local perm for flow_cp.
2015-07-08 14:02:39 +02:00
Robert Kloefkorn
db36dd6f43 GeoProps: initialize scaledFaceNormal with zero. 2015-07-08 13:46:03 +02:00
Robert Kloefkorn
3c1bf1a669 GeoProps: avoid complications if dune is not found. 2015-07-08 13:18:52 +02:00
Robert Kloefkorn
bdb30ec023 GeoProps: fix the use_local_perm implementation for flow_cp. The problem that the
faceNormals are scaled differently remains.
2015-07-08 13:15:00 +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
Atgeirr Flø Rasmussen
f0db1974cf Merge pull request #409 from andlaus/use_fluidstates_for_satfuncs
adapt to the opm-core API change in the SaturationFunctionsFromDeck to always use non-uniform tables
2015-07-01 12:58:13 +02:00
Atgeirr Flø Rasmussen
3d855b1535 Merge pull request #399 from dr-robertk/PR/merge-flow-and-flow_cp
Merge flow and flow_cp to avoid code duplication.
2015-06-30 15:11:37 +02:00
Robert Kloefkorn
34429b60f1 [bugfix] CpGrid does not yet work with use_local_perm. 2015-06-30 14:28:01 +02:00
Robert Kloefkorn
5b51a5b7b1 Merge remote-tracking branch 'upstream/master' into PR/merge-flow-and-flow_cp 2015-06-30 13:39:03 +02:00
Atgeirr Flø Rasmussen
98dfe892f5 Undo the order changes in commit 1524a1.
This is done to eliminate changes in simulation results.
2015-06-29 16:44:10 +02:00
Andreas Lauser
78f7097798 adapt to the opm-core API change in the SaturationFunctionsFromDeck to always use non-uniform tables 2015-06-26 15:32:10 +02:00
Atgeirr Flø Rasmussen
4cb8556f42 Simplify fluid interfaces, reuse formation volume factor.
The simplifications are:
 - Do not pass cell indices to fluidViscosity(), fluidReciprocFVF().
 - Pass b (reciprocal f.v.f.) to fluidDensity() instead of pressure etc.

This saves one call to fluidReciprocFVF(), that is removed from
fluidDensity(). Instead the previously stored quantity is passed
to fluidDensity() as an argument.
2015-06-24 10:22:23 +02:00
Atgeirr Flø Rasmussen
1524a10e31 Change order of computation to reduce overhead. 2015-06-24 10:06:40 +02:00
Atgeirr Flø Rasmussen
7a32644342 Merge pull request #406 from atgeirr/split-addwelleq
Refactor addWellEq().
2015-06-23 11:38:08 +02:00
Atgeirr Flø Rasmussen
c96a33124c Refactor addWellEq().
The method has been split in three parts:
        computeWellFlux(const SolutionState& state,
                        const std::vector<ADB>& mob_perfcells,
                        const std::vector<ADB>& b_perfcells,
                        V& aliveWells,
                        std::vector<ADB>& cq_s);

        void
        updatePerfPhaseRatesAndPressures(const std::vector<ADB>& cq_s,
                                         const SolutionState& state,
                                         WellState& xw);

        void
        addWellFluxEq(const std::vector<ADB>& cq_s,
                      const SolutionState& state);

This reduces the function length, although most of the content of addWellEq()
now is in computeWellFlux(), so that function is still quite long. It also
allows us to use smaller sets of function arguments, which makes methods easier
to understand.

Finally, it makes it easier to create derived models with custom behaviour.
2015-06-22 11:34:10 +02:00
Atgeirr Flø Rasmussen
f1859902a8 Merge pull request #405 from atgeirr/fix-non-mpi-failure
Move parallel overload into HAVE_MPI block.
2015-06-19 14:08:02 +02:00
Atgeirr Flø Rasmussen
ae6caaac61 Move parallel overload into HAVE_MPI block. 2015-06-19 14:06:27 +02:00
Atgeirr Flø Rasmussen
bb626b1d9c Merge pull request #404 from atgeirr/fix-include-name
Fix case in include statement.
2015-06-19 13:36:29 +02:00
Atgeirr Flø Rasmussen
f3623270cc Fix case in include statement. 2015-06-19 13:35:36 +02:00
Atgeirr Flø Rasmussen
a3f7d80ce6 Merge pull request #402 from atgeirr/interleaved-matrix
Move forming interleaved matrix to own function
2015-06-19 11:34:59 +02:00
Atgeirr Flø Rasmussen
700ce9e13d Move forming interleaved matrix to own function/ 2015-06-19 11:33:30 +02:00
Atgeirr Flø Rasmussen
d6d0bde1ab Merge pull request #397 from atgeirr/interleaved-matrix
Add new linear solver approach: block-structured matrix.
2015-06-19 11:32:45 +02:00
Atgeirr Flø Rasmussen
5002fe1e37 Add use_interleaved option to flow_cp. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen
5e513642d7 Add paralell preconditioner, enable parallel case. 2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen
a3d115ff22 Add (disabled) parallel version.
Disabled because the constructPreconditionerAndSolve() method does
not have a way currently to construct a parallel preconditioner.
2015-06-19 10:53:33 +02:00