[Commits] [svn:einsteintoolkit] NullSHRExtract/branches/tapir/src/ (Rev. 24)

bela at caltech.edu bela at caltech.edu
Fri Nov 8 15:55:39 CST 2013


User: szilagyi
Date: 2013/11/08 03:55 PM

Modified:
 /branches/tapir/src/
  NullSHRE_WTSphHarm.F90, NullSHRE_modRadius.F90

Log:
 work on dr(Bondi)/dr(Cartesian)

File Changes:

Directory: /branches/tapir/src/
===============================

File [modified]: NullSHRE_WTSphHarm.F90
Delta lines: +6 -2
===================================================================
--- branches/tapir/src/NullSHRE_WTSphHarm.F90	2013-11-08 21:00:31 UTC (rev 23)
+++ branches/tapir/src/NullSHRE_WTSphHarm.F90	2013-11-08 21:55:39 UTC (rev 24)
@@ -6,6 +6,7 @@
 
 subroutine NullSHRE_ConvertDerivs(null_lsh, fr, fq, fp, fx, fy, fz, j0inv)
   use NullSHRE_modGFdef
+  use NullSHRE_modRadius, only: wt_dr_dR
   implicit none
   CCTK_INT,  dimension(2),                        intent(in)  :: null_lsh
   CCTK_REAL, dimension(null_lsh(1), null_lsh(2)), intent(in)  :: fr, fq, fp
@@ -36,8 +37,8 @@
   DECLARE_CCTK_ARGUMENTS
   DECLARE_CCTK_PARAMETERS
 
-  CCTK_REAL, dimension(null_lsh(1), null_lsh(2)) :: fx_n,fy_n,fz_n
-  CCTK_REAL, dimension(null_lsh(1), null_lsh(2)) :: fx_s,fy_s,fz_s
+  CCTK_REAL, dimension(null_lsh(1), null_lsh(2)) :: fx_n,fy_n,fz_n, rR_n
+  CCTK_REAL, dimension(null_lsh(1), null_lsh(2)) :: fx_s,fy_s,fz_s, rR_s
 
   truncate = (IO_TruncateOutputFiles(cctkGH) .ne. 0) .and. first_time
   first_time = .FALSE.
@@ -389,6 +390,9 @@
   call NullDecomp_WriteCoefsForRealFunc('r_t_wt', cctkGH, truncate, &
      null_lsh, zeta, dr0_n(4)%d, dr0_s(4)%d, cctk_time)
 
+   call wt_dr_dR(cr, detg_n, g3up_n, &
+     dg_n(1:3,1:3,1), j0inv_n(1:3,1:3), r0_n, rR_n, dr0_n, ell_n)
+
    ! J, beta, U, Q, W
 
   call NullDecomp_WriteCoefsForComplexFunc('J_wt', cctkGH, truncate, &

File [modified]: NullSHRE_modRadius.F90
Delta lines: +17 -3
===================================================================
--- branches/tapir/src/NullSHRE_modRadius.F90	2013-11-08 21:00:31 UTC (rev 23)
+++ branches/tapir/src/NullSHRE_modRadius.F90	2013-11-08 21:55:39 UTC (rev 24)
@@ -31,7 +31,7 @@
 
   ! This is debugging code.  given the metric and derivatives,
   ! will compute drBondi/d(cartesian R)
-  subroutine wt_dr_dR(cr, detg3, g3inv, dg3_dR, j0inv, r0, dr_dR)
+  subroutine wt_dr_dR(cr, detg3, g3inv, dg3_dR, j0inv, r0, dr_dR, dr0, ell)
     use NullSHRE_modGFdef
     use NullGrid_Vars, only: lsh
     implicit none
@@ -45,9 +45,11 @@
     type (gf2d), dimension (3,3),intent (in)    :: j0inv
     ! this will hold the result
     type (gf2d),                 intent (inout) :: dr_dR
+    ! this is ell^a and dr/d(lambda,q,p,u) -- used for consistency tests
+    type (gf2d), dimension (4),  intent (in)    :: dr0, ell
 
-    CCTK_REAL, dimension(lsh(1),lsh(2)) :: detg_R, grr, grr_R, g3invij_R
-    integer :: i, j, k, l
+    CCTK_REAL, dimension(lsh(1),lsh(2)) :: detg_R, grr, grr_R, g3invij_R, r1
+    integer :: i, j, k, l, a
 !   ! radial deriv of j0inv:
 !   !   dj0inv(a,:)/dr = 0 for a=1
 !   !   dj0inv(a,:)/dr = -j0inv(a,:)/cr for a=2,3
@@ -76,6 +78,18 @@
 !   dr_dR%d = r0%d / R + 0.25 * R^4 * ( detg g^rr )^(-3/4) / R^3 * ()_,r
     dr_dR%d = r0%d/cr + 0.25*cr * (cr/r0%d)**3 * ( detg_R*grr + detg3%d*grr_R )
 
+    ! build test:
+    ! r_{,lambda} = ell^t r_{,u} + ell^i InvJac^k_i d(rBondi)/dy^k
+
+    r1 = ell(4)%d * dr0(4)%d
+    do i = 1, 3
+       r1 = r1 + ell(i)%d * j0inv(1,i)%d * dr_dR%d
+       do a = 2, 3
+          r1 = r1 + ell(i)%d * j0inv(a,i)%d * dr0(a)%d
+       end do
+    end do
+    write (*,*) 'diff in r1 is ', maxval(abs(r1 - dr0(1)%d))
+
   end subroutine wt_dr_dR
 
   subroutine wt_r(nn1, nn2, pp, eta0, r0)



More information about the Commits mailing list