19 #ifndef FIELDPROPS_MANAGER_HPP 20 #define FIELDPROPS_MANAGER_HPP 24 #include <string_view> 25 #include <unordered_map> 33 namespace Fieldprops {
35 template<
typename T>
struct FieldData;
40 class NumericalAquifers;
50 const std::size_t ncomps = 0);
53 virtual void reset_actnum(
const std::vector<int>& actnum);
55 const std::string& default_region()
const;
56 virtual std::vector<int> actnum()
const;
57 virtual std::vector<double> porv(
bool global =
false)
const;
60 void apply_schedule_keywords(
const std::vector<DeckKeyword>& keywords);
71 std::size_t active_size()
const;
131 template <
typename T>
132 std::vector<T> get_copy(
const std::string& keyword,
bool global=
false)
const;
143 template <
typename T>
144 const std::vector<T>* try_get(
const std::string& keyword)
const;
151 template <
typename T>
152 std::vector<bool> defaulted(
const std::string& keyword)
const;
164 template <
typename T>
165 static bool supported(
const std::string& keyword);
174 template <
typename T>
175 std::vector<std::string> keys()
const;
177 virtual std::vector<std::string> fip_regions()
const;
180 get_int_field_data(
const std::string& keyword)
const;
188 virtual const std::vector<int>& get_int(
const std::string& keyword)
const {
return this->get<int>(keyword); }
189 virtual std::vector<int> get_global_int(
const std::string& keyword)
const {
return this->get_global<int>(keyword); }
191 virtual const std::vector<double>& get_double(
const std::string& keyword)
const {
return this->get<double>(keyword); }
192 virtual std::vector<double> get_global_double(
const std::string& keyword)
const {
return this->get_global<double>(keyword); }
194 virtual bool has_int(
const std::string& keyword)
const {
return this->has<int>(keyword); }
195 virtual bool has_double(
const std::string& keyword)
const {
return this->has<double>(keyword); }
228 virtual bool tran_active(
const std::string& keyword)
const;
239 virtual void apply_tran(
const std::string& keyword, std::vector<double>& tran_data)
const;
248 std::vector<double>& data)
const;
252 const std::unordered_map<std::string,Fieldprops::TranCalculator>& getTran()
const;
254 void prune_global_for_schedule_run();
256 void set_active_indices(
const std::vector<int>& indices);
275 template <
typename T>
276 const std::vector<T>&
get(
const std::string& keyword)
const;
283 template <
typename T>
284 bool has(
const std::string& keyword)
const;
291 template <
typename T>
292 std::vector<T> get_global(
const std::string& keyword)
const;
294 std::shared_ptr<FieldProps> fp;
297 template<
class MapType>
298 void apply_tran(
const std::unordered_map<std::string, Fieldprops::TranCalculator>& tran,
299 const MapType& double_data,
300 std::size_t active_size,
301 const std::string& keyword, std::vector<double>& data);
303 template<
class MapType>
305 const MapType& double_data,
306 const std::vector<std::size_t>& indices,
307 std::vector<double>& data);
Definition: TranCalculator.hpp:43
Definition: FieldPropsManager.hpp:42
About cell information and dimension: The actual grid information is held in a pointer to an ERT ecl_...
Definition: EclipseGrid.hpp:62
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
bool is_usable() const
Whether we can call methods on the manager.
Definition: FieldPropsManager.cpp:109
void apply_tranz_global(const std::vector< std::size_t > &indices, std::vector< double > &data) const
Apply TRANZ modifiers using global indices.
Definition: FieldPropsManager.cpp:221
Definition: TableManager.hpp:66
Definition: FieldData.hpp:71
const Fieldprops::FieldData< double > & get_double_field_data(const std::string &keyword, bool allow_unsupported=false) const
Get double field data associated with a keyword.
Definition: FieldPropsManager.cpp:144
Definition: NumericalAquifers.hpp:38
Definition: Runspec.hpp:45