diff --git a/simucene/glut_grapher.cpp b/simucene/glut_grapher.cpp index 256a59466e009d8ab224dc6f41f2d4482e89e084..6c2219b3f6efa7bb8a3a165bd61f3cfd4d314558 100644 --- a/simucene/glut_grapher.cpp +++ b/simucene/glut_grapher.cpp @@ -1,20 +1,8 @@ #include "glut_grapher.h" -#include <iostream> -#include <iomanip> #include <thread> namespace simucene { -//-------------------------------------------------------------------------------------------------- -template <typename T> -void print_vector(VectorX<T> const& vec) { - std::cout << std::fixed << std::setprecision(3); - for (uint32_t i = 0; i < vec.size() - 1; ++i) { - std::cout << std::setw(5) << vec[i] << ", "; - } - std::cout << vec[vec.size() - 1] << '\n'; -} - //.................................................................................................. void GlutGrapher::initialize( VectorX<Scalar>&& state, diff --git a/simucene/main.cpp b/simucene/main.cpp index 1489d5b418bd3f7f1a0de4559ad99c909ee997ff..cf801ca88c84f035647af5c12fa190748065ebc5 100644 --- a/simucene/main.cpp +++ b/simucene/main.cpp @@ -1,6 +1,5 @@ #include "matrix_builder.h" #include "glut_grapher.h" -#include <iostream> using namespace simucene; @@ -44,10 +43,10 @@ Scalar normal_pdf(Scalar x, Scalar mean, Scalar std_dev) int main(int, char**) { // primary parameters of the simulation Scalar const max_x = 1; - int32_t const dim = 1000; - Scalar const h = 1e-8; - Scalar const advection_coefficient = -1e3; - Scalar const diffusion_coefficient = 1e1; + int32_t const dim = 100; + Scalar const h = 1e-3; + Scalar const advection_coefficient = 1; + Scalar const diffusion_coefficient = 0; VectorX<Scalar> reaction_coefficients = VectorX<Scalar>::Zero(dim); // derived quantities @@ -84,12 +83,13 @@ int main(int, char**) { // iterate /* - for (uint32_t i = 0; i < 100; ++i) { + uint32_t n_iterations = 100; + for (uint32_t i = 0; i < n_iterations; ++i) { std::cout << i << ": "; print_vector(state); state += transport_matrix * state; } - std::cout << 100 << ": "; + std::cout << n_iterations << ": "; print_vector(state); */ diff --git a/simucene/vector.h b/simucene/vector.h index 72ee26725aaaf396b1573840703b190fb46bebea..778855372debf78a26b5f344d2212481891affa9 100644 --- a/simucene/vector.h +++ b/simucene/vector.h @@ -3,6 +3,8 @@ #include <Eigen/Core> #include <Eigen/Sparse> +#include <iostream> +#include <iomanip> namespace simucene { @@ -38,6 +40,16 @@ using MatrixX = Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>; template <typename T> using SparseMatrix = Eigen::SparseMatrix<T>; +//-------------------------------------------------------------------------------------------------- +template <typename T> +void print_vector(VectorX<T> const& vec) { + std::cout << std::fixed << std::setprecision(3); + for (uint32_t i = 0; i < vec.size() - 1; ++i) { + std::cout << std::setw(5) << vec[i] << ", "; + } + std::cout << vec[vec.size() - 1] << '\n'; +} + } #endif