20#ifndef PAVE_CALC_COLLECTIONHPP
21#define PAVE_CALC_COLLECTIONHPP
27#include <unordered_map>
57 std::vector<bool>(
const std::vector<std::size_t>&)>;
130 using CalcIndex = std::vector<CalculatorPtr>::size_type;
133 std::unordered_map<std::size_t, CalcIndex> index_{};
136 std::vector<CalculatorPtr> calculators_{};
Collection of WBPn calculation objects, one for each well.
Definition PAvgCalculatorCollection.hpp:38
void pruneInactiveWBPCells(ActivePredicate isActive)
Discard inactive source locations from all WBPn calculation objects.
Definition PAvgCalculatorCollection.cpp:57
std::size_t setCalculator(const std::size_t wellID, CalculatorPtr calculator)
Assign/register a WBPn calculation object for a single well.
Definition PAvgCalculatorCollection.cpp:38
~PAvgCalculatorCollection()=default
Destructor.
PAvgCalculatorCollection & operator=(const PAvgCalculatorCollection &)=delete
Assignment operator.
std::unique_ptr< PAvgCalculator > CalculatorPtr
Wrapper for a WBPn calclation object.
Definition PAvgCalculatorCollection.hpp:44
std::size_t numCalculators() const
Number of WBPn calculation objects owned by this collection.
Definition PAvgCalculatorCollection.cpp:99
std::vector< std::size_t > allWBPCells() const
Union of all distinct/unique cells/source locations contributing to this complete collection of WBPn ...
Definition PAvgCalculatorCollection.cpp:104
PAvgCalculatorCollection(PAvgCalculatorCollection &&)=default
Move constructor.
std::function< std::vector< bool >(const std::vector< std::size_t > &)> ActivePredicate
Predicate for whether or not a particular source location is active.
Definition PAvgCalculatorCollection.hpp:57
PAvgCalculator & operator[](const std::size_t i)
Access mutable WBPn calculation object.
Definition PAvgCalculatorCollection.cpp:83
PAvgCalculatorCollection(const PAvgCalculatorCollection &)=delete
Copy constructor.
bool empty() const
Whether or not this collection has any WBPn calculation objects.
Definition PAvgCalculatorCollection.cpp:94
PAvgCalculatorCollection()=default
Default constructor.
PAvgCalculatorCollection & operator=(PAvgCalculatorCollection &&)=default
Move-assignment operator.
Facility for deriving well-level pressure values from selected block-averaging procedures.
Definition PAvgCalculator.hpp:49
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30