From aa678645f5d4c9aa8ba31785e7190a9757df0943 Mon Sep 17 00:00:00 2001 From: Pradipta Samanta <samanta@dkrz.de> Date: Fri, 3 Jan 2025 11:20:50 +0100 Subject: [PATCH] added an additional test for tdma_solver_vec --- test/fortran/test_math_utilities.f90 | 31 +++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/test/fortran/test_math_utilities.f90 b/test/fortran/test_math_utilities.f90 index 9f95ca7..db8b824 100644 --- a/test/fortran/test_math_utilities.f90 +++ b/test/fortran/test_math_utilities.f90 @@ -253,13 +253,15 @@ CONTAINS DO i = 1, n DO j = 1, n - a(i, j) = 1.0_wp - b(i, j) = 2.0_wp - c(i, j) = 1.0_wp - d(i, j) = 1.0_wp + a(i, j) = 1.0_wp*(i+j) + b(i, j) = 2.0_wp*(i+j) + c(i, j) = 1.0_wp*(i+j) + d(i, j) = 1.0_wp*(i+j) END DO END DO + tol = 1d-15 + CALL CPU_TIME(start_time) #ifndef __USE_CPP_BINDINGS CALL tdma_solver_vec(a, b, c, d, 1, n, 1, n, x) @@ -278,12 +280,27 @@ CONTAINS DO i = 1, n DO j = 1, n sum = sum + x(i, j) - ! write(*,"(a,f24.16)") ' x(i, 1): ', x(i, 1) END DO END DO sum_ref = 27.2727272727272769_wp - tol = 1d-15 - CALL TAG_TEST("TEST_tdma_solver_vec") + CALL TAG_TEST("TEST_tdma_solver_vec_full") + CALL ASSERT_ALMOST_EQUAL(sum, sum_ref, tol) + + x = 0.0_wp +#ifndef __USE_CPP_BINDINGS + CALL tdma_solver_vec(a, b, c, d, 2, n-1, 2, n-1, x) +#else + CALL tdma_solver_vec(a, b, c, d, 1, n-1, 1, n-1, n, n, x, -1) +#endif + sum = 0.0_wp + DO i = 2, n-1 + DO j = 2, n-1 + sum = sum + x(i, j) + END DO + END DO + sum_ref = 17.7777777777777679_wp + + CALL TAG_TEST("TEST_tdma_solver_vec_partial") CALL ASSERT_ALMOST_EQUAL(sum, sum_ref, tol) END SUBROUTINE TEST_tdma_solver_vec -- GitLab