[Commits] [svn:einsteintoolkit] GRHydro_InitData/trunk/src/ (Rev. 222)

knarf at cct.lsu.edu knarf at cct.lsu.edu
Fri Dec 6 17:21:13 CST 2013


User: knarf
Date: 2013/12/06 05:21 PM

Modified:
 /trunk/src/
  GRHydro_PoloidalMagFieldM.F90

Log:
 fix last patch - now passes testsuite consistently

File Changes:

Directory: /trunk/src/
======================

File [modified]: GRHydro_PoloidalMagFieldM.F90
Delta lines: +16 -7
===================================================================
--- trunk/src/GRHydro_PoloidalMagFieldM.F90	2013-12-06 22:59:27 UTC (rev 221)
+++ trunk/src/GRHydro_PoloidalMagFieldM.F90	2013-12-06 23:21:13 UTC (rev 222)
@@ -95,7 +95,7 @@
      rhofac = 1.0d0-rho(i,j,k)/poloidal_rho_max
      delPcut = press(i,j,k)-poloidal_P_cut
      maxP_Pcut = max(delPcut,0.0d0)
-     AphiL = poloidal_A_b*rhofac**poloidal_n_p*maxP_Pcut
+     AphiL = poloidal_A_b*rhofac**poloidal_n_p*maxP_Pcut**poloidal_P_p
      Ax = -y(i,j,k)*AphiL
      Ay =  x(i,j,k)*AphiL
      Az = 0.0
@@ -115,12 +115,21 @@
      press_dy = 0.5d0*(press(i,j+1,k)-press(i,j-1,k))/dy 
      press_dz = 0.5d0*(press(i,j,k+1)-press(i,j,k-1))/dz 
 
-     Aphi_dx = poloidal_A_b*rhofac**(poloidal_n_p-1)*maxP_Pcut* &
-              ( rhofac*press_dx/delPcut - poloidal_n_p*rho_dx/poloidal_rho_max )
-     Aphi_dy = poloidal_A_b*rhofac**(poloidal_n_p-1)*maxP_Pcut* &
-              ( rhofac*press_dy/delPcut - poloidal_n_p*rho_dy/poloidal_rho_max )
-     Aphi_dz = poloidal_A_b*rhofac**(poloidal_n_p-1)*maxP_Pcut* &
-              ( rhofac*press_dz/delPcut - poloidal_n_p*rho_dz/poloidal_rho_max )
+     if (maxP_Pcut > 0.0) then
+       Aphi_dx = poloidal_A_b*( &
+                   -poloidal_n_p*rho_dx/poloidal_rho_max*maxP_Pcut**poloidal_P_p &
+                   +rhofac**poloidal_n_p*press_dx*poloidal_P_p*maxP_Pcut**(poloidal_P_p-1))
+       Aphi_dy = poloidal_A_b*( &
+                   -poloidal_n_p*rho_dy/poloidal_rho_max*maxP_Pcut**poloidal_P_p &
+                   +rhofac**poloidal_n_p*press_dy*poloidal_P_p*maxP_Pcut**(poloidal_P_p-1))
+       Aphi_dz = poloidal_A_b*( &
+                   -poloidal_n_p*rho_dz/poloidal_rho_max*maxP_Pcut**poloidal_P_p &
+                   +rhofac**poloidal_n_p*press_dz*poloidal_P_p*maxP_Pcut**(poloidal_P_p-1))
+     else
+       Aphi_dx = 0.0
+       Aphi_dy = 0.0
+       Aphi_dz = 0.0
+     endif
 
      Ax_dy = -AphiL - y(i,j,k)*Aphi_dy
      Ax_dz = -y(i,j,k)*Aphi_dz



More information about the Commits mailing list