From 3527288072e67af6fb167e79bbc3d0d336c97e90 Mon Sep 17 00:00:00 2001 From: Kenneth Assogba Date: Sat, 16 Nov 2024 12:23:42 +0100 Subject: [PATCH] Fix Eigen construct --- examples/main.cpp | 23 +++++++++++++---------- src/demeter/model/material.hpp | 5 ++--- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/examples/main.cpp b/examples/main.cpp index f0be324..f71a755 100644 --- a/examples/main.cpp +++ b/examples/main.cpp @@ -26,16 +26,19 @@ int main() { m(1, 1) = m(1, 0) + m(0, 1); std::cout << m << std::endl; - // using vec = Eigen::ArrayXd; - // using mat = Eigen::ArrayXXd; - - // vec sigma_t = {0.222222, 0.833333}; - // vec D = 1. / (3. * sigma_t); - // vec sigma_a{0.010120, 0.080032}; - // vec nusigma_f{0., 0.135}; - // vec sigma_f{0., 0.135}; - // vec chi{1., 0.}; - // mat sigma_s{{0.00, 0.02}, {0.00, 0.00}}; + using Eigen::ArrayXd; + using Eigen::ArrayXXd; + + ArrayXd sigma_t{{0.222222, 0.833333}}; + ArrayXd D = 1. / (3. * sigma_t); + ArrayXd sigma_a{{0.010120, 0.080032}}; + ArrayXd nu_sigma_f{{0., 0.135}}; + ArrayXd sigma_f{{0., 0.135}}; + ArrayXd chi{{1., 0.}}; + ArrayXXd sigma_s{{0.00, 0.02}, {0.00, 0.00}}; + + // Demeter::Material uo2(sigma_t, sigma_s, sigma_a, sigma_f, nu_sigma_f, chi, + // "UO2"); return 0; } \ No newline at end of file diff --git a/src/demeter/model/material.hpp b/src/demeter/model/material.hpp index cf14a96..84a9464 100644 --- a/src/demeter/model/material.hpp +++ b/src/demeter/model/material.hpp @@ -8,15 +8,14 @@ // TODO add optional xs and name // TODO some material maybe not need all xs, make them optional namespace Demeter { +using Eigen::ArrayXd; +using Eigen::ArrayXXd; /** * @brief Describes the material properties. The cross-sections (xs) are: * total, scatering, absorption and fission. */ class Material { - using ArrayXd = Eigen::ArrayXd; // TODO move to a global definition header - using ArrayXXd = Eigen::ArrayXXd; - public: Material(ArrayXd& sigma_t, ArrayXXd& sigma_s, ArrayXd& sigma_a, ArrayXd& sigma_f, ArrayXd& nu_sigma_f, ArrayXd& chi,