From ac1d410652ea832f67e8fd20a0c1345a973ef392 Mon Sep 17 00:00:00 2001 From: korobkin Date: Fri, 2 May 2008 11:52:22 +0000 Subject: (+) Poisoning.F90 git-svn-id: https://svn.cct.lsu.edu/repos/numrel/LSUThorns/SummationByParts/trunk@112 f69c4107-0314-4c4f-9ad4-17e986b73f4a --- src/Poisoning.F90 | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/Poisoning.F90 diff --git a/src/Poisoning.F90 b/src/Poisoning.F90 new file mode 100644 index 0000000..93d9290 --- /dev/null +++ b/src/Poisoning.F90 @@ -0,0 +1,37 @@ +#include "cctk.h" +#include "cctk_Functions.h" +#include "cctk_Parameters.h" + +subroutine SBP_Poisoning (ni, nj, nk, bb, offset, dvar) + + implicit none + + DECLARE_CCTK_PARAMETERS + + integer :: ni, nj, nk + CCTK_INT, dimension(6), intent(in) :: bb + CCTK_INT, dimension(6), intent(in) :: offset + CCTK_REAL, dimension(ni,nj,nk), intent(inout) :: dvar + + CCTK_INT :: il, ir, jl, jr, kl, kr + + il = 0; ir = 0 + jl = 0; jr = 0 + kl = 0; kr = 0 + if ( bb(1) /= 0 ) il = offset(1) + if ( bb(2) /= 0 ) ir = offset(2) + if ( bb(3) /= 0 ) jl = offset(3) + if ( bb(4) /= 0 ) jr = offset(4) + if ( bb(5) /= 0 ) kl = offset(5) + if ( bb(6) /= 0 ) kr = offset(6) + +!$omp parallel workshare + dvar(1:il,:,:) = poison_value + dvar(:,1:jl,:) = poison_value + dvar(:,:,1:kl) = poison_value + dvar(ni-ir+1:ni,:,:) = poison_value + dvar(:,nj-jr+1:nj,:) = poison_value + dvar(:,:,nk-kr+1:nk) = poison_value +!$omp end parallel workshare + +end subroutine SBP_Poisoning -- cgit v1.2.3