diff --git a/test/integration/test_analytical_backward_euler.cpp b/test/integration/test_analytical_backward_euler.cpp index feccccaa8..67d974057 100644 --- a/test/integration/test_analytical_backward_euler.cpp +++ b/test/integration/test_analytical_backward_euler.cpp @@ -28,6 +28,17 @@ template using VectorStateTypeDoolittle = micm::State, micm::SparseMatrix>, micm::LuDecompositionDoolittle>; +template +using VectorBackwardEulerDolittleCSC = micm::CpuSolverBuilder< + micm::BackwardEulerSolverParameters, + micm::VectorMatrix, + micm::SparseMatrix>, + micm::LuDecompositionDoolittle>; + +template +using VectorStateTypeDoolittleCSC = + micm::State, micm::SparseMatrix>, micm::LuDecompositionDoolittle>; + template using VectorBackwardEulerMozart = micm::CpuSolverBuilder< micm::BackwardEulerSolverParameters, @@ -38,6 +49,16 @@ template using VectorStateTypeMozart = micm::State, micm::SparseMatrix>, micm::LuDecompositionMozart>; +template +using VectorBackwardEulerMozartCSC = micm::CpuSolverBuilder< + micm::BackwardEulerSolverParameters, + micm::VectorMatrix, + micm::SparseMatrix>, micm::LuDecompositionMozart>; + +template +using VectorStateTypeMozartCSC = + micm::State, micm::SparseMatrix>, micm::LuDecompositionMozart>; + auto backward_euler = micm::CpuSolverBuilder(micm::BackwardEulerSolverParameters()); auto backard_euler_vector_1 = VectorBackwardEuler<1>(micm::BackwardEulerSolverParameters()); auto backard_euler_vector_2 = VectorBackwardEuler<2>(micm::BackwardEulerSolverParameters()); @@ -48,10 +69,19 @@ auto backward_euler_vector_doolittle_1 = VectorBackwardEulerDoolittle<1>(micm::B auto backward_euler_vector_doolittle_2 = VectorBackwardEulerDoolittle<2>(micm::BackwardEulerSolverParameters()); auto backward_euler_vector_doolittle_3 = VectorBackwardEulerDoolittle<3>(micm::BackwardEulerSolverParameters()); auto backward_euler_vector_doolittle_4 = VectorBackwardEulerDoolittle<4>(micm::BackwardEulerSolverParameters()); +auto backward_euler_vector_doolittle_csc_1 = VectorBackwardEulerDolittleCSC<1>(micm::BackwardEulerSolverParameters()); +auto backward_euler_vector_doolittle_csc_2 = VectorBackwardEulerDolittleCSC<2>(micm::BackwardEulerSolverParameters()); +auto backward_euler_vector_doolittle_csc_3 = VectorBackwardEulerDolittleCSC<3>(micm::BackwardEulerSolverParameters()); +auto backward_euler_vector_doolittle_csc_4 = VectorBackwardEulerDolittleCSC<4>(micm::BackwardEulerSolverParameters()); auto backward_euler_vector_mozart_1 = VectorBackwardEulerMozart<1>(micm::BackwardEulerSolverParameters()); auto backward_euler_vector_mozart_2 = VectorBackwardEulerMozart<2>(micm::BackwardEulerSolverParameters()); auto backward_euler_vector_mozart_3 = VectorBackwardEulerMozart<3>(micm::BackwardEulerSolverParameters()); auto backward_euler_vector_mozart_4 = VectorBackwardEulerMozart<4>(micm::BackwardEulerSolverParameters()); +auto backward_euler_vector_mozart_csc_1 = VectorBackwardEulerMozartCSC<1>(micm::BackwardEulerSolverParameters()); +auto backward_euler_vector_mozart_csc_2 = VectorBackwardEulerMozartCSC<2>(micm::BackwardEulerSolverParameters()); +auto backward_euler_vector_mozart_csc_3 = VectorBackwardEulerMozartCSC<3>(micm::BackwardEulerSolverParameters()); +auto backward_euler_vector_mozart_csc_4 = VectorBackwardEulerMozartCSC<4>(micm::BackwardEulerSolverParameters()); + TEST(AnalyticalExamples, Troe) { @@ -64,10 +94,18 @@ TEST(AnalyticalExamples, Troe) test_analytical_troe, VectorStateTypeDoolittle<2>>(backward_euler_vector_doolittle_2, 1e-6); test_analytical_troe, VectorStateTypeDoolittle<3>>(backward_euler_vector_doolittle_3, 1e-6); test_analytical_troe, VectorStateTypeDoolittle<4>>(backward_euler_vector_doolittle_4, 1e-6); + test_analytical_troe, VectorStateTypeDoolittleCSC<1>>(backward_euler_vector_doolittle_csc_1, 1e-6); + test_analytical_troe, VectorStateTypeDoolittleCSC<2>>(backward_euler_vector_doolittle_csc_2, 1e-6); + test_analytical_troe, VectorStateTypeDoolittleCSC<3>>(backward_euler_vector_doolittle_csc_3, 1e-6); + test_analytical_troe, VectorStateTypeDoolittleCSC<4>>(backward_euler_vector_doolittle_csc_4, 1e-6); test_analytical_troe, VectorStateTypeMozart<1>>(backward_euler_vector_mozart_1, 1e-6); test_analytical_troe, VectorStateTypeMozart<2>>(backward_euler_vector_mozart_2, 1e-6); test_analytical_troe, VectorStateTypeMozart<3>>(backward_euler_vector_mozart_3, 1e-6); test_analytical_troe, VectorStateTypeMozart<4>>(backward_euler_vector_mozart_4, 1e-6); + test_analytical_troe, VectorStateTypeMozartCSC<1>>(backward_euler_vector_mozart_csc_1, 1e-6); + test_analytical_troe, VectorStateTypeMozartCSC<2>>(backward_euler_vector_mozart_csc_2, 1e-6); + test_analytical_troe, VectorStateTypeMozartCSC<3>>(backward_euler_vector_mozart_csc_3, 1e-6); + test_analytical_troe, VectorStateTypeMozartCSC<4>>(backward_euler_vector_mozart_csc_4, 1e-6); } TEST(AnalyticalExamples, TroeSuperStiffButAnalytical)