Commit Graph

630 Commits

Author SHA1 Message Date
Tor Harald Sandve
013d1d3499 Apply the swatinit scaling to new_props
The capillary pressure function in new_props is scaled to match the
capillary pressure function in props.

This is a temporary workaround while the simulator uses two different
property object.
2015-02-19 08:18:39 +01:00
Atgeirr Flø Rasmussen
e96036bdb3 Move helper functions to namespace detail.
These were in the anonymous namespace, which was not wrong but lead to
false-positive unused function warnings on some compilers, probably due
to being used only from within templates. This allows us to keep the
warning activated by default.
2015-02-19 09:07:42 +01:00
Atgeirr Flø Rasmussen
b83bb7bf92 Remove unused function. 2015-02-19 09:03:22 +01:00
Atgeirr Flø Rasmussen
f0190dd2bb Remove const from bool return type.
Since it has no effect for value types, and generates a warning.
2015-02-17 13:45:14 +01:00
Atgeirr Flø Rasmussen
850845c61d Suppress re-declaration warning. 2015-02-17 13:44:52 +01:00
Atgeirr Flø Rasmussen
17ade0457f Suppress unused argument errors. 2015-02-17 13:44:33 +01:00
Atgeirr Flø Rasmussen
a4024a3f9e Remove unused functions. 2015-02-17 13:42:26 +01:00
Atgeirr Flø Rasmussen
355bfb0e70 Suppress signed/unsigned warning.
Also fix formatting.
2015-02-17 13:41:31 +01:00
Atgeirr Flø Rasmussen
7cdb65cff3 Suppress unused argument warnings. 2015-02-17 13:41:00 +01:00
Atgeirr Flø Rasmussen
bd2f659770 Adapt to API change in WellsManager. 2015-02-17 13:22:43 +01:00
Markus Blatt
3eb13e74dd Adds braces to if() return; 2015-02-16 11:42:42 +01:00
Markus Blatt
60cdc583ae Make right hand passed to the linear solver consistent.
Previously, we had to use two layers of overlap cells such the
innermost layer contains the rightvalues automatically (as it is
surrounded by internal edges). No we use communication to get
the correct values in the whole overlap region and one layer
suffices as it should.
2015-02-12 21:33:41 +01:00
Markus Blatt
01ea7bacba Adds data redistribution capabilities and makes sim_fibo_ad_cp parallel.
With this commit we add the possibility to start with a global representation
of a simulator that is read on each process and afterwards this presentation
is redistributed among the processors together with the properties and
state data needed to initialize the simulation.

There still is no parallel well handling and no parallel output. But with the
equilibrium example of @dr-robertk and deactivated output we can already
perform parallel runs.
2015-02-12 21:33:41 +01:00
Markus Blatt
fc137afcd5 Adds a constructor to BlackoilPropsAdFromDeck that allows copy the grid independant part.
In the parallel simulator we will have to be able adress only poperties on
some part of the global grid. To create thos properties we need to be able
to copy the grid independant data of the properties object and resize the rest.
This commit adds a construct taking a properties object for reading and a
new number of cells to accomplish this.
2015-02-12 21:33:41 +01:00
Joakim Hove
c021b66c18 The stream::open() functions require c_str() 2015-02-12 17:25:40 +01:00
Markus Blatt
70fb0e7b79 Store the boost::any of ParallelIstlInformation by value.
During the constructor the underlying object only holds smart
pointers and an empty vector. The FullyImplicitBlackoilSolver
obtains  a reference to it from the NewtInterationInterface instances.
Therefore copying boost::any and storing it by value should be cheap
and safe.
2015-02-12 14:04:53 +01:00
Markus Blatt
d1239d0a35 Adds space between parameters and stops eliding zeros. 2015-02-12 10:41:45 +01:00
Markus Blatt
be7221aa9b Moved output parameters to the end of the list in extractParallelGridInformationToISTL 2015-02-12 10:41:44 +01:00
Markus Blatt
11848acf0c Added braces around else statement (coding guidelines) 2015-02-12 10:41:44 +01:00
Markus Blatt
a37421d2ad Rely on delete being null safe. 2015-02-12 10:41:44 +01:00
Markus Blatt
bf281a74b8 Make symbol extractParallelGridInformationToISTL available if CpGrid is there. 2015-02-12 10:41:44 +01:00
Markus Blatt
dd63c2489f Do not reimplement null_deleter from dune-common.
Instead we use Dune::stackobject_to_shared_ptr to create a
shared_ptr that does not delete the pointer.
2015-02-12 10:41:44 +01:00
Markus Blatt
39a6e19099 Fixes compilation issues when no MPI is available. 2015-02-12 10:41:44 +01:00
Markus Blatt
11cb82e815 Correctly compute the global number of cells and pore volume. 2015-02-12 10:41:44 +01:00
Markus Blatt
70d5d18560 Prevent copying of a matrix. 2015-02-12 10:41:44 +01:00
Markus Blatt
b73f1c86fc Fixed typos in documentatio of deleter. 2015-02-12 10:41:44 +01:00
Markus Blatt
a7f1614f63 Adds copyright declarations and more documentation. 2015-02-12 10:41:44 +01:00
Markus Blatt
ff9b8d790d Added a parallel version for computing the global reductions. 2015-02-12 10:41:44 +01:00
Markus Blatt
4527ce8ffd Add access to the underlying information about the parallelization.
We need it serveral places and all of them seem to have access to
NewtonIterationBlackoilInterface. This makes it natural to give access
to it and prevent users from having to forward it manually at several
places in the simulator driver.
2015-02-12 10:41:43 +01:00
Markus Blatt
221565f038 Enable the use of parallel dune-istl solvers.
As with opm-core we use boost::any to provide additional
information about a parallel run. It is used to set a
ParallelISTLInformation object and and fill it with the
information obtained from a parallel Cpgrid.

