diff --git a/src/BTCSDiffusion.cpp b/src/BTCSDiffusion.cpp index 802c9db..8023970 100644 --- a/src/BTCSDiffusion.cpp +++ b/src/BTCSDiffusion.cpp @@ -8,9 +8,11 @@ #include #include +#include #include #include #include +#include const int BTCSDiffusion::BC_NEUMANN = 0; const int BTCSDiffusion::BC_DIRICHLET = 1; @@ -125,6 +127,8 @@ void BTCSDiffusion::simulate1D(std::vector &c, double bc_left, // A_line++; } + std::cout << A_matrix << std::endl; + // Eigen::SparseMatrix A(size, size); // A.setFromTriplets(tripletList.begin(), tripletList.end()); @@ -152,15 +156,17 @@ void BTCSDiffusion::setTimestep(double time_step) { void BTCSDiffusion::simulate(std::vector &c, std::vector &alpha) { if (this->grid_dim == 1) { - double bc_left = getBCFromTuple(0); - double bc_right = getBCFromTuple(1); + // double bc_left = getBCFromTuple(0); + // double bc_right = getBCFromTuple(1); + double bc_left = 5. * std::pow(10,-6); + double bc_right = c[this->dim_x -1]; simulate1D(c, bc_left, bc_right, alpha); } } -double BTCSDiffusion::getBCFromTuple(int index) { - double val = std::get<1>(bc[index]); +double BTCSDiffusion::getBCFromTuple(int index, std::vector &c) { + double val = std::get<0>(bc[index]); return val; } diff --git a/src/BTCSDiffusion.hpp b/src/BTCSDiffusion.hpp index 27b2aed..afa724d 100644 --- a/src/BTCSDiffusion.hpp +++ b/src/BTCSDiffusion.hpp @@ -68,7 +68,7 @@ private: void simulate2D(std::vector &c); void simulate3D(std::vector &c); - double getBCFromTuple(int index); + double getBCFromTuple(int index, std::vector &c); boundary_condition bc;