| c--------------------------------------------------------------------- |
| c--------------------------------------------------------------------- |
| |
| subroutine error |
| |
| c--------------------------------------------------------------------- |
| c--------------------------------------------------------------------- |
| |
| c--------------------------------------------------------------------- |
| c |
| c compute the solution error |
| c |
| c--------------------------------------------------------------------- |
| |
| implicit none |
| |
| include 'applu.incl' |
| |
| c--------------------------------------------------------------------- |
| c local variables |
| c--------------------------------------------------------------------- |
| integer i, j, k, m |
| double precision tmp |
| double precision u000ijk(5) |
| |
| |
| |
| do m = 1, 5 |
| errnm(m) = 0.0d+00 |
| end do |
| |
| do k = 2, nz-1 |
| do j = jst, jend |
| do i = ist, iend |
| call exact( i, j, k, u000ijk ) |
| do m = 1, 5 |
| tmp = ( u000ijk(m) - u(m,i,j,k) ) |
| errnm(m) = errnm(m) + tmp ** 2 |
| end do |
| end do |
| end do |
| end do |
| |
| do m = 1, 5 |
| errnm(m) = sqrt ( errnm(m) / ( (nx0-2)*(ny0-2)*(nz0-2) ) ) |
| end do |
| |
| c write (*,1002) ( errnm(m), m = 1, 5 ) |
| |
| 1002 format (1x/1x,'RMS-norm of error in soln. to ', |
| > 'first pde = ',1pe12.5/, |
| > 1x,'RMS-norm of error in soln. to ', |
| > 'second pde = ',1pe12.5/, |
| > 1x,'RMS-norm of error in soln. to ', |
| > 'third pde = ',1pe12.5/, |
| > 1x,'RMS-norm of error in soln. to ', |
| > 'fourth pde = ',1pe12.5/, |
| > 1x,'RMS-norm of error in soln. to ', |
| > 'fifth pde = ',1pe12.5) |
| |
| return |
| end |