Note that the simulator currently compiles sucessfully. Still,
we have to test the runs and do debugging.
2015-02-12 10:41:43 +01:00
Joakim Hove
02b682ea52 Merge pull request #297 from qilicun/support_minpvf
support MINPVF.
2015-02-12 09:34:35 +01:00
Liu Ming
3ddb930d1f Adapt to api changes of opm-parser. 2015-02-12 16:16:07 +08:00
Robert K
0f20e187a6 typos and minor changes. 2015-02-11 13:26:57 +01:00
Robert K
61144a73af Vector --> Container since we also read/write strings. 2015-02-11 13:18:07 +01:00
Robert K
2520aab0a1 added warning when restore file couldn't be opened. 2015-02-11 13:18:07 +01:00
Robert K
c6400fd30a SimulatorFullyImplicitBlackoilOutput: warn when end of file was reached. 2015-02-11 13:18:07 +01:00
Robert K
a834e55f5a BlackoilOutputWriter: added support for backup and restore.
This first implementation is mainly to support faster debugging.
2015-02-11 13:18:07 +01:00
Robert K
0323624e3e convergenceReduction: remove warning. 2015-02-10 13:08:16 +01:00
Liu Ming
6cd0c47b94 support MINPVF. 2015-02-09 11:27:10 +08:00
Robert K
2068b7ea16 Revision of black oil output. Put everything into a class following the OutputWriter
interface.
2015-02-05 14:39:47 +01:00
Tor Harald Sandve
2f32afd36d Hardcode bhp limit for WCONHIST/RESV to 1 atm.
TODO: Allow WELTARG to change the bhp limit
2015-02-05 09:41:37 +01:00
Andreas Lauser
ff09e87787 add the glue code required for temperature dependent viscosity 2015-02-03 15:27:38 +01:00
Atgeirr Flø Rasmussen
3d8209abe4 Merge pull request #283 from blattms/restructure-newton-convergence-for-parallelization
Restructure newton convergence for parallelization
2015-01-30 15:38:25 +01:00
Markus Blatt
60c0f30388 Use const where appropriate and polish code formatting. 2015-01-30 15:26:55 +01:00
Markus Blatt
9d2d942396 Prevent copying of pore volume vector. 2015-01-30 15:26:33 +01:00
Markus Blatt
267bf39e4a Use idx to access to access the phases.
In cases where not all phases are active, there no phase positions for
inactive phases and the computation may crash.
2015-01-30 15:23:12 +01:00
Atgeirr Flø Rasmussen
e6a053a392 Merge pull request #291 from blattms/fixes-issue-290
Fixes raisal of assertion in Eigen because of empty vector and matrices. Fixes #290
2015-01-30 15:12:48 +01:00
Atgeirr Flø Rasmussen
a8b715893f Merge pull request #289 from totto82/vap_der
Include derivatives of vappars
2015-01-30 15:06:16 +01:00
Atgeirr Flø Rasmussen
69c1a660a8 Merge pull request #287 from qilicun/update_pv
Use original grid cell volume to compute pore volume.
2015-01-30 15:00:34 +01:00
Markus Blatt
7c8f992a2d Fixes raisal of assertion in Eigen because of empty vector and matrices.
Apparently Eigen cannot handle empty containers during reserve correctly.
Therfore we check for the size of the vector and if it is zero simply create
empty jacobians.

Closes #290
2015-01-29 17:14:09 +01:00