added temporary output
mainly rebasing
rebasing
some further attempts
fixed target calculations
remove some case specific choices
clean up
some clean up
generalised code for calculating target rate in groupControlledWells
small rebase fix
<double> replaced by <Scalar>
<double> replaced by <Scalar> (2)
before rebasing
moved common thp calculation to updateWellControls
Small fix
clean up and improvements according reviewer comments
clean up and improvements according reviewer comments, part 2
changed assessing safe THP range
rebasing fixes
removed unused argument
rebasing
HYPRE_Bigint are 64 bit integers on some platforms by default, and
can be configured as such in any case. The HYPRE API asks for
HYPRE_BigInt* so it is better to use that type rather than int.
The revised depth correction algorithm requires per-cell depth
information (in SourceDataSpan::Item::Depth) for the reservoir
contributions so honour this requirement.
This is potentially a somewhat wasteful approach since the cell
centre depth is constant throughout a simulation, but it's a simple
strategy that does not require large API and synchronisation
changes, so we nevertheless stick to this as a first implementation.
We will reduce the amount of communication if this becomes a
bottleneck.
The new loadbalancer approach will create a graph representing the grid
where all cells that a well perforates are represented by one
vertex. The weight of that cell will be the number of cells it
represents. Also the weights of the faces will be added up due to the
merging of cells. A cell that is not perforated by any well is still
represented by one vertex with weight one.
In the old default appoach the number of vertices in the grid was
equal to the number of cells. Vertex weights were not used. For each
well we added an edge between all its perforated cells for which we
did set a very edge weight to force the cells to the same process
during partitioning.
For realistic cases we have seen improvements across the board due to
this. E.g. this resolved convergence issues on hard cases. Because of
that this becomes the default with this.