diff --git a/opm/autodiff/MultisegmentWells_impl.hpp b/opm/autodiff/MultisegmentWells_impl.hpp index 35366b0ff..51262420e 100644 --- a/opm/autodiff/MultisegmentWells_impl.hpp +++ b/opm/autodiff/MultisegmentWells_impl.hpp @@ -828,7 +828,6 @@ namespace Opm if( msWells().empty() ) return ; - std::string modestring[4] = { "BHP", "THP", "RESERVOIR_RATE", "SURFACE_RATE" }; // Find, for each well, if any constraints are broken. If so, // switch control to first broken constraint. const int np = numPhases(); diff --git a/opm/simulators/WellSwitchingLogger.cpp b/opm/simulators/WellSwitchingLogger.cpp index a118b6ad5..d2e98ab5b 100644 --- a/opm/simulators/WellSwitchingLogger.cpp +++ b/opm/simulators/WellSwitchingLogger.cpp @@ -23,6 +23,7 @@ #endif // HAVE_CONFIG_H #include +#include namespace Opm { @@ -115,18 +116,19 @@ void WellSwitchingLogger::unpackDataAndLog(std::vector& recv_buffer, well_name_lengths.data(), well_name_lengths.size(), MPI_INT, MPI_COMM_WORLD); + std::vector well_name; for ( int i = 0; i < no_switches; ++i ) { - char well_name[well_name_lengths[i]] = {}; + well_name.resize(well_name_lengths[i]); MPI_Unpack(recv_buffer.data(), recv_buffer.size(), &offset, - well_name, well_name_lengths[i], MPI_CHAR, + well_name.data(), well_name_lengths[i], MPI_CHAR, MPI_COMM_WORLD); std::array fromto{{}}; MPI_Unpack(recv_buffer.data(), recv_buffer.size(), &offset, fromto.data(), 2, MPI_CHAR, MPI_COMM_WORLD); - logSwitch(well_name, fromto, p); + logSwitch(well_name.data(), fromto, p); } } } diff --git a/opm/simulators/WellSwitchingLogger.hpp b/opm/simulators/WellSwitchingLogger.hpp index fbc05faae..46fb40974 100644 --- a/opm/simulators/WellSwitchingLogger.hpp +++ b/opm/simulators/WellSwitchingLogger.hpp @@ -21,6 +21,7 @@ #ifndef OPM_WELLSWITCHINGLOGGER_HEADER_INCLUDED #define OPM_WELLSWITCHINGLOGGER_HEADER_INCLUDED +#include #include #include #include