diff --git a/src/scheme/DiscreteFunctionDPkVariant.hpp b/src/scheme/DiscreteFunctionDPkVariant.hpp index 0d683c1783c9aad299a81dcc4d7ef3817470d54a..2942f141f38452faed9e95a5f95ca675bc7d8c29 100644 --- a/src/scheme/DiscreteFunctionDPkVariant.hpp +++ b/src/scheme/DiscreteFunctionDPkVariant.hpp @@ -35,8 +35,28 @@ class DiscreteFunctionDPkVariant DiscreteFunctionDPk<3, const TinyMatrix<3>>, DiscreteFunctionDPkVector<1, const double>, + DiscreteFunctionDPkVector<1, const TinyVector<1>>, + DiscreteFunctionDPkVector<1, const TinyVector<2>>, + DiscreteFunctionDPkVector<1, const TinyVector<3>>, + DiscreteFunctionDPkVector<1, const TinyMatrix<1>>, + DiscreteFunctionDPkVector<1, const TinyMatrix<2>>, + DiscreteFunctionDPkVector<1, const TinyMatrix<3>>, + DiscreteFunctionDPkVector<2, const double>, - DiscreteFunctionDPkVector<3, const double>>; + DiscreteFunctionDPkVector<2, const TinyVector<1>>, + DiscreteFunctionDPkVector<2, const TinyVector<2>>, + DiscreteFunctionDPkVector<2, const TinyVector<3>>, + DiscreteFunctionDPkVector<2, const TinyMatrix<1>>, + DiscreteFunctionDPkVector<2, const TinyMatrix<2>>, + DiscreteFunctionDPkVector<2, const TinyMatrix<3>>, + + DiscreteFunctionDPkVector<3, const double>, + DiscreteFunctionDPkVector<3, const TinyVector<1>>, + DiscreteFunctionDPkVector<3, const TinyVector<2>>, + DiscreteFunctionDPkVector<3, const TinyVector<3>>, + DiscreteFunctionDPkVector<3, const TinyMatrix<1>>, + DiscreteFunctionDPkVector<3, const TinyMatrix<2>>, + DiscreteFunctionDPkVector<3, const TinyMatrix<3>>>; private: Variant m_discrete_function_dpk; @@ -91,7 +111,13 @@ class DiscreteFunctionDPkVariant DiscreteFunctionDPkVariant(const DiscreteFunctionDPkVector<Dimension, DataType>& discrete_function_dpk) : m_discrete_function_dpk{DiscreteFunctionDPkVector<Dimension, const DataType>{discrete_function_dpk}} { - static_assert(std::is_same_v<std::remove_const_t<DataType>, double>, + static_assert(std::is_same_v<std::remove_const_t<DataType>, double> or // + std::is_same_v<std::remove_const_t<DataType>, TinyVector<1, double>> or // + std::is_same_v<std::remove_const_t<DataType>, TinyVector<2, double>> or // + std::is_same_v<std::remove_const_t<DataType>, TinyVector<3, double>> or // + std::is_same_v<std::remove_const_t<DataType>, TinyMatrix<1, 1, double>> or // + std::is_same_v<std::remove_const_t<DataType>, TinyMatrix<2, 2, double>> or // + std::is_same_v<std::remove_const_t<DataType>, TinyMatrix<3, 3, double>>, "DiscreteFunctionDPkVector with this DataType is not allowed in variant"); } diff --git a/src/scheme/PolynomialReconstruction.cpp b/src/scheme/PolynomialReconstruction.cpp index 7d2c58ac56532ae9144995b4f7991dae12cdca26..d23644a72f6eb34269ea26a42edc82b0bb8cc5a9 100644 --- a/src/scheme/PolynomialReconstruction.cpp +++ b/src/scheme/PolynomialReconstruction.cpp @@ -69,8 +69,28 @@ class PolynomialReconstruction::MutableDiscreteFunctionDPkVariant DiscreteFunctionDPk<3, TinyMatrix<3>>, DiscreteFunctionDPkVector<1, double>, + DiscreteFunctionDPkVector<1, TinyVector<1>>, + DiscreteFunctionDPkVector<1, TinyVector<2>>, + DiscreteFunctionDPkVector<1, TinyVector<3>>, + DiscreteFunctionDPkVector<1, TinyMatrix<1>>, + DiscreteFunctionDPkVector<1, TinyMatrix<2>>, + DiscreteFunctionDPkVector<1, TinyMatrix<3>>, + DiscreteFunctionDPkVector<2, double>, - DiscreteFunctionDPkVector<3, double>>; + DiscreteFunctionDPkVector<2, TinyVector<1>>, + DiscreteFunctionDPkVector<2, TinyVector<2>>, + DiscreteFunctionDPkVector<2, TinyVector<3>>, + DiscreteFunctionDPkVector<2, TinyMatrix<1>>, + DiscreteFunctionDPkVector<2, TinyMatrix<2>>, + DiscreteFunctionDPkVector<2, TinyMatrix<3>>, + + DiscreteFunctionDPkVector<3, double>, + DiscreteFunctionDPkVector<3, TinyVector<1>>, + DiscreteFunctionDPkVector<3, TinyVector<2>>, + DiscreteFunctionDPkVector<3, TinyVector<3>>, + DiscreteFunctionDPkVector<3, TinyMatrix<1>>, + DiscreteFunctionDPkVector<3, TinyMatrix<2>>, + DiscreteFunctionDPkVector<3, TinyMatrix<3>>>; private: Variant m_mutable_discrete_function_dpk;