[Commits] [svn:einsteintoolkit] GRHydro/trunk/ (Rev. 383)

rhaas at tapir.caltech.edu rhaas at tapir.caltech.edu
Thu Jul 5 00:36:46 CDT 2012


User: rhaas
Date: 2012/07/05 12:36 AM

Modified:
 /trunk/
  schedule.ccl
 /trunk/src/
  GRHydro_UpdateMask.F90

Log:
 GRHydro: copy integer atmosphere mask in Post_Recover_Variables
 
 this is required since the real valued atmosphere mask is not
 checkpointed. It is valid since atmosphere_mask_real is non-zero
 wherever atmosphere_mask is non-zero due to GRHydroUpdateAtmosphereMask
 and atmosphere_mask is non-zero wherever atmosphere_mask_real is
 non-zero because of GRHydroPostSyncAtmosphereMask, ie. the two masks are
 non-zero/zero at the same points.

File Changes:

Directory: /trunk/src/
======================

File [modified]: GRHydro_UpdateMask.F90
Delta lines: +40 -0
===================================================================
--- trunk/src/GRHydro_UpdateMask.F90	2012-07-05 05:36:43 UTC (rev 382)
+++ trunk/src/GRHydro_UpdateMask.F90	2012-07-05 05:36:45 UTC (rev 383)
@@ -109,6 +109,45 @@
 
 
  /*@@
+   @routine    GRHydroCopyIntegerMask
+   @date       Wed Jul  4 15:40:16 PDT 2012
+   @author     Roland Haas
+   @desc 
+   Initializes real valued mask with integer valued one.
+   @enddesc 
+   @calls     
+   @calledby   
+   @history 
+ 
+   @endhistory 
+
+@@*/
+
+subroutine GRHydroCopyIntegerMask(CCTK_ARGUMENTS)
+
+  implicit none
+  
+  DECLARE_CCTK_ARGUMENTS
+  DECLARE_CCTK_PARAMETERS
+
+  CCTK_INT :: i,j,k
+
+!! This sets the real atmo mask based on the integer-valued atmo mask
+
+   !$OMP PARALLEL DO PRIVATE(k,j,i)
+   do k = 1, cctk_lsh(3)
+      do j = 1, cctk_lsh(2)
+	 do i = 1, cctk_lsh(1)
+	    atmosphere_mask_real(i,j,k) = atmosphere_mask(i,j,k)
+	 end do
+      end do
+   end do
+   !$OMP END PARALLEL DO
+
+end subroutine GRHydroCopyIntegerMask
+
+
+ /*@@
    @routine    GRHydro_SetupMask
    @date       Thu Jun 20 13:27:28 2002
    @author     Ian Hawke
@@ -181,6 +220,7 @@
       do i = 1, cctk_lsh(1)
         if (rho(i,j,k) .le. GRHydro_rho_min) then
           atmosphere_mask(i,j,k) = 1
+          atmosphere_mask_real(i,j,k) = 1
         end if
       end do
     end do

Directory: /trunk/
==================

File [modified]: schedule.ccl
Delta lines: +7 -0
===================================================================
--- trunk/schedule.ccl	2012-07-05 05:36:43 UTC (rev 382)
+++ trunk/schedule.ccl	2012-07-05 05:36:45 UTC (rev 383)
@@ -485,6 +485,13 @@
   LANG: Fortran
 } "Initialize the atmosphere mask"
 
+# alternatively drop support for wk_atmosphere and schedule GRHydro_SetupMask
+# only in CCTK_BaseGrid
+schedule GRHydroCopyIntegerMask AT CCTK_POST_RECOVER_VARIABLES BEFORE HydroBase_PostStep
+{
+  LANG: Fortran
+} "Initialize the real valued atmosphere mask after checkpoint recovery"
+
 # If using mesh refinement
 schedule GRHydro_SetupMask AT POSTREGRID BEFORE MoL_PostStep AFTER (MaskOne,MaskZero)
 {



More information about the Commits mailing list