Atgeirr Flø Rasmussen
c64222ce33
Avoid unused argument warning.
2015-07-09 13:37:20 +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
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
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
ae6caaac61
Move parallel overload into HAVE_MPI block.
2015-06-19 14:06:27 +02:00
Atgeirr Flø Rasmussen
f3623270cc
Fix case in include statement.
2015-06-19 13:35:36 +02:00
Atgeirr Flø Rasmussen
700ce9e13d
Move forming interleaved matrix to own function/
2015-06-19 11:33:30 +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
Atgeirr Flø Rasmussen
5476b7a6ac
Clean up headers, copyright.
2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen
ca74b18784
Add missing include.
2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen
4eb77bebb4
Further cleanup: includes, copyright, whitespace.
2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen
9e28857933
Remove functions that were moved to NewtonIterationUtilities.
2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen
c8cae85ea2
Move functions needed by several NewtonIteration-classes to separate file.
2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen
d86de7bb79
Only use pressure jacobian to form sparsity pattern.
...
Also clean up by eliminating commented-out debugging code.
2015-06-19 10:53:33 +02:00
Atgeirr Flø Rasmussen
8cbce1bfdf
Working interleaved solver implemented.
2015-06-19 10:53:32 +02:00
Atgeirr Flø Rasmussen
8af1ea1e42
Add (disabled) experimental part, not changing the A matrix.
...
This seems to cause a significant increase in iterations and failures,
which is why it is disabled for now.
2015-06-19 10:53:32 +02:00
Atgeirr Flø Rasmussen
63285bf6f9
Remove usage of CPRPreconditioner.
2015-06-19 10:53:32 +02:00
Atgeirr Flø Rasmussen
5d0f654443
Add class NewtonIterationBlackoilInterleaved.
...
Initially it is just a copy of the NewtonIterationBlackoilCPR class.
Also, add use_interleaved parameter to use the class.
2015-06-19 10:53:32 +02:00
Atgeirr Flø Rasmussen
dd945a5d5e
Add more parameters to addWellContributionToMassBalanceEq.
...
Also: - call using asImpl(),
- remove extraAddWellEq().
2015-06-18 14:25:53 +02:00
Robert Kloefkorn
10725c0b70
Merged main program for flow and flow_cp to avoid code duplication.
2015-06-17 13:00:37 +02:00
Kai Bao
0366037fca
cleaning up to remove 'unused' warnings
2015-06-17 09:49:11 +02:00
Kai Bao
20746f65dc
assert the number of the well equations.
2015-06-16 17:03:53 +02:00
Kai Bao
f2089f5a1b
avoiding creating dx_V unnecessarily
...
by using dx.array() in function solveWellEq().
2015-06-16 17:03:53 +02:00
Kai Bao
919286d700
removing repeated code by using do_while
...
in function solveWellEq().
2015-06-16 17:03:53 +02:00
Kai Bao
f8e35535fc
using lower case for solve_wellEq_initially_
2015-06-16 17:03:53 +02:00
Kai Bao
0f123a8890
correcting typo in 'to large'
2015-06-16 17:03:53 +02:00
Kai Bao
6f388f5b6d
correcting the indentation in updateWellState()
2015-06-16 17:03:53 +02:00
Kai Bao
7e9014f155
changing dx to dwells in defination of updateWellState
2015-06-16 17:03:53 +02:00
Kai Bao
285d777937
removing the unused dqs and dbhp
...
in function updateState
2015-06-16 17:03:53 +02:00
Kai Bao
043d542e29
check wellsActive() before handling well equations in assemble()
2015-06-16 17:03:53 +02:00
Kai Bao
079c3a467f
adding a space after comma between function agruments
2015-06-16 17:03:53 +02:00
Kai Bao
ce7ca517cd
5 blank lines between functions in BlackoilModelBase_impl
2015-06-16 17:03:52 +02:00
Kai Bao
df5bd78d0c
change the '2' to 'To' in addWellContribution2MassBalanceEqi
2015-06-16 17:03:52 +02:00
Kai Bao
14dbc9e7be
removing s from the name of function variableWellStateIndices()
2015-06-16 17:03:52 +02:00
Tor Harald Sandve
8a166ebbd6
Add option for solving the wellEq seperatly
...
The well equations is solved seperatly in order to provide more accurate
initinal values to the reservoir model.
2015-06-16 17:03:52 +02:00
Tor Harald Sandve
86922e45e6
Seperate wells stuff from the reservoir stuff
...
The seperation is done in order to better accommodate solving the well
equation seperatly.
2015-06-16 17:03:52 +02:00
Atgeirr Flø Rasmussen
512d18a669
Create solver and model parameters only once.
2015-06-01 13:07:45 +02:00
Atgeirr Flø Rasmussen
af9a5992a3
Merge pull request #389 from andlaus/simplify_simulator
...
Simplify simulator
2015-05-29 15:46:38 +02:00
Atgeirr Flø Rasmussen
9b30e2e0d7
Use unique_ptr instead of shared and raw pointers.
2015-05-29 14:57:49 +02:00
Atgeirr Flø Rasmussen
2bec485184
Fix a few warnings.
2015-05-29 14:57:30 +02:00
Andreas Lauser
496c32d2a6
do not use std::shared_ptr where it is deemed inappropriate by the maintainers
...
note that I don't agree with this change and will assume no
responsibility if something goes down the gutter.
2015-05-29 14:34:47 +02:00