diff --git a/opm/input/eclipse/EclipseState/Grid/FaceDir.hpp b/opm/input/eclipse/EclipseState/Grid/FaceDir.hpp index 8200bd7ab..c5d913993 100644 --- a/opm/input/eclipse/EclipseState/Grid/FaceDir.hpp +++ b/opm/input/eclipse/EclipseState/Grid/FaceDir.hpp @@ -28,12 +28,13 @@ namespace Opm { namespace FaceDir { enum DirEnum { - XPlus = 1, - XMinus = 2, - YPlus = 4, - YMinus = 8, - ZPlus = 16, - ZMinus = 32 + Unknown = 0, + XPlus = 1, + XMinus = 2, + YPlus = 4, + YMinus = 8, + ZPlus = 16, + ZMinus = 32 }; /** The MULTREGTScanner will use these values as bitmaps; diff --git a/src/opm/input/eclipse/EclipseState/Grid/FaceDir.cpp b/src/opm/input/eclipse/EclipseState/Grid/FaceDir.cpp index a88f00708..977b7ae21 100644 --- a/src/opm/input/eclipse/EclipseState/Grid/FaceDir.cpp +++ b/src/opm/input/eclipse/EclipseState/Grid/FaceDir.cpp @@ -18,11 +18,11 @@ */ #include +#include #include #include - namespace Opm { namespace FaceDir { @@ -75,18 +75,23 @@ namespace Opm { const std::string toString(DirEnum dir) { std::vector ret; - if (dir & DirEnum::XPlus) - ret.push_back("X+"); - if (dir & DirEnum::XMinus) - ret.push_back("X-"); - if (dir & DirEnum::YPlus) - ret.push_back("Y+"); - if (dir & DirEnum::YMinus) - ret.push_back("Y-"); - if (dir & DirEnum::ZPlus) - ret.push_back("Z+"); - if (dir & DirEnum::ZMinus) - ret.push_back("Z-"); + if (dir == DirEnum::Unknown) { + ret.push_back("Unknown"); + } + else { + if (dir & DirEnum::XPlus) + ret.push_back("X+"); + if (dir & DirEnum::XMinus) + ret.push_back("X-"); + if (dir & DirEnum::YPlus) + ret.push_back("Y+"); + if (dir & DirEnum::YMinus) + ret.push_back("Y-"); + if (dir & DirEnum::ZPlus) + ret.push_back("Z+"); + if (dir & DirEnum::ZMinus) + ret.push_back("Z-"); + } if (ret.size() == 0) throw std::runtime_error("This should not happen"); return fmt::format("{}",fmt::join(ret, "|"));