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