Skip to content
Snippets Groups Projects
Commit aa678645 authored by Pradipta Samanta's avatar Pradipta Samanta
Browse files

added an additional test for tdma_solver_vec

parent 28081276
No related branches found
No related tags found
1 merge request!37Draft: C++ port of horizontal/mo_lib_gradients.F90
...@@ -253,13 +253,15 @@ CONTAINS ...@@ -253,13 +253,15 @@ CONTAINS
DO i = 1, n DO i = 1, n
DO j = 1, n DO j = 1, n
a(i, j) = 1.0_wp a(i, j) = 1.0_wp*(i+j)
b(i, j) = 2.0_wp b(i, j) = 2.0_wp*(i+j)
c(i, j) = 1.0_wp c(i, j) = 1.0_wp*(i+j)
d(i, j) = 1.0_wp d(i, j) = 1.0_wp*(i+j)
END DO END DO
END DO END DO
tol = 1d-15
CALL CPU_TIME(start_time) CALL CPU_TIME(start_time)
#ifndef __USE_CPP_BINDINGS #ifndef __USE_CPP_BINDINGS
CALL tdma_solver_vec(a, b, c, d, 1, n, 1, n, x) CALL tdma_solver_vec(a, b, c, d, 1, n, 1, n, x)
...@@ -278,12 +280,27 @@ CONTAINS ...@@ -278,12 +280,27 @@ CONTAINS
DO i = 1, n DO i = 1, n
DO j = 1, n DO j = 1, n
sum = sum + x(i, j) sum = sum + x(i, j)
! write(*,"(a,f24.16)") ' x(i, 1): ', x(i, 1)
END DO END DO
END DO END DO
sum_ref = 27.2727272727272769_wp sum_ref = 27.2727272727272769_wp
tol = 1d-15 CALL TAG_TEST("TEST_tdma_solver_vec_full")
CALL TAG_TEST("TEST_tdma_solver_vec") 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) CALL ASSERT_ALMOST_EQUAL(sum, sum_ref, tol)
END SUBROUTINE TEST_tdma_solver_vec END SUBROUTINE TEST_tdma_solver_vec
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment