/*@@ @file EOS_GeneralHybrid_Analysis.F @date @author Harry Dimmelmeier, Ian Hawke, Christian Ott @desc Calculates the polytropic and thermal contributions to the total pressure. @enddesc @@*/ #include "cctk.h" #include "cctk_Arguments.h" #include "cctk_Parameters.h" /*@@ @routine Check_Poly_Contrib_General @date @author Harry Dimmelmeier, Ian Hawke, Christian Ott @desc The routine that calculates the contributions. @enddesc @calls @calledby @history @endhistory @@*/ subroutine Check_Poly_Contrib_General(CCTK_ARGUMENTS) USE EOS_GP_Scalars USE EOS_GeneralHybrid_Scalars implicit none DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_PARAMETERS CCTK_INT :: i,j,k CCTK_REAL local_eos_gamma, local_eos_k_cgs, d_p_poly, d_p_th_1, & d_p_th_2, zero do k = 1, cctk_lsh(3) do j = 1, cctk_lsh(2) do i = 1, cctk_lsh(1) if (rho(i,j,k) > rho_nuc) then local_eos_gamma = eos_gamma_supernuclear local_eos_k_cgs = eos_k_supernuclear_cgs else local_eos_gamma = eos_gamma local_eos_k_cgs = eos_k_cgs end if pressure_poly(i,j,k) = p_geom_factor * local_eos_k_cgs * & (rho(i,j,k) * rho_geom_factor_inv)**local_eos_gamma pressure_th(i,j,k) = - p_geom_factor * local_eos_k_cgs * & (eos_gamma_th - 1.d0) / (local_eos_gamma - 1.d0) * & (rho(i,j,k) * rho_geom_factor_inv)**local_eos_gamma + & (eos_gamma_th - 1.d0) * rho(i,j,k) * eps(i,j,k) - & (eos_gamma_th - 1.d0) * (local_eos_gamma - eos_gamma) / & (eos_gamma - 1.d0) / (eos_gamma_supernuclear - 1.d0) * & p_geom_factor * eos_k_cgs * & rho_geom_factor_inv**eos_gamma * & rho_nuc**(eos_gamma - 1.d0) * rho(i,j,k) end do end do end do end subroutine Check_Poly_Contrib_General