def calculate_GRFFE_Tmunu_and_contractions(flux_dirn, mom_comp, gammaDD, betaU, alpha, ValenciavU, BU, sqrt4pi): GRHD.compute_sqrtgammaDET(gammaDD) GRHD.u4U_in_terms_of_ValenciavU__rescale_ValenciavU_by_applying_speed_limit( alpha, betaU, gammaDD, ValenciavU) GRFFE.compute_smallb4U_with_driftvU_for_FFE(gammaDD, betaU, alpha, GRHD.u4U_ito_ValenciavU, BU, sqrt4pi) GRFFE.compute_smallbsquared(gammaDD, betaU, alpha, GRFFE.smallb4_with_driftv_for_FFE_U) GRFFE.compute_TEM4UU(gammaDD, betaU, alpha, GRFFE.smallb4_with_driftv_for_FFE_U, GRFFE.smallbsquared, GRHD.u4U_ito_ValenciavU) GRFFE.compute_TEM4UD(gammaDD, betaU, alpha, GRFFE.TEM4UU) # Compute conservative variables in terms of primitive variables GRHD.compute_S_tildeD(alpha, GRHD.sqrtgammaDET, GRFFE.TEM4UD) global U, F # Flux F = alpha*sqrt{gamma}*T^i_j F = alpha * GRHD.sqrtgammaDET * GRFFE.TEM4UD[flux_dirn + 1][mom_comp + 1] # U = alpha*sqrt{gamma}*T^0_j = Stilde_j U = GRHD.S_tildeD[mom_comp]
def GiRaFFE_NRPy_P2C(gammaDD, betaU, alpha, ValenciavU, BU, sqrt4pi): # After recalculating the 3-velocity, we need to update the poynting flux: # We'll reset the Valencia velocity, since this will be part of a second call to outCfunction. # First compute stress-energy tensor T4UU and T4UD: GRHD.compute_sqrtgammaDET(gammaDD) GRHD.u4U_in_terms_of_ValenciavU__rescale_ValenciavU_by_applying_speed_limit( alpha, betaU, gammaDD, ValenciavU) GRFFE.compute_smallb4U_with_driftvU_for_FFE(gammaDD, betaU, alpha, GRHD.u4U_ito_ValenciavU, BU, sqrt4pi) GRFFE.compute_smallbsquared(gammaDD, betaU, alpha, GRFFE.smallb4_with_driftv_for_FFE_U) GRFFE.compute_TEM4UU(gammaDD, betaU, alpha, GRFFE.smallb4_with_driftv_for_FFE_U, GRFFE.smallbsquared, GRHD.u4U_ito_ValenciavU) GRFFE.compute_TEM4UD(gammaDD, betaU, alpha, GRFFE.TEM4UU) # Compute conservative variables in terms of primitive variables GRHD.compute_S_tildeD(alpha, GRHD.sqrtgammaDET, GRFFE.TEM4UD) global StildeD StildeD = GRHD.S_tildeD
def calculate_GRFFE_Tmunu_and_contractions(flux_dirn, mom_comp, gammaDD, betaU, alpha, ValenciavU, BU, sqrt4pi, phi_face, gammaUU): # GRHD.compute_sqrtgammaDET(gammaDD) sqrtgammaDET = sp.exp( sp.sympify(6) * phi_face) # phi_face is phi, e^(6*phi) = psi^6 = sqrtgamma GRHD.u4U_in_terms_of_ValenciavU__rescale_ValenciavU_by_applying_speed_limit( alpha, betaU, gammaDD, ValenciavU) GRFFE.compute_smallb4U(gammaDD, betaU, alpha, GRHD.u4U_ito_ValenciavU, BU, sqrt4pi) GRFFE.compute_smallbsquared(gammaDD, betaU, alpha, GRFFE.smallb4U) GRFFE.compute_TEM4UU(gammaDD, betaU, alpha, GRFFE.smallb4U, GRFFE.smallbsquared, GRHD.u4U_ito_ValenciavU, gammaUU) GRFFE.compute_TEM4UD(gammaDD, betaU, alpha, GRFFE.TEM4UU) # Compute conservative variables in terms of primitive variables GRHD.compute_S_tildeD(alpha, sqrtgammaDET, GRFFE.TEM4UD) global U, F # Flux F = alpha*sqrt{gamma}*T^i_j F = alpha * sqrtgammaDET * GRFFE.TEM4UD[flux_dirn + 1][mom_comp + 1] # alpha_sqrt_gamma*( b2*(u0_r*Ur[VX+offset])*U_LOWERr[UX] + 0.5*b2*kronecker_delta[flux_dirn][0] - smallbr[SMALLBX+offset]*smallb_lowerr[SMALLBX] ) # F = alpha*sqrtgammaDET*(GRFFE.smallbsquared*GRHD.u4U_ito_ValenciavU[0]* + sp.Rational(1,2)*GRFFE.smallbsquared*) # U = alpha*sqrt{gamma}*T^0_j = Stilde_j U = GRHD.S_tildeD[mom_comp]
def GiRaFFE_NRPy_P2C(gammaDD,betaU,alpha, ValenciavU,BU, sqrt4pi): # After recalculating the 3-velocity, we need to update the poynting flux: # We'll reset the Valencia velocity, since this will be part of a second call to outCfunction. # First compute stress-energy tensor T4UU and T4UD: GRHD.compute_sqrtgammaDET(gammaDD) # GRHD.u4U_in_terms_of_ValenciavU__rescale_ValenciavU_by_applying_speed_limit(alpha, betaU, gammaDD, ValenciavU) R = sp.sympify(0) for i in range(3): for j in range(3): R += gammaDD[i][j] * ValenciavU[i] * ValenciavU[j] u4U_ito_ValenciavU = ixp.zerorank1(DIM=4) u4U_ito_ValenciavU[0] = 1 / (alpha * sp.sqrt(1 - R)) # u^i = u^0 ( alpha v^i_{(n)} - beta^i ), where v^i_{(n)} is the Valencia 3-velocity for i in range(3): u4U_ito_ValenciavU[i + 1] = u4U_ito_ValenciavU[0] * (alpha * ValenciavU[i] - betaU[i]) GRFFE.compute_smallb4U_with_driftvU_for_FFE(gammaDD, betaU, alpha, u4U_ito_ValenciavU, BU, sqrt4pi) GRFFE.compute_smallbsquared(gammaDD, betaU, alpha, GRFFE.smallb4_with_driftv_for_FFE_U) GRFFE.compute_TEM4UU(gammaDD, betaU, alpha, GRFFE.smallb4_with_driftv_for_FFE_U, GRFFE.smallbsquared, u4U_ito_ValenciavU) GRFFE.compute_TEM4UD(gammaDD, betaU, alpha, GRFFE.TEM4UU) # Compute conservative variables in terms of primitive variables GRHD.compute_S_tildeD(alpha, GRHD.sqrtgammaDET, GRFFE.TEM4UD) global StildeD StildeD = GRHD.S_tildeD
def compute_GRMHD_T4UD(gammaDD, betaU, alpha, GRHDT4UU, GRFFET4UU): global T4UD GRHD.compute_T4UD(gammaDD, betaU, alpha, GRHDT4UU) GRFFE.compute_TEM4UD(gammaDD, betaU, alpha, GRFFET4UU) T4UD = ixp.zerorank2(DIM=4) for mu in range(4): for nu in range(4): T4UD[mu][nu] = GRHD.T4UD[mu][nu] + GRFFE.TEM4UD[mu][nu]