Pass along the set of category-specific "extra" vectors to
'makeEntities' to avoid repeating the "extra" calls at each of the
well, group, and field levels.
This commit ensures that we also always output guiderate values to
the restart file. Always calculating these summary quantities we
leverage the restart output support added in commit 317d1ba14 (i.e.,
in PR #1792).
This commit adds an evaluation function for the GPR summary vector.
We assume that the actual value is calculated elsewhere and passed
in unchanged from the caller of Summary::eval(). We therefore need
only convert the value to output units and hook this procedure up to
the table of known output functions.
Add a simple unit test for demonstration.
This commit adds support for recognizing a small subset of the
summary quantities that are reported at the node level of an
extended network--especially the 'GPR' keyword.
Briefly, we add a new 'Node' config category and a processor for
this category which knows about the distinction between nodes and
groups. It uses member function ExtNetwork::node_names() to produce
configuration nodes whose named entity is the node rather than a
group. Deriving this list of node names across all timesteps is
potentially expensive, so perform this operation at most once and
pass the result into the processor from the SummaryConfig
constructor.
Add a simple unit test for demonstration purposes.
This commit adds a new member function
ExtNetwork::node_names() const
which collects the names (std::string) of all nodes in a network.
The immediate use case is creating summary config nodes for network
level quantities specified without explicit lists of nodes, e.g.,
GPR
/
Add a simple unit test for demonstration.
This commit adds a level of indirection to the existing group-level
data (active controls and guiderates), and adds a new 'NodeData'
level to the 'data::' protocol for transporting values from the
simulator to the output layer.
Update all call sites and users accordingly.
If the last report step happens to be split into multiple substeps
(e.g., convergence problems or TUNING settings &c), then we will
write the RSM file for each substep which will slow down the
process. This commit explicitly ensures that we don't output the
RSM file unless it is the last substep of the final report step.
We need this in opm-simulators where we need to query the
FieldProperties associated with the TranCalculator (e.g. TRANX0). Previously,
this were listed by FieldPropertiesManager::keys() but calling
get_int_field_data with the keyword would raise an exception resulting
in a deadlock.
This commit allows passing true as an additional argument to prevent
this (it gets passed to all functions called). This allows for running
with edited transmissibilities in parallel.
This is needed for communication in the simulator. Previously,
that just used the data (std::vector), but the TranCaclulator
also needs the value_status to correctly. Hence this needs
to be communicated, too.