[Commits] [svn:einsteintoolkit] GRHydro/trunk/src/ (Rev. 578)

rhaas at tapir.caltech.edu rhaas at tapir.caltech.edu
Tue Aug 13 09:56:43 CDT 2013


User: rhaas
Date: 2013/08/13 09:56 AM

Modified:
 /trunk/src/
  GRHydro_Con2PrimM_pt_EOSOmni.c

Log:
 Get rid of old heat injection in C2P MHD
 
 From: Philipp Moesta <pmoesta at tapir.caltech.edu>

File Changes:

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

File [modified]: GRHydro_Con2PrimM_pt_EOSOmni.c
Delta lines: +175 -175
===================================================================
--- trunk/src/GRHydro_Con2PrimM_pt_EOSOmni.c	2013-08-13 14:56:40 UTC (rev 577)
+++ trunk/src/GRHydro_Con2PrimM_pt_EOSOmni.c	2013-08-13 14:56:43 UTC (rev 578)
@@ -411,66 +411,66 @@
 //  fprintf(stdout,"rho0=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
 //  fprintf(stdout,"keyerr=%d, anyerr=%d \n", eosvars.eoskeyerr[0], eosvars.eosanyerr[0]);
 //  #pragma omp critical 
-  if (eosvars.eosanyerr[0] != 0) {
-     fprintf(stdout,"inside 1: anyerr=%d\n",eosvars.eosanyerr[0]);
-     if (eosvars.eosrl >= GRHydro_c2p_warn_from_reflevel) {
-        fprintf(stdout,"inside 2: anyerr=%d\n",eosvars.eosanyerr[0]);
-        if(eosvars.eoskeyerr[0] == 667 && GRHydro_eos_hot_eps_fix != 0) {
-           fprintf(stdout,"inside 3: anyerr=%d, keyerr=%d\n",eosvars.eosanyerr[0],eosvars.eoskeyerr[0]);
-           // Handling of the case when no new temperature can be
-           // found for a given epsilon. The amount of times
-           // we get to this place should be monitored, as this
-           // 'failsafe' mode creates artificial heat.
+//  if (eosvars.eosanyerr[0] != 0) {
+//     fprintf(stdout,"inside 1: anyerr=%d\n",eosvars.eosanyerr[0]);
+//     if (eosvars.eosrl >= GRHydro_c2p_warn_from_reflevel) {
+//        fprintf(stdout,"inside 2: anyerr=%d\n",eosvars.eosanyerr[0]);
+//        if(eosvars.eoskeyerr[0] == 667 && GRHydro_eos_hot_eps_fix != 0) {
+//           fprintf(stdout,"inside 3: anyerr=%d, keyerr=%d\n",eosvars.eosanyerr[0],eosvars.eoskeyerr[0]);
+//           // Handling of the case when no new temperature can be
+//           // found for a given epsilon. The amount of times
+//           // we get to this place should be monitored, as this
+//           // 'failsafe' mode creates artificial heat.
+//
+//           nf = 0;
+//           while(eosvars.eosanyerr[0] != 0 && nf<= nfudgemax) {
+//              eosvars.eosanyerr[0] = 0;
+//              tau = tau + rho0*abs((*epsilon))*0.05*w*w;
+//              *epsilon = (*epsilon) + abs((*epsilon))*0.05;
+//              u = (*epsilon) * rho0;
+//              EOS_Omni_press(eosvars.eoshandle,eosvars.eoskeytemp,eosvars.eosprec,1,
+//                 &rho0,epsilon,eosvars.eos_temp,
+//                 eosvars.eos_y_e,&p,eosvars.eoskeyerr,eosvars.eosanyerr);
+//              nf = nf + 1;
+//           } 
+//           fprintf(stdout, "Iterations of heat injection: %d \n",nf);
+//           fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
+//           if(nf >= nfudgemax) { 
+//              if(GRHydro_c2p_reset_eps_tau_hot_eos != 1) {
+//                 CCTK_WARN(failinfomode,"EOS error in c2p 0: injected heat too many times");
+//                 fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
+//                 //CCTK_WARN(failinfomode,warnline);
+//                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
+//                 //call CCTK_WARN(failinfomode,warnline)
+//                 fprintf(stdout,"code=%d\n",eosvars.eoskeyerr[0]);
+//                 //call CCTK_WARN(failinfomode,warnline)
+//                 CCTK_WARN(failwarnmode,"Aborting!!!");
+//              } 
+//              else {
+//                 CCTK_WARN(failinfomode,"EOS error in c2p 0: LAST RESORT -- reset eps and tau based on old temp");
+//                 fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
+//                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
+//                 eosvars.eoskeytemp =1; 
+//                 EOS_Omni_press(eosvars.eoshandle,eosvars.eoskeytemp,eosvars.eosprec,1,
+//                 &rho0,epsilon,eosvars.eos_temp,eosvars.eos_y_e,&p,eosvars.eoskeyerr,eosvars.eosanyerr);
+//                 tau = (rho0 + rho0*(*epsilon) + lg.bsq + p)*w*w - (p + lg.bsq/2.0) - w*w*lg.VdotBsq - rho0*w;
+//                 u = (*epsilon) * rho0;
+//                 //tau = ( (rho + rho*epsilon) + xpress ) * w_lorentz**2 - xpress - rho*w_lorentz;
+//                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
+//                 eosvars.eoskeytemp =0; 
+//              }
+//           }
+//        }
+//        else {
+//          CCTK_WARN(failinfomode,"EOS error in c2p 0");
+//          fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
+//          fprintf(stdout,"rho=%f, dens=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,dens,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
+//          fprintf(stdout,"code=%d\n",eosvars.eoskeyerr[0]);
+//          CCTK_WARN(failwarnmode,"Aborting!!!");
+//       }
+//    } 
+//  }
 
-           nf = 0;
-           while(eosvars.eosanyerr[0] != 0 && nf<= nfudgemax) {
-              eosvars.eosanyerr[0] = 0;
-              tau = tau + rho0*abs((*epsilon))*0.05*w*w;
-              *epsilon = (*epsilon) + abs((*epsilon))*0.05;
-              u = (*epsilon) * rho0;
-              EOS_Omni_press(eosvars.eoshandle,eosvars.eoskeytemp,eosvars.eosprec,1,
-                 &rho0,epsilon,eosvars.eos_temp,
-                 eosvars.eos_y_e,&p,eosvars.eoskeyerr,eosvars.eosanyerr);
-              nf = nf + 1;
-           } 
-           fprintf(stdout, "Iterations of heat injection: %d \n",nf);
-           fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
-           if(nf >= nfudgemax) { 
-              if(GRHydro_c2p_reset_eps_tau_hot_eos != 1) {
-                 CCTK_WARN(failinfomode,"EOS error in c2p 0: injected heat too many times");
-                 fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
-                 //CCTK_WARN(failinfomode,warnline);
-                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
-                 //call CCTK_WARN(failinfomode,warnline)
-                 fprintf(stdout,"code=%d\n",eosvars.eoskeyerr[0]);
-                 //call CCTK_WARN(failinfomode,warnline)
-                 CCTK_WARN(failwarnmode,"Aborting!!!");
-              } 
-              else {
-                 CCTK_WARN(failinfomode,"EOS error in c2p 0: LAST RESORT -- reset eps and tau based on old temp");
-                 fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
-                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
-                 eosvars.eoskeytemp =1; 
-                 EOS_Omni_press(eosvars.eoshandle,eosvars.eoskeytemp,eosvars.eosprec,1,
-                 &rho0,epsilon,eosvars.eos_temp,eosvars.eos_y_e,&p,eosvars.eoskeyerr,eosvars.eosanyerr);
-                 tau = (rho0 + rho0*(*epsilon) + lg.bsq + p)*w*w - (p + lg.bsq/2.0) - w*w*lg.VdotBsq - rho0*w;
-                 u = (*epsilon) * rho0;
-                 //tau = ( (rho + rho*epsilon) + xpress ) * w_lorentz**2 - xpress - rho*w_lorentz;
-                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
-                 eosvars.eoskeytemp =0; 
-              }
-           }
-        }
-        else {
-          CCTK_WARN(failinfomode,"EOS error in c2p 0");
-          fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
-          fprintf(stdout,"rho=%f, dens=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,dens,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
-          fprintf(stdout,"code=%d\n",eosvars.eoskeyerr[0]);
-          CCTK_WARN(failwarnmode,"Aborting!!!");
-       }
-    } 
-  }
-
   lg.tau = tau;
 
   //fprintf(stdout," p                  = %26.16e \n", p                );
@@ -585,63 +585,63 @@
     p = pressure_rho0_eps_eosomni(rho0,*epsilon,&dum1,&dum2,&eosvars) ;  // EOSOMNI
 
 //    #pragma omp critical 
-    if (eosvars.eosanyerr[0] != 0) {
-     fprintf(stdout,"inside 4: anyerr=%d\n",eosvars.eosanyerr[0]);
-       if (eosvars.eosrl >= GRHydro_c2p_warn_from_reflevel) {
-          if(eosvars.eoskeyerr[0] == 667 && GRHydro_eos_hot_eps_fix != 0) {
-             // Handling of the case when no new temperature can be
-             // found for a given epsilon. The amount of times
-             // we get to this place should be monitored, as this
-             // 'failsafe' mode creates artificial heat.
-             nf = 0;
-             while(eosvars.eosanyerr[0] != 0 && nf<= nfudgemax) {
-                eosvars.eosanyerr[0] = 0;
-                tau = tau + rho0*abs((*epsilon))*0.05*w*w;
-                *epsilon = (*epsilon) + abs((*epsilon))*0.05;
-                u = (*epsilon) * rho0;
-                EOS_Omni_press(eosvars.eoshandle,eosvars.eoskeytemp,eosvars.eosprec,1,
-                   &rho0,epsilon,eosvars.eos_temp,
-                   eosvars.eos_y_e,&p,eosvars.eoskeyerr,eosvars.eosanyerr);
-                nf = nf + 1;
-             } 
-             fprintf(stdout, "Iterations of heat injection: %d \n",nf);
-             fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
-             if(nf >= nfudgemax) { 
-                if(GRHydro_c2p_reset_eps_tau_hot_eos != 1) {
-                   CCTK_WARN(failinfomode,"EOS error in c2p 0: injected heat too many times");
-                   fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
-                   //CCTK_WARN(failinfomode,warnline);
-                   fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
-                   //call CCTK_WARN(failinfomode,warnline)
-                   fprintf(stdout,"code=%d\n",eosvars.eoskeyerr[0]);
-                   //call CCTK_WARN(failinfomode,warnline)
-                   CCTK_WARN(failwarnmode,"Aborting!!!");
-                } 
-                else {
-                   CCTK_WARN(failinfomode,"EOS error in c2p 0: LAST RESORT -- reset eps and tau based on old temp");
-                   fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
-                   fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
-                   eosvars.eoskeytemp =1; 
-                   EOS_Omni_press(eosvars.eoshandle,eosvars.eoskeytemp,eosvars.eosprec,1,
-                   &rho0,epsilon,eosvars.eos_temp,eosvars.eos_y_e,&p,eosvars.eoskeyerr,eosvars.eosanyerr);
-                 //  tau = (rho0 + rho0*(*epsilon) + lg.bsq + p)*w*w - (p + lg.bsq/2.0) - rho0*w;
-                   tau = (rho0 + rho0*(*epsilon) + lg.bsq + p)*w*w - (p + lg.bsq/2.0) - w*w*lg.VdotBsq - rho0*w;
-                   u = (*epsilon) * rho0;
-                   //tau = ( (rho + rho*epsilon) + xpress ) * w_lorentz**2 - xpress - rho*w_lorentz;
-                   //fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
-                   eosvars.eoskeytemp =0; 
-                }
-             }
-          }
-          else {
-            CCTK_WARN(failinfomode,"EOS error in c2p 0");
-            fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
-            fprintf(stdout,"rho=%f, dens=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,dens,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
-            fprintf(stdout,"code=%d\n",eosvars.eoskeyerr[0]);
-            CCTK_WARN(0,"Aborting!!!");
-         }
-       } 
-     }
+//    if (eosvars.eosanyerr[0] != 0) {
+//     fprintf(stdout,"inside 4: anyerr=%d\n",eosvars.eosanyerr[0]);
+//       if (eosvars.eosrl >= GRHydro_c2p_warn_from_reflevel) {
+//          if(eosvars.eoskeyerr[0] == 667 && GRHydro_eos_hot_eps_fix != 0) {
+//             // Handling of the case when no new temperature can be
+//             // found for a given epsilon. The amount of times
+//             // we get to this place should be monitored, as this
+//             // 'failsafe' mode creates artificial heat.
+//             nf = 0;
+//             while(eosvars.eosanyerr[0] != 0 && nf<= nfudgemax) {
+//                eosvars.eosanyerr[0] = 0;
+//                tau = tau + rho0*abs((*epsilon))*0.05*w*w;
+//                *epsilon = (*epsilon) + abs((*epsilon))*0.05;
+//                u = (*epsilon) * rho0;
+//                EOS_Omni_press(eosvars.eoshandle,eosvars.eoskeytemp,eosvars.eosprec,1,
+//                   &rho0,epsilon,eosvars.eos_temp,
+//                   eosvars.eos_y_e,&p,eosvars.eoskeyerr,eosvars.eosanyerr);
+//                nf = nf + 1;
+//             } 
+//             fprintf(stdout, "Iterations of heat injection: %d \n",nf);
+//             fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
+//             if(nf >= nfudgemax) { 
+//                if(GRHydro_c2p_reset_eps_tau_hot_eos != 1) {
+//                   CCTK_WARN(failinfomode,"EOS error in c2p 0: injected heat too many times");
+//                   fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
+//                   //CCTK_WARN(failinfomode,warnline);
+//                   fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
+//                   //call CCTK_WARN(failinfomode,warnline)
+//                   fprintf(stdout,"code=%d\n",eosvars.eoskeyerr[0]);
+//                   //call CCTK_WARN(failinfomode,warnline)
+//                   CCTK_WARN(failwarnmode,"Aborting!!!");
+//                } 
+//                else {
+//                   CCTK_WARN(failinfomode,"EOS error in c2p 0: LAST RESORT -- reset eps and tau based on old temp");
+//                   fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
+//                   fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
+//                   eosvars.eoskeytemp =1; 
+//                   EOS_Omni_press(eosvars.eoshandle,eosvars.eoskeytemp,eosvars.eosprec,1,
+//                   &rho0,epsilon,eosvars.eos_temp,eosvars.eos_y_e,&p,eosvars.eoskeyerr,eosvars.eosanyerr);
+//                 //  tau = (rho0 + rho0*(*epsilon) + lg.bsq + p)*w*w - (p + lg.bsq/2.0) - rho0*w;
+//                   tau = (rho0 + rho0*(*epsilon) + lg.bsq + p)*w*w - (p + lg.bsq/2.0) - w*w*lg.VdotBsq - rho0*w;
+//                   u = (*epsilon) * rho0;
+//                   //tau = ( (rho + rho*epsilon) + xpress ) * w_lorentz**2 - xpress - rho*w_lorentz;
+//                   //fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
+//                   eosvars.eoskeytemp =0; 
+//                }
+//             }
+//          }
+//          else {
+//            CCTK_WARN(failinfomode,"EOS error in c2p 0");
+//            fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars.eosit,eosvars.eosrl,eosvars.eosi,eosvars.eosj,eosvars.eosk,eosvars.eosx,eosvars.eosy,eosvars.eosz);
+//            fprintf(stdout,"rho=%f, dens=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,dens,*epsilon,eosvars.eos_temp[0],eosvars.eos_y_e[0]);
+//            fprintf(stdout,"code=%d\n",eosvars.eoskeyerr[0]);
+//            CCTK_WARN(0,"Aborting!!!");
+//         }
+//       } 
+//     }
 
     // printf("%g %g %g %g\n",rho0,u,*epsilon,p);
    }
@@ -1173,65 +1173,65 @@
   
 //  fprintf(stdout,"vsq: keyerr=%d, eosrl = %d, anyerr = %d \n",eosvars->eoskeyerr[0],eosvars->eosrl, eosvars->eosanyerr[0]);
 //  fprintf(stdout,"vsq: rho0=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,epsilon,eosvars->eos_temp[0],eosvars->eos_y_e[0]);
-  #pragma omp critical 
-  if (eosvars->eosanyerr[0] != 0) {
-     fprintf(stdout,"inside vsq_omni: anyerr=%d rl=%d\n",eosvars->eosanyerr[0], eosvars->eosrl);
-     if (eosvars->eosrl >= GRHydro_c2p_warn_from_reflevel) {
-        if(eosvars->eoskeyerr[0] == 667 && GRHydro_eos_hot_eps_fix != 0) {
-           // Handling of the case when no new temperature can be
-           // found for a given epsilon. The amount of times
-           // we get to this place should be monitored, as this
-           // 'failsafe' mode creates artificial heat.
-           nf = 0;
-           while(eosvars->eosanyerr[0] != 0 && nf<= nfudgemax) {
-              eosvars->eosanyerr[0] = 0;
-              lgp->tau = lgp->tau + rho0*abs(epsilon)*0.05*Lor*Lor;
-              epsilon = epsilon + abs(epsilon)*0.05;
-              u = epsilon*rho0;
-              CCTK_WARN(failwarnmode,"Injecting heat inside vsq_omni without resetting tau");
-              fprintf(stdout,"Injecting heat inside vsq_omni without resetting tau: anyerr=%d\n",eosvars->eosanyerr[0]);
-              EOS_Omni_press(eosvars->eoshandle,eosvars->eoskeytemp,eosvars->eosprec,1,
-                 &rho0,&epsilon,eosvars->eos_temp,
-                 eosvars->eos_y_e,&p_tmp,eosvars->eoskeyerr,eosvars->eosanyerr);
-              nf = nf + 1;
-           } 
-           fprintf(stdout, "Iterations of heat injection: %d \n",nf);
-           fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars->eosit,eosvars->eosrl,eosvars->eosi,eosvars->eosj,eosvars->eosk,eosvars->eosx,eosvars->eosy,eosvars->eosz);
-           if(nf >= nfudgemax) { 
-              if(GRHydro_c2p_reset_eps_tau_hot_eos != 1) {
-                 CCTK_WARN(failinfomode,"EOS error in c2p 0: injected heat too many times");
-                 fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars->eosit,eosvars->eosrl,eosvars->eosi,eosvars->eosj,eosvars->eosk,eosvars->eosx,eosvars->eosy,eosvars->eosz);
-                 //CCTK_WARN(failinfomode,warnline);
-                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,epsilon,eosvars->eos_temp[0],eosvars->eos_y_e[0]);
-                 //call CCTK_WARN(failinfomode,warnline)
-                 fprintf(stdout,"code=%d\n",eosvars->eoskeyerr[0]);
-                 //call CCTK_WARN(failinfomode,warnline)
-                 CCTK_WARN(failwarnmode,"Aborting!!!");
-              } 
-              else {
-                 CCTK_WARN(failinfomode,"EOS error in c2p 0: LAST RESORT -- reset eps and tau based on old temp");
-                 fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars->eosit,eosvars->eosrl,eosvars->eosi,eosvars->eosj,eosvars->eosk,eosvars->eosx,eosvars->eosy,eosvars->eosz);
-                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,epsilon,eosvars->eos_temp[0],eosvars->eos_y_e[0]);
-                 eosvars->eoskeytemp =1; 
-                 EOS_Omni_press(eosvars->eoshandle,eosvars->eoskeytemp,eosvars->eosprec,1,
-                 &rho0,&epsilon,eosvars->eos_temp,eosvars->eos_y_e,&p_tmp,eosvars->eoskeyerr,eosvars->eosanyerr);
-                 //tau = (rho0 + rho0*(*epsilon) + lg.bsq + p)*w*w - (p + lg.bsq/2.0) - w*w*lg.VdotBsq - rho0*w;
-                 lgp->tau = (rho0 + rho0*epsilon + lgp->bsq + p_tmp)*Lor*Lor - (p_tmp + lgp->bsq/2.0) - Lor*Lor*lgp->VdotBsq - rho0*Lor;
-                 u = epsilon*rho0;
-                 eosvars->eoskeytemp = 0;
-                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,epsilon,eosvars->eos_temp[0],eosvars->eos_y_e[0]);
-              }
-           }
-        }
-        else {
-          CCTK_WARN(failinfomode,"EOS error in c2p 0");
-          fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars->eosit,eosvars->eosrl,eosvars->eosi,eosvars->eosj,eosvars->eosk,eosvars->eosx,eosvars->eosy,eosvars->eosz);
-          fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,epsilon,eosvars->eos_temp[0],eosvars->eos_y_e[0]);
-          fprintf(stdout,"code=%d\n",eosvars->eoskeyerr[0]);
-          CCTK_WARN(failwarnmode,"Aborting!!!");
-       }
-    } 
-  }
+//  #pragma omp critical 
+//  if (eosvars->eosanyerr[0] != 0) {
+//     fprintf(stdout,"inside vsq_omni: anyerr=%d rl=%d\n",eosvars->eosanyerr[0], eosvars->eosrl);
+//     if (eosvars->eosrl >= GRHydro_c2p_warn_from_reflevel) {
+//        if(eosvars->eoskeyerr[0] == 667 && GRHydro_eos_hot_eps_fix != 0) {
+//           // Handling of the case when no new temperature can be
+//           // found for a given epsilon. The amount of times
+//           // we get to this place should be monitored, as this
+//           // 'failsafe' mode creates artificial heat.
+//           nf = 0;
+//           while(eosvars->eosanyerr[0] != 0 && nf<= nfudgemax) {
+//              eosvars->eosanyerr[0] = 0;
+//              lgp->tau = lgp->tau + rho0*abs(epsilon)*0.05*Lor*Lor;
+//              epsilon = epsilon + abs(epsilon)*0.05;
+//              u = epsilon*rho0;
+//              CCTK_WARN(failwarnmode,"Injecting heat inside vsq_omni without resetting tau");
+//              fprintf(stdout,"Injecting heat inside vsq_omni without resetting tau: anyerr=%d\n",eosvars->eosanyerr[0]);
+//              EOS_Omni_press(eosvars->eoshandle,eosvars->eoskeytemp,eosvars->eosprec,1,
+//                 &rho0,&epsilon,eosvars->eos_temp,
+//                 eosvars->eos_y_e,&p_tmp,eosvars->eoskeyerr,eosvars->eosanyerr);
+//              nf = nf + 1;
+//           } 
+//           fprintf(stdout, "Iterations of heat injection: %d \n",nf);
+//           fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars->eosit,eosvars->eosrl,eosvars->eosi,eosvars->eosj,eosvars->eosk,eosvars->eosx,eosvars->eosy,eosvars->eosz);
+//           if(nf >= nfudgemax) { 
+//              if(GRHydro_c2p_reset_eps_tau_hot_eos != 1) {
+//                 CCTK_WARN(failinfomode,"EOS error in c2p 0: injected heat too many times");
+//                 fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars->eosit,eosvars->eosrl,eosvars->eosi,eosvars->eosj,eosvars->eosk,eosvars->eosx,eosvars->eosy,eosvars->eosz);
+//                 //CCTK_WARN(failinfomode,warnline);
+//                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,epsilon,eosvars->eos_temp[0],eosvars->eos_y_e[0]);
+//                 //call CCTK_WARN(failinfomode,warnline)
+//                 fprintf(stdout,"code=%d\n",eosvars->eoskeyerr[0]);
+//                 //call CCTK_WARN(failinfomode,warnline)
+//                 CCTK_WARN(failwarnmode,"Aborting!!!");
+//              } 
+//              else {
+//                 CCTK_WARN(failinfomode,"EOS error in c2p 0: LAST RESORT -- reset eps and tau based on old temp");
+//                 fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars->eosit,eosvars->eosrl,eosvars->eosi,eosvars->eosj,eosvars->eosk,eosvars->eosx,eosvars->eosy,eosvars->eosz);
+//                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,epsilon,eosvars->eos_temp[0],eosvars->eos_y_e[0]);
+//                 eosvars->eoskeytemp =1; 
+//                 EOS_Omni_press(eosvars->eoshandle,eosvars->eoskeytemp,eosvars->eosprec,1,
+//                 &rho0,&epsilon,eosvars->eos_temp,eosvars->eos_y_e,&p_tmp,eosvars->eoskeyerr,eosvars->eosanyerr);
+//                 //tau = (rho0 + rho0*(*epsilon) + lg.bsq + p)*w*w - (p + lg.bsq/2.0) - w*w*lg.VdotBsq - rho0*w;
+//                 lgp->tau = (rho0 + rho0*epsilon + lgp->bsq + p_tmp)*Lor*Lor - (p_tmp + lgp->bsq/2.0) - Lor*Lor*lgp->VdotBsq - rho0*Lor;
+//                 u = epsilon*rho0;
+//                 eosvars->eoskeytemp = 0;
+//                 fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,epsilon,eosvars->eos_temp[0],eosvars->eos_y_e[0]);
+//              }
+//           }
+//        }
+//        else {
+//          CCTK_WARN(failinfomode,"EOS error in c2p 0");
+//          fprintf(stdout, "it=%d, rl=%d, i=%d, j=%d, k=%d, x=%f,y=%f,z=%f\n",eosvars->eosit,eosvars->eosrl,eosvars->eosi,eosvars->eosj,eosvars->eosk,eosvars->eosx,eosvars->eosy,eosvars->eosz);
+//          fprintf(stdout,"rho=%f, epsilon=%f, temp=%f, ye=%f\n", rho0,epsilon,eosvars->eos_temp[0],eosvars->eos_y_e[0]);
+//          fprintf(stdout,"code=%d\n",eosvars->eoskeyerr[0]);
+//          CCTK_WARN(failwarnmode,"Aborting!!!");
+//       }
+//    } 
+//  }
 
   lgp->Qdotn = -(lgp->tau + lgp->D);
   B2plusW = lgp->Bsq+W;



More information about the Commits mailing list