63 MULTREGT::NNCBehaviourEnum nnc_behaviour;
64 std::string region_name;
68 return (src_value == data.src_value)
69 && (target_value == data.target_value)
70 && (trans_mult == data.trans_mult)
71 && (directions == data.directions)
72 && (nnc_behaviour == data.nnc_behaviour)
73 && (region_name == data.region_name)
77 template<
class Serializer>
80 serializer(src_value);
81 serializer(target_value);
82 serializer(trans_mult);
83 serializer(directions);
84 serializer(nnc_behaviour);
85 serializer(region_name);
96 const std::vector<const DeckKeyword*>& keywords);
103 void applyNumericalAquifer(
const std::vector<std::size_t>& aquifer_cells);
105 double getRegionMultiplier(std::size_t globalCellIdx1,
106 std::size_t globalCellIdx2,
107 FaceDir::DirEnum faceDir)
const;
109 double getRegionMultiplierNNC(std::size_t globalCellIdx1,
110 std::size_t globalCellIdx2)
const;
112 template <
class Serializer>
115 serializer(gridDims);
117 serializer(m_records);
118 serializer(m_records_same);
119 serializer(m_searchMap);
122 serializer(aquifer_cells);
128 using MULTREGTSearchMap = std::map<
130 std::vector<MULTREGTRecord>::size_type
142 template<
typename ApplyDecision,
typename RegPairFound>
143 double applyMultiplierDifferentRegion(
const std::array<MULTREGTSearchMap,2>& regMaps,
145 std::size_t regionId1,
146 std::size_t regionId2,
147 const ApplyDecision& applyMultiplier,
148 const RegPairFound& regPairFound)
const;
163 template<
typename ApplyDecision,
typename RegPairFound>
164 double applyMultiplierSameRegion(
const std::array<MULTREGTSearchMap,2>& regMaps,
166 std::size_t regionId1,
167 std::size_t regionId2,
168 const ApplyDecision& applyMultiplier,
169 const RegPairFound& regPairFound)
const;
171 void fillSearchMap(
const std::vector<MULTREGTRecord>& records);
178 std::vector<MULTREGTRecord> m_records{};
185 std::vector<MULTREGTRecord> m_records_same{};
186 std::map<std::string, std::array<MULTREGTSearchMap,2>> m_searchMap{};
187 std::map<std::string, std::vector<int>> regions{};
188 std::vector<std::size_t> aquifer_cells{};
192 bool isAquNNC(std::size_t globalCellIdx1, std::size_t globalCellIdx2)
const;
193 bool isAquCell(std::size_t globalCellIdx)
const;
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30