From 1822bcd98d264da6b4069a8f3f60c0877b1b2ba5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20L=C3=BCbke?= Date: Wed, 17 Aug 2022 12:05:16 +0200 Subject: [PATCH] refactor: rename BoundaryCondition class --- include/diffusion/BTCSDiffusion.hpp | 8 ++++---- include/grid/BTCSBoundaryCondition.hpp | 6 +++--- src/BTCSBoundaryCondition.cpp | 18 +++++++++--------- src/BTCSDiffusion.cpp | 8 ++++---- test/testBoundaryCondition.cpp | 10 +++++----- test/testDiffusion.cpp | 12 ++++++------ 6 files changed, 31 insertions(+), 31 deletions(-) diff --git a/include/diffusion/BTCSDiffusion.hpp b/include/diffusion/BTCSDiffusion.hpp index 6c58487..eeb7244 100644 --- a/include/diffusion/BTCSDiffusion.hpp +++ b/include/diffusion/BTCSDiffusion.hpp @@ -100,7 +100,7 @@ public: * \return Time in seconds [s] used to simulate one iteration. */ auto simulate(double *c, double *alpha, - const tug::boundary_condition::BTCSBoundaryCondition &bc) + const tug::boundary_condition::BoundaryCondition &bc) -> double; /*! @@ -125,15 +125,15 @@ private: void simulate1D(Eigen::Map &c, Eigen::Map &alpha, - const tug::boundary_condition::BTCSBoundaryCondition &bc); + const tug::boundary_condition::BoundaryCondition &bc); void simulate2D(Eigen::Map &c, Eigen::Map &alpha, - const tug::boundary_condition::BTCSBoundaryCondition &bc); + const tug::boundary_condition::BoundaryCondition &bc); static auto calc_d_ortho(const DMatrixRowMajor &c, const DMatrixRowMajor &alpha, - const tug::boundary_condition::BTCSBoundaryCondition &bc, + const tug::boundary_condition::BoundaryCondition &bc, bool transposed, double time_step, double dx) -> DMatrixRowMajor; static void fillMatrixFromRow(Eigen::SparseMatrix &A_matrix, diff --git a/include/grid/BTCSBoundaryCondition.hpp b/include/grid/BTCSBoundaryCondition.hpp index b84082e..adb8e28 100644 --- a/include/grid/BTCSBoundaryCondition.hpp +++ b/include/grid/BTCSBoundaryCondition.hpp @@ -49,7 +49,7 @@ typedef std::vector bc_vec; /** * Class to define the boundary condition of a grid. */ -class BTCSBoundaryCondition { +class BoundaryCondition { public: /** * Creates a new instance with two elements. Used when defining boundary @@ -57,7 +57,7 @@ public: * * \param x Number of grid cells in x-direction */ - BTCSBoundaryCondition(int x); + BoundaryCondition(int x); /** * Creates a new instance with 4 * max(x,y) elements. Used to describe the @@ -69,7 +69,7 @@ public: * \param y Number of grid cells in y-direction * */ - BTCSBoundaryCondition(int x, int y); + BoundaryCondition(int x, int y); /** * Sets the boundary condition for a specific side of the grid. diff --git a/src/BTCSBoundaryCondition.cpp b/src/BTCSBoundaryCondition.cpp index 4f4f1fc..8d84245 100644 --- a/src/BTCSBoundaryCondition.cpp +++ b/src/BTCSBoundaryCondition.cpp @@ -8,7 +8,7 @@ constexpr uint8_t DIM_1D = 2; constexpr uint8_t DIM_2D = 4; -tug::boundary_condition::BTCSBoundaryCondition::BTCSBoundaryCondition(int x) { +tug::boundary_condition::BoundaryCondition::BoundaryCondition(int x) { this->bc_internal.resize(DIM_1D, {0, 0}); this->special_cells.resize(x, {BC_UNSET, 0}); this->dim = 1; @@ -21,7 +21,7 @@ tug::boundary_condition::BTCSBoundaryCondition::BTCSBoundaryCondition(int x) { this->maxindex = x - 1; } -tug::boundary_condition::BTCSBoundaryCondition::BTCSBoundaryCondition(int x, +tug::boundary_condition::BoundaryCondition::BoundaryCondition(int x, int y) { this->maxsize = (x >= y ? x : y); this->bc_internal.resize(DIM_2D * maxsize, {0, 0}); @@ -34,7 +34,7 @@ tug::boundary_condition::BTCSBoundaryCondition::BTCSBoundaryCondition(int x, this->maxindex = (x * y) - 1; } -void tug::boundary_condition::BTCSBoundaryCondition::setSide( +void tug::boundary_condition::BoundaryCondition::setSide( uint8_t side, tug::boundary_condition::boundary_condition &input_bc) { if (this->dim == 1) { throw_invalid_argument("setSide requires at least a 2D grid"); @@ -53,7 +53,7 @@ void tug::boundary_condition::BTCSBoundaryCondition::setSide( } } -void tug::boundary_condition::BTCSBoundaryCondition::setSide( +void tug::boundary_condition::BoundaryCondition::setSide( uint8_t side, std::vector &input_bc) { if (this->dim == 1) { @@ -77,7 +77,7 @@ void tug::boundary_condition::BTCSBoundaryCondition::setSide( } } -auto tug::boundary_condition::BTCSBoundaryCondition::getSide(uint8_t side) +auto tug::boundary_condition::BoundaryCondition::getSide(uint8_t side) -> std::vector { if (this->dim == 1) { throw_invalid_argument("getSide requires at least a 2D grid"); @@ -100,7 +100,7 @@ auto tug::boundary_condition::BTCSBoundaryCondition::getSide(uint8_t side) return out; } -auto tug::boundary_condition::BTCSBoundaryCondition::col_boundary( +auto tug::boundary_condition::BoundaryCondition::col_boundary( uint32_t i) const -> tug::boundary_condition::bc_tuple { if (this->dim == 1) { throw_invalid_argument("Access of column requires at least 2D grid"); @@ -113,7 +113,7 @@ auto tug::boundary_condition::BTCSBoundaryCondition::col_boundary( this->bc_internal[BC_SIDE_BOTTOM * this->maxsize + i]}; } -auto tug::boundary_condition::BTCSBoundaryCondition::row_boundary( +auto tug::boundary_condition::BoundaryCondition::row_boundary( uint32_t i) const -> tug::boundary_condition::bc_tuple { if (i >= this->sizes[X_DIM]) { throw_out_of_range("Index out of range"); @@ -123,7 +123,7 @@ auto tug::boundary_condition::BTCSBoundaryCondition::row_boundary( this->bc_internal[BC_SIDE_RIGHT * this->maxsize + i]}; } -auto tug::boundary_condition::BTCSBoundaryCondition::getInnerRow( +auto tug::boundary_condition::BoundaryCondition::getInnerRow( uint32_t i) const -> bc_vec { if (i >= this->sizes[X_DIM]) { throw_out_of_range("Index is out of range"); @@ -137,7 +137,7 @@ auto tug::boundary_condition::BTCSBoundaryCondition::getInnerRow( return row; } -auto tug::boundary_condition::BTCSBoundaryCondition::getInnerCol( +auto tug::boundary_condition::BoundaryCondition::getInnerCol( uint32_t i) const -> bc_vec { if (this->dim != 2) { throw_invalid_argument("getInnerCol is only applicable for 2D grids"); diff --git a/src/BTCSDiffusion.cpp b/src/BTCSDiffusion.cpp index 5e6602e..166db3b 100644 --- a/src/BTCSDiffusion.cpp +++ b/src/BTCSDiffusion.cpp @@ -122,7 +122,7 @@ void tug::diffusion::BTCSDiffusion::simulate_base( void tug::diffusion::BTCSDiffusion::simulate1D( Eigen::Map &c, Eigen::Map &alpha, - const tug::boundary_condition::BTCSBoundaryCondition &bc) { + const tug::boundary_condition::BoundaryCondition &bc) { int size = this->grid_cells[0]; double dx = this->deltas[0]; @@ -138,7 +138,7 @@ void tug::diffusion::BTCSDiffusion::simulate1D( void tug::diffusion::BTCSDiffusion::simulate2D( Eigen::Map &c, Eigen::Map &alpha, - const tug::boundary_condition::BTCSBoundaryCondition &bc) { + const tug::boundary_condition::BoundaryCondition &bc) { int n_rows = this->grid_cells[1]; int n_cols = this->grid_cells[0]; @@ -172,7 +172,7 @@ void tug::diffusion::BTCSDiffusion::simulate2D( auto tug::diffusion::BTCSDiffusion::calc_d_ortho( const DMatrixRowMajor &c, const DMatrixRowMajor &alpha, - const tug::boundary_condition::BTCSBoundaryCondition &bc, bool transposed, + const tug::boundary_condition::BoundaryCondition &bc, bool transposed, double time_step, double dx) -> DMatrixRowMajor { uint8_t upper = (transposed ? tug::boundary_condition::BC_SIDE_LEFT @@ -332,7 +332,7 @@ void tug::diffusion::BTCSDiffusion::setTimestep(double time_step) { auto tug::diffusion::BTCSDiffusion::simulate( double *c, double *alpha, - const tug::boundary_condition::BTCSBoundaryCondition &bc) -> double { + const tug::boundary_condition::BoundaryCondition &bc) -> double { std::chrono::high_resolution_clock::time_point start = std::chrono::high_resolution_clock::now(); diff --git a/test/testBoundaryCondition.cpp b/test/testBoundaryCondition.cpp index e2e091a..39f6e6a 100644 --- a/test/testBoundaryCondition.cpp +++ b/test/testBoundaryCondition.cpp @@ -7,7 +7,7 @@ using namespace tug::boundary_condition; TEST_CASE("1D Boundary Condition") { - BTCSBoundaryCondition bc(5); + BoundaryCondition bc(5); boundary_condition bc_set = {BC_TYPE_CONSTANT, BC_CONST_VALUE}; SUBCASE("valid get") { CHECK_EQ(bc(BC_SIDE_LEFT).value, 0); } @@ -44,7 +44,7 @@ TEST_CASE("1D Boundary Condition") { TEST_CASE("2D Boundary Condition") { - BTCSBoundaryCondition bc(5, 5); + BoundaryCondition bc(5, 5); boundary_condition bc_set = {BC_TYPE_CONSTANT, BC_CONST_VALUE}; SUBCASE("valid get") { CHECK_EQ(bc(BC_SIDE_LEFT, 0).value, 0); } @@ -87,7 +87,7 @@ TEST_CASE("Boundary Condition helpers") { boundary_condition bc_set = {BC_TYPE_CONSTANT, BC_CONST_VALUE}; SUBCASE("return boundary condition skeleton") { - boundary_condition bc_test = BTCSBoundaryCondition::returnBoundaryCondition( + boundary_condition bc_test = BoundaryCondition::returnBoundaryCondition( bc_set.type, bc_set.value); CHECK_EQ(bc_test.value, bc_set.value); CHECK_EQ(bc_test.type, bc_set.type); @@ -95,7 +95,7 @@ TEST_CASE("Boundary Condition helpers") { } TEST_CASE("1D special inner grid cells") { - BTCSBoundaryCondition bc(5); + BoundaryCondition bc(5); boundary_condition bc_set = {BC_TYPE_CONSTANT, BC_CONST_VALUE}; SUBCASE("valid set") { @@ -136,7 +136,7 @@ TEST_CASE("1D special inner grid cells") { } TEST_CASE("2D special inner grid cells") { - BTCSBoundaryCondition bc(5,5); + BoundaryCondition bc(5,5); boundary_condition bc_set = {BC_TYPE_CONSTANT, BC_CONST_VALUE}; SUBCASE("valid set") { diff --git a/test/testDiffusion.cpp b/test/testDiffusion.cpp index 6cd4b87..1610789 100644 --- a/test/testDiffusion.cpp +++ b/test/testDiffusion.cpp @@ -31,7 +31,7 @@ TEST_CASE("closed boundaries - 1 concentration to 1 - rest 0") { field[MID] = 1; BTCSDiffusion diffu = setupDiffu(N, M); - BTCSBoundaryCondition bc(N, M); + BoundaryCondition bc(N, M); uint32_t iterations = 1000; double sum = 0; @@ -60,7 +60,7 @@ TEST_CASE("constant boundaries (0) - 1 concentration to 1 - rest 0") { field[MID] = 1; BTCSDiffusion diffu = setupDiffu(N, M); - BTCSBoundaryCondition bc(N, M); + BoundaryCondition bc(N, M); boundary_condition input = {BC_TYPE_CONSTANT, 0}; @@ -96,12 +96,12 @@ TEST_CASE( std::vector field(N * M, 0); BTCSDiffusion diffu = setupDiffu(N, M); - BTCSBoundaryCondition bc(N, M); + BoundaryCondition bc(N, M); boundary_condition top = - BTCSBoundaryCondition::returnBoundaryCondition(BC_TYPE_CONSTANT, 1); + BoundaryCondition::returnBoundaryCondition(BC_TYPE_CONSTANT, 1); boundary_condition bottom = - BTCSBoundaryCondition::returnBoundaryCondition(BC_TYPE_CONSTANT, 0); + BoundaryCondition::returnBoundaryCondition(BC_TYPE_CONSTANT, 0); bc.setSide(BC_SIDE_TOP, top); bc.setSide(BC_SIDE_BOTTOM, bottom); @@ -130,7 +130,7 @@ TEST_CASE("2D closed boundaries, 1 constant cell in the middle") { double val = 1e-2; BTCSDiffusion diffu = setupDiffu(N, M); - BTCSBoundaryCondition bc(N, M); + BoundaryCondition bc(N, M); field[MID] = val; bc(BC_INNER, MID) = {BC_TYPE_CONSTANT, val};