diff options
author | schnetter <schnetter@f69c4107-0314-4c4f-9ad4-17e986b73f4a> | 2004-10-25 19:21:43 +0000 |
---|---|---|
committer | schnetter <schnetter@f69c4107-0314-4c4f-9ad4-17e986b73f4a> | 2004-10-25 19:21:43 +0000 |
commit | f24c758ab2c4f5e701b8829b93af065889707e96 (patch) | |
tree | 62cebd19dfc8b71f1962fd9c54960b2b51861105 | |
parent | db3727248c9e5f391ff690d0c7f5e279c02bf824 (diff) |
Move scalar product weight mask and its calculation from
MultiPatchWaveToy to SummationByParts.
git-svn-id: https://svn.cct.lsu.edu/repos/numrel/LSUThorns/SummationByParts/trunk@12 f69c4107-0314-4c4f-9ad4-17e986b73f4a
-rw-r--r-- | interface.ccl | 13 | ||||
-rw-r--r-- | schedule.ccl | 8 | ||||
-rw-r--r-- | src/set_norm_mask.F90 | 19 |
3 files changed, 27 insertions, 13 deletions
diff --git a/interface.ccl b/interface.ccl index c05a3c1..924cabc 100644 --- a/interface.ccl +++ b/interface.ccl @@ -28,10 +28,6 @@ PROVIDES FUNCTION Diff_gv WITH DiffGv LANGUAGE C CCTK_REAL FUNCTION GetScalProdCoeff () PROVIDES FUNCTION GetScalProdCoeff WITH GetCoeff LANGUAGE Fortran -SUBROUTINE SetNormMask ( CCTK_POINTER IN cctkGH, \ - CCTK_REAL OUT ARRAY mask ) -PROVIDES FUNCTION SetNormMask WITH SetNMask LANGUAGE C - CCTK_INT FUNCTION GetDomainSpecification \ (CCTK_INT IN size, \ CCTK_REAL OUT ARRAY physical_min, \ @@ -49,3 +45,12 @@ REQUIRES FUNCTION SymmetryTableHandleForGrid CCTK_INT FUNCTION SymmetryHandleOfName (CCTK_STRING IN sym_name) REQUIRES FUNCTION SymmetryHandleOfName + + + +public + +CCTK_REAL normmask TYPE=gf TAGS='tensortypealias="scalar" Prolongation="None"' +{ + nmask +} "Mask for the norm calculation" diff --git a/schedule.ccl b/schedule.ccl index 8ebd83a..e1bc52a 100644 --- a/schedule.ccl +++ b/schedule.ccl @@ -1,2 +1,10 @@ # Schedule definitions for thorn SummationByParts # $Header$ + +# Mask for norms +STORAGE: normmask + +SCHEDULE SBP_SetNormMask AT initial +{ + LANG: Fortran +} "Setup the mask for the calulcation of the norm" diff --git a/src/set_norm_mask.F90 b/src/set_norm_mask.F90 index 30b3c63..1c9c2e7 100644 --- a/src/set_norm_mask.F90 +++ b/src/set_norm_mask.F90 @@ -2,18 +2,16 @@ #include "cctk.h" #include "cctk_Functions.h" +#include "cctk_Arguments.h" #include "cctk_Parameters.h" -subroutine sbp_set_norm_mask (cctkGH, ni, nj, nk, mask) +subroutine SBP_SetNormMask (CCTK_ARGUMENTS) implicit none DECLARE_CCTK_FUNCTIONS + DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_PARAMETERS - - CCTK_POINTER, intent(IN) :: cctkGH - CCTK_INT, intent(IN) :: ni, nj, nk - CCTK_REAL, dimension(ni,nj,nk), intent(OUT) :: mask CCTK_REAL, parameter :: zero = 0.0 integer, parameter :: wp = kind(zero) @@ -47,12 +45,15 @@ subroutine sbp_set_norm_mask (cctkGH, ni, nj, nk, mask) 5127739.0_wp/5080320.0_wp/) CCTK_REAL, dimension(8) :: bmask + CCTK_INT :: ni, nj, nk + + ni = cctk_lsh(1); nj = cctk_lsh(2); nk = cctk_lsh(3) symtable = SymmetryTableHandleForGrid ( cctkGH ) call Util_TableGetIntArray ( n_elements, symtable, 6, & symbnd, 'symmetry_handle' ) - pen_sym_handle = SymmetryHandleOfName ( 'penalty inter-patch' ) + pen_sym_handle = SymmetryHandleOfName ( 'multipatch' ) if ( any ( symbnd == pen_sym_handle ) ) then allocate ( mask_x(ni), mask_y(nj), mask_z(nk) ) @@ -97,9 +98,9 @@ subroutine sbp_set_norm_mask (cctkGH, ni, nj, nk, mask) mask_z(nk:nk-np+1:-1) = bmask(1:np) end if - mask = outer_prod_3d ( mask_x, mask_y, mask_z ) + nmask = outer_prod_3d ( mask_x, mask_y, mask_z ) else - mask = 1.0_wp + nmask = 1.0_wp end if contains @@ -121,4 +122,4 @@ contains end do end function outer_prod_3d -end subroutine sbp_set_norm_mask +end subroutine SBP_SetNormMask |