20#ifndef OPM_RST_CONV_HEADER_INCLUDED
21#define OPM_RST_CONV_HEADER_INCLUDED
27#include <opm/simulators/utils/ParallelCommunication.hpp>
31namespace data {
class Solution; }
38 using LocalToGlobalCellFunc = std::function<int(
const int)>;
43 Parallel::Communication comm)
44 : globalCell_(std::move(globalCell))
52 void init(
const std::size_t numCells,
53 const RSTConfig& rst_config,
54 const std::array<int,6>& compIdx);
60 template<
class Res
idualVector>
61 void update(
const ResidualVector& resid);
67 const std::vector<std::vector<int>>&
getData()
const
86 template<
class Res
idualVector>
87 void gatherAndAccumulate(
const std::vector<int>& lIdx,
88 const ResidualVector& resid,
int comp);
90 LocalToGlobalCellFunc globalCell_;
91 Parallel::Communication comm_;
92 std::vector<std::vector<int>> cnv_X_{};
93 std::vector<int> conv_new_{};
94 std::array<int,6> compIdx_{};
void outputRestart(data::Solution &sol)
Inserts the CONV output into the restart output container.
Definition RSTConv.cpp:61
void updateNewton(const std::vector< int > &convNewt)
Adds the CONV_NEW output.
Definition RSTConv.cpp:88
bool hasConv() const
Check if CONV is required.
Definition RSTConv.cpp:78
const std::vector< std::vector< int > > & getData() const
Obtain a const-ref to the accumulated data (only used for unit testing).
Definition RSTConv.hpp:67
void update(const ResidualVector &resid)
Adds the CONV output for given residual vector.
Definition RSTConv.cpp:114
void prepareConv()
CONV_NEW is restarted at iteration 0.
Definition RSTConv.cpp:83
const std::vector< int > & getConvNew() const
Obtain a const-ref to the CONV_NEW (only used for unit testing).
Definition RSTConv.hpp:71
RSTConv(LocalToGlobalCellFunc globalCell, Parallel::Communication comm)
Constructor.
Definition RSTConv.hpp:42
void init(const std::size_t numCells, const RSTConfig &rst_config, const std::array< int, 6 > &compIdx)
Init state at beginning of step.
Definition RSTConv.cpp:37
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilbioeffectsmodules.hh:43