aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkorobkin <korobkin@f69c4107-0314-4c4f-9ad4-17e986b73f4a>2008-05-02 11:52:22 +0000
committerkorobkin <korobkin@f69c4107-0314-4c4f-9ad4-17e986b73f4a>2008-05-02 11:52:22 +0000
commitac1d410652ea832f67e8fd20a0c1345a973ef392 (patch)
treefc40247d9485ab943278f71e0912890f51b14de4
parent543c242c8f699b9a7cbb196b8f2787ff945b4cd6 (diff)
(+) Poisoning.F90
git-svn-id: https://svn.cct.lsu.edu/repos/numrel/LSUThorns/SummationByParts/trunk@112 f69c4107-0314-4c4f-9ad4-17e986b73f4a
-rw-r--r--src/Poisoning.F9037
1 files changed, 37 insertions, 0 deletions
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