aboutsummaryrefslogtreecommitdiff
path: root/src/include/metric.h
blob: f3a22ff9a13134672f83ea2f41e94d668089b6e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
! Calculation of inverse three metric, lapse squared and shift
! $Header$

if ( eh_mask(i,j,k) .ge. 0 ) then
  alp2 = alp(i,j,k)**2

  tmp1 = gyy(i,j,k)*gzz(i,j,k) - gyz(i,j,k)**2
  tmp2 = gxz(i,j,k)*gyz(i,j,k) - gxy(i,j,k)*gzz(i,j,k)
  tmp3 = gxy(i,j,k)*gyz(i,j,k) - gxz(i,j,k)*gyy(i,j,k)

  idetg = one / ( gxx(i,j,k)*tmp1 + gxy(i,j,k)*tmp2 + gxz(i,j,k)*tmp3 )

  g3xx = tmp1 * idetg
  g3xy = tmp2 * idetg
  g3xz = tmp3 * idetg
  g3yy = ( gxx(i,j,k)*gzz(i,j,k) - gxz(i,j,k)**2 ) * idetg
  g3yz = ( gxy(i,j,k)*gxz(i,j,k) - gxx(i,j,k)*gyz(i,j,k) ) * idetg
  g3zz = ( gxx(i,j,k)*gyy(i,j,k) - gxy(i,j,k)**2 ) * idetg
end if