Apply EDITNNCR information to tranmissibilities.

This commit is contained in:
Markus Blatt 2023-03-31 20:51:39 +02:00
parent c693f0f50c
commit 20af10e2c6
2 changed files with 17 additions and 0 deletions

View File

@ -478,6 +478,7 @@ update(bool global, const std::function<unsigned int(unsigned int)>& map)
} }
applyEditNncToGridTrans_(globalToLocal); applyEditNncToGridTrans_(globalToLocal);
applyNncToGridTrans_(globalToLocal); applyNncToGridTrans_(globalToLocal);
applyEditNncrToGridTrans_(globalToLocal);
//remove very small non-neighbouring transmissibilities //remove very small non-neighbouring transmissibilities
removeSmallNonCartesianTransmissibilities_(); removeSmallNonCartesianTransmissibilities_();
@ -898,6 +899,19 @@ applyEditNncToGridTrans_(const std::unordered_map<std::size_t,int>& globalToLoca
[](double& trans, const double& rhs){ trans *= rhs;}); [](double& trans, const double& rhs){ trans *= rhs;});
} }
template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
void EclTransmissibility<Grid,GridView,ElementMapper,CartesianIndexMapper,Scalar>::
applyEditNncrToGridTrans_(const std::unordered_map<std::size_t,int>& globalToLocal)
{
const auto& input = eclState_.getInputNNC();
applyEditNncToGridTransHelper_(globalToLocal, "EDITNNCR",
input.editr(),
[&input](const NNCdata& nnc){
return input.editr_location(nnc);},
// Replace Transmissibility with EDITNNCR value
[](double& trans, const double& rhs){ trans = rhs;});
}
template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar> template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
void EclTransmissibility<Grid,GridView,ElementMapper,CartesianIndexMapper,Scalar>:: void EclTransmissibility<Grid,GridView,ElementMapper,CartesianIndexMapper,Scalar>::
applyEditNncToGridTransHelper_(const std::unordered_map<std::size_t,int>& globalToLocal, applyEditNncToGridTransHelper_(const std::unordered_map<std::size_t,int>& globalToLocal,

View File

@ -201,6 +201,9 @@ protected:
/// \brief Multiplies the grid transmissibilities according to EDITNNC. /// \brief Multiplies the grid transmissibilities according to EDITNNC.
void applyEditNncToGridTrans_(const std::unordered_map<std::size_t,int>& globalToLocal); void applyEditNncToGridTrans_(const std::unordered_map<std::size_t,int>& globalToLocal);
/// \brief Resets the grid transmissibilities according to EDITNNCR.
void applyEditNncrToGridTrans_(const std::unordered_map<std::size_t,int>& globalToLocal);
void applyEditNncToGridTransHelper_(const std::unordered_map<std::size_t,int>& globalToLocal, void applyEditNncToGridTransHelper_(const std::unordered_map<std::size_t,int>& globalToLocal,
const std::string& keyword, const std::vector<NNCdata>& nncs, const std::string& keyword, const std::vector<NNCdata>& nncs,
const std::function<KeywordLocation(const NNCdata&)>& getLocation, const std::function<KeywordLocation(const NNCdata&)>& getLocation,