#ifndef _BENCH_DEFS_HPP #define _BENCH_DEFS_HPP #include #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 const std::vector gen_vec(int elems) { std::vector vec(elems); for (int i = 0; i < elems; i++) { vec[i] = i; } return vec; } static const std::vector gen_vec_rev(int from, int to) { int size = to - from+1; std::vector vec(size); for (int i = from; i < to; i++) { vec[i] = i; std::cout << "i: " << i << "\n"; } return vec; } 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_init.csv", .csv_alpha_x = "@BARITE_LARGE_BENCH@/barite_large_alpha.csv", .csv_alpha_y = "@BARITE_LARGE_BENCH@/barite_large_alpha.csv", .ncols = 1000, .nrows = 1000, .s_x = 10, .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 = 100, .iterations = 5 }; static bench_input surfex_input = { .csv_file_init = "@SURFEX_BENCH@/surfex_init.csv", .csv_alpha_x = "@SURFEX_BENCH@/surfex_alpha.csv", .csv_alpha_y = "@SURFEX_BENCH@/surfex_alpha.csv", .ncols = 200, .nrows = 100, .s_x = 0.02, .s_y = 0.01, .boundary = {.north_const = gen_vec(200), .south_const = gen_vec(200), .east_const = gen_vec(100), .west_const = gen_vec(100), .values = {120.0, // H 55.1, // O 8.0e-17, // Charge 2.0e-15, // CH4 0.2, // C 0.03, // Ca 0.5, // Cl 0.0002, // Fe2 2.0e-08, // Fe3 2.0e-11, // H0 1.0e-05, // K 0.2, // Mg 0.3, // Na 0, // HS2 8.3e-12, // S2 5.1e-14, // S4 0.026, // S6 0.045, // Sr 2.5e-08, // U4 1.6e-10, // U5 1.0e-05}}, // U6 .timestep = 3600, .iterations = 20 }; #endif // _BENCH_DEFS_HPP