From fb5ee6431e15e8403c0d455397419a3dece423f6 Mon Sep 17 00:00:00 2001 From: Max Luebke Date: Tue, 1 Mar 2022 11:38:08 +0100 Subject: [PATCH] Update: also pass t0_c to simulate_1D --- src/BTCSDiffusion.cpp | 12 ++++++------ src/BTCSDiffusion.hpp | 3 ++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/BTCSDiffusion.cpp b/src/BTCSDiffusion.cpp index 555b213..d8c875f 100644 --- a/src/BTCSDiffusion.cpp +++ b/src/BTCSDiffusion.cpp @@ -159,14 +159,13 @@ inline void Diffusion::BTCSDiffusion::reserveMemory(int size, void Diffusion::BTCSDiffusion::simulate1D( Eigen::Map &c, Eigen::Map &alpha, - Eigen::Map &bc, int size, double dx, - double time_step) { + Eigen::Map &bc, const DVectorRowMajor &t0_c, + int size, double dx, double time_step) { reserveMemory(size, BTCS_MAX_DEP_PER_CELL); fillMatrixFromRow(alpha.row(0), bc.row(0), size, dx, time_step); - fillVectorFromRowADI(c, alpha, bc, Eigen::VectorXd::Constant(size, 0), size, - dx, time_step); + fillVectorFromRowADI(c, alpha, bc, t0_c, size, dx, time_step); solveLES(); @@ -342,8 +341,9 @@ void Diffusion::BTCSDiffusion::simulate(double *c, double *alpha, Eigen::Map alpha_in(alpha, this->grid_cells[0]); Eigen::Map bc_in(bc, this->grid_cells[0]); - simulate1D(c_in, alpha_in, bc_in, this->grid_cells[0], this->deltas[0], - this->time_step); + simulate1D(c_in, alpha_in, bc_in, + Eigen::VectorXd::Constant(this->grid_cells[0], 0), + this->grid_cells[0], this->deltas[0], this->time_step); } if (this->grid_dim == 2) { Eigen::Map c_in(c, this->grid_cells[1], diff --git a/src/BTCSDiffusion.hpp b/src/BTCSDiffusion.hpp index f6ce0f2..e17137b 100644 --- a/src/BTCSDiffusion.hpp +++ b/src/BTCSDiffusion.hpp @@ -122,7 +122,8 @@ private: void simulate1D(Eigen::Map &c, Eigen::Map &alpha, - Eigen::Map &bc, int size, double dx, + Eigen::Map &bc, + const DVectorRowMajor &t0_c, int size, double dx, double time_step); void simulate2D(Eigen::Map &c,