Merge pull request #5013 from akva2/janitoring

Some janitoring
This commit is contained in:
Arne Morten Kvarving 2023-11-22 08:33:19 +01:00 committed by GitHub
commit 2829ee1f9b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 75 deletions

View File

@ -17,7 +17,6 @@
#ifndef OPM_DILU_HEADER_INCLUDED #ifndef OPM_DILU_HEADER_INCLUDED
#define OPM_DILU_HEADER_INCLUDED #define OPM_DILU_HEADER_INCLUDED
#include <config.h>
#include <opm/common/ErrorMacros.hpp> #include <opm/common/ErrorMacros.hpp>
#include <opm/common/TimingMacros.hpp> #include <opm/common/TimingMacros.hpp>
#include <opm/simulators/linalg/PreconditionerWithUpdate.hpp> #include <opm/simulators/linalg/PreconditionerWithUpdate.hpp>
@ -189,4 +188,4 @@ private:
} // namespace Dune } // namespace Dune
#endif #endif

View File

@ -15,14 +15,12 @@
void checkAllIndices(const std::vector<std::size_t>& ordering) void checkAllIndices(const std::vector<std::size_t>& ordering)
{ {
std::vector<int> counters(ordering.size(), 0); std::vector<int> counters(ordering.size(), 0);
for(auto index: ordering) for (auto index : ordering) {
{
++counters[index]; ++counters[index];
} }
for(auto count: counters) for (auto count : counters) {
{ BOOST_CHECK(count == 1);
BOOST_CHECK(count==1);
} }
} }
@ -32,28 +30,22 @@ BOOST_AUTO_TEST_CASE(TestWelschPowell)
using Graph = Dune::Amg::MatrixGraph<Matrix>; using Graph = Dune::Amg::MatrixGraph<Matrix>;
int N = 10; int N = 10;
Matrix matrix(N*N, N*N, 5, 0.4, Matrix::implicit); Matrix matrix(N*N, N*N, 5, 0.4, Matrix::implicit);
for( int j = 0; j < N; j++) for (int j = 0; j < N; j++) {
{ for (int i = 0; i < N; i++) {
for(int i = 0; i < N; i++) auto index = j * 10 + i;
{
auto index = j*10+i;
matrix.entry(index,index) = 1; matrix.entry(index,index) = 1;
if ( i > 0 ) if (i > 0) {
{
matrix.entry(index,index-1) = 1; matrix.entry(index,index-1) = 1;
} }
if ( i < N - 1) if (i < N - 1) {
{
matrix.entry(index,index+1) = 1; matrix.entry(index,index+1) = 1;
} }
if ( j > 0 ) if (j > 0) {
{
matrix.entry(index,index-N) = 1; matrix.entry(index,index-N) = 1;
} }
if ( j < N - 1) if (j < N - 1) {
{
matrix.entry(index,index+N) = 1; matrix.entry(index,index+N) = 1;
} }
@ -71,13 +63,11 @@ BOOST_AUTO_TEST_CASE(TestWelschPowell)
// Check for checkerboard coloring // Check for checkerboard coloring
for( int j = 0, index = 0; j < N; j++) for (int j = 0, index = 0; j < N; j++) {
{
auto expectedColor = firstCornerColor; auto expectedColor = firstCornerColor;
for(int i = 0; i < N; i++) for (int i = 0; i < N; i++) {
{ BOOST_CHECK(colors[index] == expectedColor);
BOOST_CHECK(colors[index]==expectedColor);
index++; index++;
expectedColor = (expectedColor + 1) % 2; expectedColor = (expectedColor + 1) % 2;
} }
@ -90,8 +80,7 @@ BOOST_AUTO_TEST_CASE(TestWelschPowell)
verticesPerColor.begin()+verticesPerColor.size()-1, verticesPerColor.begin()+verticesPerColor.size()-1,
colorIndex.begin()+1); colorIndex.begin()+1);
for (auto vertex : graph) for (auto vertex : graph) {
{
BOOST_CHECK(colorIndex[colors[vertex]]++ == newOrder[vertex]); BOOST_CHECK(colorIndex[colors[vertex]]++ == newOrder[vertex]);
} }
checkAllIndices(newOrder); checkAllIndices(newOrder);
@ -123,12 +112,10 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms3x3Matrix)
for (auto row = testMatrix.createbegin(); row != testMatrix.createend(); ++row) { for (auto row = testMatrix.createbegin(); row != testMatrix.createend(); ++row) {
if (row.index() == 0) { if (row.index() == 0) {
row.insert(row.index()); row.insert(row.index());
} } else if (row.index() == 1) {
else if (row.index() == 1) {
row.insert(row.index()); row.insert(row.index());
row.insert(row.index() + 1); row.insert(row.index() + 1);
} } else if (row.index() == 2) {
else if (row.index() == 2) {
row.insert(row.index() - 1); row.insert(row.index() - 1);
row.insert(row.index()); row.insert(row.index());
} }
@ -144,8 +131,8 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms3x3Matrix)
std::vector<std::vector<std::size_t>> correctColor = {{0, 1}, {2}}; std::vector<std::vector<std::size_t>> correctColor = {{0, 1}, {2}};
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i) {
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
@ -153,16 +140,16 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms3x3Matrix)
coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::UPPER); coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::UPPER);
correctColor = {{0, 2}, {1}}; correctColor = {{0, 2}, {1}};
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i) {
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::LOWER); coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::LOWER);
correctColor = {{0, 1}, {2}}; correctColor = {{0, 1}, {2}};
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i) {
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
@ -191,20 +178,16 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms5x5Simple)
row.insert(row.index()); row.insert(row.index());
row.insert(row.index()+1); row.insert(row.index()+1);
row.insert(row.index()+2); row.insert(row.index()+2);
} } else if (row.index() == 1) {
else if (row.index() == 1) {
row.insert(row.index()); row.insert(row.index());
row.insert(row.index() - 1); row.insert(row.index() - 1);
} } else if (row.index() == 2) {
else if (row.index() == 2) {
row.insert(row.index() - 2); row.insert(row.index() - 2);
row.insert(row.index()); row.insert(row.index());
row.insert(row.index() + 1); row.insert(row.index() + 1);
} } else if (row.index() == 3) {
else if (row.index() == 3) {
row.insert(row.index()); row.insert(row.index());
} } else if (row.index() == 4) {
else if (row.index() == 4) {
row.insert(row.index() - 1); row.insert(row.index() - 1);
row.insert(row.index()); row.insert(row.index());
} }
@ -226,8 +209,8 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms5x5Simple)
std::vector<std::vector<std::size_t>> correctColor = {{0, 3, 4}, {1, 2}}; std::vector<std::vector<std::size_t>> correctColor = {{0, 3, 4}, {1, 2}};
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i) {
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
@ -235,8 +218,8 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms5x5Simple)
coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::UPPER); coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::UPPER);
correctColor = {{1, 3, 4}, {2}, {0}}; correctColor = {{1, 3, 4}, {2}, {0}};
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i) {
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
@ -244,8 +227,8 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms5x5Simple)
coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::LOWER); coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::LOWER);
correctColor = {{0, 3}, {1, 2, 4}}; correctColor = {{0, 3}, {1, 2, 4}};
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i) {
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
@ -274,13 +257,11 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms5x5Tridiagonal)
if (row.index() == 0) { if (row.index() == 0) {
row.insert(row.index()); row.insert(row.index());
row.insert(row.index()+1); row.insert(row.index()+1);
} } else if (row.index() > 0 && row.index() < 4) {
else if (row.index() > 0 && row.index() < 4) {
row.insert(row.index() - 1); row.insert(row.index() - 1);
row.insert(row.index()); row.insert(row.index());
row.insert(row.index() + 1); row.insert(row.index() + 1);
} } else if (row.index() == 4) {
else if (row.index() == 4) {
row.insert(row.index() - 1); row.insert(row.index() - 1);
row.insert(row.index()); row.insert(row.index());
} }
@ -305,15 +286,15 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms5x5Tridiagonal)
std::vector<std::vector<std::size_t>> correctColor = {{0}, {1}, {2}, {3}, {4}}; std::vector<std::vector<std::size_t>> correctColor = {{0}, {1}, {2}, {3}, {4}};
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i){
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::LOWER); coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::LOWER);
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i) {
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
@ -322,8 +303,8 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms5x5Tridiagonal)
coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::UPPER); coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::UPPER);
correctColor = {{4}, {3}, {2}, {1}, {0}}; correctColor = {{4}, {3}, {2}, {1}, {0}};
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i) {
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
@ -353,22 +334,18 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms5x5Complex)
row.insert(row.index()+1); row.insert(row.index()+1);
row.insert(row.index()+2); row.insert(row.index()+2);
row.insert(row.index()+4); row.insert(row.index()+4);
} } else if (row.index() == 1) {
else if (row.index() == 1) {
row.insert(row.index() - 1); row.insert(row.index() - 1);
row.insert(row.index()); row.insert(row.index());
row.insert(row.index() + 2); row.insert(row.index() + 2);
} } else if (row.index() == 2) {
else if (row.index() == 2) {
row.insert(row.index() - 2); row.insert(row.index() - 2);
row.insert(row.index()); row.insert(row.index());
row.insert(row.index() + 2); row.insert(row.index() + 2);
} } else if (row.index() == 3) {
else if (row.index() == 3) {
row.insert(row.index() - 2); row.insert(row.index() - 2);
row.insert(row.index()); row.insert(row.index());
} } else if (row.index() == 4) {
else if (row.index() == 4) {
row.insert(row.index() - 4); row.insert(row.index() - 4);
row.insert(row.index() - 2); row.insert(row.index() - 2);
row.insert(row.index()); row.insert(row.index());
@ -395,16 +372,16 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms5x5Complex)
std::vector<std::vector<std::size_t>> correctColor = {{0}, {1, 2}, {3, 4}}; std::vector<std::vector<std::size_t>> correctColor = {{0}, {1, 2}, {3, 4}};
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i) {
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::LOWER); coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::LOWER);
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i) {
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
@ -412,9 +389,9 @@ BOOST_AUTO_TEST_CASE(TestColoredDiluParallelisms5x5Complex)
coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::UPPER); coloring = Opm::getMatrixRowColoring(testMatrix, Opm::ColoringType::UPPER);
correctColor = {{3, 4}, {1, 2}, {0}}; correctColor = {{3, 4}, {1, 2}, {0}};
for (std::size_t i = 0; i < correctColor.size(); ++i){ for (std::size_t i = 0; i < correctColor.size(); ++i) {
for (std::size_t j = 0; j < correctColor[i].size(); ++j){ for (std::size_t j = 0; j < correctColor[i].size(); ++j) {
BOOST_CHECK(coloring[i][j] == correctColor[i][j]); BOOST_CHECK(coloring[i][j] == correctColor[i][j]);
} }
} }
} }