61 template <
typename Comm>
62 void communicate(
const Comm& comm) {
63 auto size = this->m_in_injecting_group.size();
64 comm.sum( this->m_in_injecting_group.data(), size);
65 comm.sum( this->m_in_producing_group.data(), size);
66 comm.sum( this->m_is_open.data(), size);
67 comm.min( this->m_efficiency_scaling_factors.data(), size);
68 is_rank0_ = (comm.rank() == 0);
74 bool in_producing_group(
const std::string&
wname)
const;
75 bool in_injecting_group(
const std::string&
wname)
const;
76 bool is_open(
const std::string&
wname)
const;
77 std::size_t well_index(
const std::string&
wname)
const;
78 const std::string& well_name(std::size_t well_index)
const;
81 void update_efficiency_scaling_factor(std::size_t well_index,
const Scalar efficiency_scaling_factor);
82 Scalar efficiency_scaling_factor(
const std::string&
wname)
const;
87 std::vector<std::size_t> local_map;
89 std::map<std::string, std::size_t> name_map;
90 std::vector<int> m_in_injecting_group;
91 std::vector<int> m_in_producing_group;
92 std::vector<int> m_is_open;
93 std::vector<Scalar> m_efficiency_scaling_factors;
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:242