aboutsummaryrefslogtreecommitdiff
path: root/src/set_norm_mask.F90
diff options
context:
space:
mode:
authorschnetter <schnetter@f69c4107-0314-4c4f-9ad4-17e986b73f4a>2006-07-05 19:05:46 +0000
committerschnetter <schnetter@f69c4107-0314-4c4f-9ad4-17e986b73f4a>2006-07-05 19:05:46 +0000
commit52a24adeead81157f5d205c6a94a3d4a8731c453 (patch)
treeec844495b86668525a75f4142cc3245c2d144dff /src/set_norm_mask.F90
parent7409bb1a94ba40a8ff24896cc8a2e5ef3a096d96 (diff)
Introduce a function SBP_determine_onesided_stencil which determines
which faces should use one-sided stencils, depending on which boundaries are inter-processor boundaries, symmetry boundaries, and multi-patch boundaries. Use this function everywhere. Remove the previous mechinisms; some were not in all cases correct. git-svn-id: https://svn.cct.lsu.edu/repos/numrel/LSUThorns/SummationByParts/trunk@75 f69c4107-0314-4c4f-9ad4-17e986b73f4a
Diffstat (limited to 'src/set_norm_mask.F90')
-rw-r--r--src/set_norm_mask.F9018
1 files changed, 8 insertions, 10 deletions
diff --git a/src/set_norm_mask.F90 b/src/set_norm_mask.F90
index c9b8ffb..40bae3e 100644
--- a/src/set_norm_mask.F90
+++ b/src/set_norm_mask.F90
@@ -17,8 +17,6 @@ subroutine SBP_SetNormMask (CCTK_ARGUMENTS)
integer, parameter :: wp = kind(zero)
CCTK_INT :: symtable, n_elements, nchar, pen_sym_handle, np
CCTK_INT, dimension(6) :: symbnd
- CCTK_POINTER :: psym_name
- character(len=256) :: symmetry_name
CCTK_REAL, dimension(:), allocatable :: mask_x, mask_y, mask_z
! Note: The first number is twice the value from the paper, since Carpet
@@ -55,7 +53,7 @@ subroutine SBP_SetNormMask (CCTK_ARGUMENTS)
pen_sym_handle = SymmetryHandleOfName ( 'multipatch' )
- if ( any ( symbnd == pen_sym_handle ) ) then
+ if ( pen_sym_handle < 0 .or. (pen_sym_handle >= 0 .and. any ( symbnd == pen_sym_handle )) ) then
allocate ( mask_x(ni), mask_y(nj), mask_z(nk) )
mask_x = 1.0d0; mask_y = 1.0d0; mask_z = 1.0d0
@@ -79,22 +77,22 @@ subroutine SBP_SetNormMask (CCTK_ARGUMENTS)
end select
end if
- if ( symbnd(1) == pen_sym_handle ) then
- mask_x(1:np) = bmask(1:np)
+ if ( pen_sym_handle < 0 .or. (pen_sym_handle >= 0 .and. symbnd(1) == pen_sym_handle) ) then
+ mask_x(1:np) = bmask(1:np)
end if
- if ( symbnd(2) == pen_sym_handle ) then
+ if ( pen_sym_handle < 0 .or. (pen_sym_handle >= 0 .and. symbnd(2) == pen_sym_handle) ) then
mask_x(ni:ni-np+1:-1) = bmask(1:np)
end if
- if ( symbnd(3) == pen_sym_handle ) then
+ if ( pen_sym_handle < 0 .or. (pen_sym_handle >= 0 .and. symbnd(3) == pen_sym_handle) ) then
mask_y(1:np) = bmask(1:np)
end if
- if ( symbnd(4) == pen_sym_handle ) then
+ if ( pen_sym_handle < 0 .or. (pen_sym_handle >= 0 .and. symbnd(4) == pen_sym_handle) ) then
mask_y(nj:nj-np+1:-1) = bmask(1:np)
end if
- if ( symbnd(5) == pen_sym_handle ) then
+ if ( pen_sym_handle < 0 .or. (pen_sym_handle >= 0 .and. symbnd(5) == pen_sym_handle) ) then
mask_z(1:np) = bmask(1:np)
end if
- if ( symbnd(6) == pen_sym_handle ) then
+ if ( pen_sym_handle < 0 .or. (pen_sym_handle >= 0 .and. symbnd(6) == pen_sym_handle) ) then
mask_z(nk:nk-np+1:-1) = bmask(1:np)
end if