#ifndef BTCSDIFFUSION_H_ #define BTCSDIFFUSION_H_ #include #include typedef int BCSide; typedef Eigen::Triplet T; class BTCSDiffusion { public: static const BCSide LEFT; static const BCSide RIGHT; BTCSDiffusion(int x); BTCSDiffusion(int x, int y); BTCSDiffusion(int x, int y, int z); void setBoundaryCondition(std::vector input, BCSide side); void simulate(std::vector &c, std::vector &alpha, double timestep); private: std::vector bc; int grid_dim; int dim_x; int dim_y; int dim_z; }; #endif // BTCSDIFFUSION_H_