In the TDMA solvers the solution du is declared as intent(out). In the periodic solver the initial boundary condition is implemented as (using CUDA kernel as an example) where jm1=n when j=1
jm1 = modulo(j - 2, n) + 1
du(i, j, b) = temp_du - du(i, jm1, b)*thom_s(j)
As du is intent(out) the value of du(i,n,b) is undefined at this point.
N.B. we might be getting away with this if thom_s(1)=0
In the TDMA solvers the solution du is declared as intent(out). In the periodic solver the initial boundary condition is implemented as (using CUDA kernel as an example) where jm1=n when j=1
As du is intent(out) the value of du(i,n,b) is undefined at this point.
N.B. we might be getting away with this if thom_s(1)=0