#ifndef _BENCH_DEFS_HPP #define _BENCH_DEFS_HPP #include #include struct init_boundary { const std::vector north_const; const std::vector south_const; const std::vector east_const; const std::vector west_const; const std::vector values; }; struct bench_input { const std::string csv_file_init; const std::string csv_alpha_x; const std::string csv_alpha_y; const std::size_t ncols; const std::size_t nrows; const double s_x; const double s_y; const init_boundary boundary; const double timestep; const int iterations; }; static bench_input barite_200_input = { .csv_file_init = "@BARITE_200_BENCH@/barite_200_init.csv", .csv_alpha_x = "@BARITE_200_BENCH@/alpha_x.csv", .csv_alpha_y = "@BARITE_200_BENCH@/alpha_y.csv", .ncols = 200, .nrows = 200, .s_x = 1, .s_y = 1, .boundary = {.north_const = {0, 1, 2, 3, 4}, .south_const = {}, .east_const = {}, .west_const = {0, 1, 2, 3, 4}, .values = {111.0124, 55.50622, -3.336970273297e-08, 0.1, 0.2, .0, .0}}, .timestep = 1000, .iterations = 50 }; // static bench_input barite_large_input = { // .csv_file_init = "@BARITE_LARGE_BENCH@/barite_large.csv", // .csv_alpha_x = "@BARITE_LARGE_BENCH@/alpha_x.csv", // .csv_alpha_y = "@BARITE_LARGE_BENCH@/alpha_y.csv", // .ncols = 2000, // .nrows = 1000, // .s_x = 20, // .s_y = 10, // .boundary = {.north_const = {}, // .south_const = {}, // .east_const = {}, // .west_const = {}, // .values = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}}, // .timestep = 50, // .iterations = 10 // }; // static const std::vector gen_vec(int elems) { // std::vector vec(elems); // for (int i = 0; i < elems; i++) { // vec[i] = i; // } // return vec; // } // static bench_input surfex_input = { // .csv_file_init = "@SURFEX_BENCH@/surfex.csv", // .csv_alpha_x = "@SURFEX_BENCH@/alpha_x.csv", // .csv_alpha_y = "@SURFEX_BENCH@/alpha_y.csv", // .ncols = 1000, // .nrows = 1000, // .s_x = 100, // .s_y = 100, // .boundary = {.north_const = gen_vec(500), // .south_const = {}, // .east_const = {}, // .west_const = {}, // .values = {0.147659686316291, 0.0739242798146046, // 7.46361643222701e-20, 2.92438561098248e-21, // 2.65160558871092e-06, 2.89001071336443e-05, // 0.000429291158114428, 1.90823391198114e-07, // 3.10832423034763e-12, 2.7888235127385e-15, // 2.5301787e-06, 2.31391999937907e-05, // 0.00036746969, 1.01376078438546e-14, // 1.42247026981542e-19, 9.49422092568557e-18, // 2.19812504654191e-05, 6.01218519999999e-07, // 4.82255946569383e-12, 5.49050615347901e-13, // 1.32462838991902e-09}}, // .timestep = 200, // .iterations = 10 // }; #endif // _BENCH_DEFS_HPP