56 FTYPE gamma,n_dot_b,bsq,u,
p,w ;
60 lower_g(ucon,
gcov,ucov) ;
61 ncov_calc(
gcon,ncov) ;
63 gamma = -ncov[0]*ucon[0] ;
65 bcon_calc_g(prim,ucon,ucov,ncov,bcon) ;
66 lower_g(bcon,
gcov,bcov) ;
69 for(i=0;i<
NDIM;i++) n_dot_b += ncov[i]*bcon[i] ;
71 for(i=0;i<
NDIM;i++) bsq += bcov[i]*bcon[i] ;
75 p = pressure_rho0_u_simple(ptrgeom->i,ptrgeom->j,ptrgeom->k,ptrgeom->p,rho0,u) ;
81 U[
QCOV0+i] = gamma*(w + bsq)*ucov[
i]
82 - (p + bsq/2.)*ncov[
i]
100 u_tilde_con[0] = 0. ;
101 u_tilde_con[1] = prim[
UTCON1] ;
102 u_tilde_con[2] = prim[
UTCON2] ;
103 u_tilde_con[3] = prim[
UTCON3] ;
108 u_tilde_sq +=
gcov[
GIND(i,j)]*u_tilde_con[
i]*u_tilde_con[
j] ;
109 u_tilde_sq = fabs(u_tilde_sq) ;
111 gamma = sqrt(1. + u_tilde_sq) ;
115 for(i=0;i<
NDIM;i++) ucon[i] = u_tilde_con[i] - lapse*gamma*
gcon[
GIND(0,i)] ;
127 for(i=0;i<
NDIM;i++) {
140 for(i=0;i<
NDIM;i++) {
167 static void ncov_calc_fromlapse(
FTYPE lapse,
FTYPE ncov[NDIM])
187 for(i=1;i<
NDIM;i++) Bcon[i] = prim[
BCON1+i-1] ;
190 for(i=0;i<
NDIM;i++) u_dot_B += ucov[i]*Bcon[i] ;
192 gamma = -ucon[0]*ncov[0] ;
193 for(i=0;i<
NDIM;i++) bcon[i] = (Bcon[i] + ucon[i]*u_dot_B)/gamma ;