diff options
author | rhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2013-07-06 18:11:12 +0000 |
---|---|---|
committer | rhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2013-07-06 18:11:12 +0000 |
commit | 669d5b37c19d16380ba6c63a7195cbcea8d08f35 (patch) | |
tree | 43c35e9b941be21d80ba34711d3bbfe7825b3b6d /src/GRHydro_FluxSplit.F90 | |
parent | fcbaf698714e9594ef35fbba18530a4a1ab164ba (diff) |
GRHydro: add grid function for sqrt(detg)
* add new 1 tl grid function sdetg that stores the sqrt of the determinent
of the 3-metric.
* replace lots of re-computation of det by use of this grid function
From: Christian Ott <cott@bethe.tapir.caltech.edu>
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@555 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
Diffstat (limited to 'src/GRHydro_FluxSplit.F90')
-rw-r--r-- | src/GRHydro_FluxSplit.F90 | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/src/GRHydro_FluxSplit.F90 b/src/GRHydro_FluxSplit.F90 index 7ff4abc..a05b88f 100644 --- a/src/GRHydro_FluxSplit.F90 +++ b/src/GRHydro_FluxSplit.F90 @@ -40,7 +40,7 @@ subroutine GRHydro_FSAlpha(CCTK_ARGUMENTS) DECLARE_CCTK_FUNCTIONS integer :: nx, ny, nz, i, j, k, ierr, max_handle - CCTK_REAL :: uxx, uxy, uxz, uyy, uyz, uzz, det, beta + CCTK_REAL :: uxx, uxy, uxz, uyy, uyz, uzz, sdet, beta CCTK_REAL, dimension(5) :: lambda CCTK_REAL :: alpha1_local, alpha2_local, alpha3_local, alpha4_local, & alpha5_local @@ -67,9 +67,8 @@ subroutine GRHydro_FSAlpha(CCTK_ARGUMENTS) do j = 1, ny do i = 1, nx - det = SPATIAL_DETERMINANT(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),\ - gyy(i,j,k),gyz(i,j,k),gzz(i,j,k)) - call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,& + sdet = sdetg(i,j,k) + call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,sdet*sdet,& gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),& gyz(i,j,k),gzz(i,j,k)) @@ -109,9 +108,8 @@ subroutine GRHydro_FSAlpha(CCTK_ARGUMENTS) do j = 1, ny do i = 1, nx - det = SPATIAL_DETERMINANT(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),\ - gyy(i,j,k),gyz(i,j,k),gzz(i,j,k)) - call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,& + sdet = sdetg(i,j,k) + call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,sdet*sdet,& gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),& gyz(i,j,k),gzz(i,j,k)) @@ -151,9 +149,8 @@ subroutine GRHydro_FSAlpha(CCTK_ARGUMENTS) do j = 1, ny do i = 1, nx - det = SPATIAL_DETERMINANT(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),\ - gyy(i,j,k),gyz(i,j,k),gzz(i,j,k)) - call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,& + sdet = sdetg(i,j,k) + call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,sdet*sdet,& gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),& gyz(i,j,k),gzz(i,j,k)) @@ -301,8 +298,7 @@ subroutine GRHydro_SplitFlux(CCTK_ARGUMENTS) dummy = betax(:,j,k) do i = 1, cctk_lsh(1) - det = SPATIAL_DETERMINANT(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),\ - gyy(i,j,k),gyz(i,j,k),gzz(i,j,k)) + det(i) = sdetg(i,j,k)*sdetg(i,j,k) call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det(i),& gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),& gyz(i,j,k),gzz(i,j,k)) @@ -335,8 +331,7 @@ subroutine GRHydro_SplitFlux(CCTK_ARGUMENTS) dummy = betay(i,:,k) do j = 1, cctk_lsh(2) - det = SPATIAL_DETERMINANT(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),\ - gyy(i,j,k),gyz(i,j,k),gzz(i,j,k)) + det(j) = sdetg(i,j,k)**2 call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det(j),& gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),& gyz(i,j,k),gzz(i,j,k)) @@ -369,8 +364,7 @@ subroutine GRHydro_SplitFlux(CCTK_ARGUMENTS) dummy = betaz(i,j,:) do k = 1, cctk_lsh(3) - det = SPATIAL_DETERMINANT(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),\ - gyy(i,j,k),gyz(i,j,k),gzz(i,j,k)) + det(k) = sdetg(i,j,k)*sdetg(i,j,k) call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det(k),& gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),& gyz(i,j,k),gzz(i,j,k)) |