also:
-- fixed but not checked for diffusion
-- bug for zero thermal diffusion (nan in derivatives)
-- added checking of consistency between input and taged phases
when local_well_solver_control_switching_ is off
and incoporating commenst regarding resetting wellStatus_ in StandardWell within
the function iterateWellEqWithSwitching.
when we do the local solve for well equations, control/status will be
updated during the iteration process, such that the converged well gets
correct control/status regarding to the current reservoir state.
various change in the other parts of the code were made to make the
function work as intended.
This commit switches the region set tag matching algorithm to using
unique prefixes. This enables the simulator to recognise that the
region set name
FIPUNI
should match up with the user defined region set 'FIPUNIT'. In the
current master sources, the above summary vector would produce a
diagnostic message saying that the region set 'FIPUNI' (without the
final 'T') does not exist.
To this end, we instruct the ParallelEclipseState to always pass the
six character substring beginning with 'FIP' for FIP-like region
arrays and defer to the rank-0 EclipseState/FieldProps mechanism to
match this prefix with its canonical region set.
This commit separates the computation of hydrocarbon pore-volumes
out from the context of average pressure values. These pore-volumes
go into the xHPV summary vectors and are, therefore, useful in their
own right-not just as a means to computing average pressure values.
Previously, we did a global summation of the size of the
well_perf_data vector to determine the number of perforations
of a well. In the case of distributed wells this will try to access
more perforations than stored for the well in well_perf_data and hence
might use data from cells that actually are not perforated by this
cell. Note that for well not distributed the code worked as the
summation has no effect.
This commit changes this to only query peforations on the
local process. This should be enough to fix this problem.
In addition it removes the computation of connpos which is never used.
Two tests include ebos.hh, but probably should not: test_glift1 and test_RestartSerialization.
This change restores the build for those tests. Removing ebos.hh from their inclusion list
should be done, but currently exposes that some other headers are not properly standalone,
so it is a bit more work to do.
This commit splits updateFluidInPlace_() into several smaller helper
functions, each with a narrow purpose. They're all just called from
the original call site--the body of updateFluidInPlace_()--but this
new version is, in my opinion, easier to reason about and there is
less shared state.
In anticipation of adding support for summary vectors FHPV and RHPV
(field and region levels of hydrocarbon pore-volumes), we also split
the pore-volume updates out to a branch separate from that needed
for average pressure calculations.
Step one for moving Damaris calls out of EclWriter class and into its own DamarisWriter class;
EclProblem now calls both writeOutput methods and passes in the data::Solution object;
Add fix for first writeOutput() call not having PRESSURE data available;
data::Solution is now passed by rvalue ref into eclWriter::writeOutput();
guard added to prevent inclusion of damariswriter.hh