aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrhaas <rhaas@ac85fae7-cede-4708-beff-ae01c7fa1c26>2012-08-09 06:26:55 +0000
committerrhaas <rhaas@ac85fae7-cede-4708-beff-ae01c7fa1c26>2012-08-09 06:26:55 +0000
commit43b1fcdae4892d4fb2a381a47a1bc55b92a0d141 (patch)
tree61b67c5f843b2c70abe112b381a7406be4181bb9
parent511ccc68379da5a18882af549547096a0c8fc886 (diff)
Added option to smooth metric inside horizon
Signed-off-by: Bruno Coutinho Mundim <bcmsma@astro.rit.edu> git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/GRHydro_InitData/trunk@148 ac85fae7-cede-4708-beff-ae01c7fa1c26
-rw-r--r--param.ccl4
-rw-r--r--src/GRHydro_Bondi_new.F9013
2 files changed, 15 insertions, 2 deletions
diff --git a/param.ccl b/param.ccl
index 950be6d..29f7c29 100644
--- a/param.ccl
+++ b/param.ccl
@@ -97,6 +97,10 @@ REAL shock_radius "Radius of sperical shock"
0.0:* :: "Anything positive"
} 1.0
+BOOLEAN use_smooth_puncture_data "Smooth puncture solution inside R=M using 4th order matching polynomial"
+{
+} "no"
+
BOOLEAN change_shock_direction "Change the shock direction"
{
} "no"
diff --git a/src/GRHydro_Bondi_new.F90 b/src/GRHydro_Bondi_new.F90
index 31e7c43..bc059f6 100644
--- a/src/GRHydro_Bondi_new.F90
+++ b/src/GRHydro_Bondi_new.F90
@@ -55,7 +55,7 @@ subroutine GRHydro_Bondi_Iso(CCTK_ARGUMENTS)
CCTK_REAL :: M, Msq, Mdot, rs, gam, rmin_bondi, rmax_bondi, cs_sq,cs,vs_sq,vs,rhos,gtemp,hs, Kval, Qdot
CCTK_REAL :: logrmin,dlogr,rhotmp,utmp,vtmp,rspher
CCTK_REAL :: r_bondi(N_points), logr_bondi(N_points), rho_bondi(N_points), u_bondi(N_points), v_bondi(N_points)
- CCTK_REAL :: drhodr, det, rhocheck, rhocheck2, riso, rnew, rsch, ucheck
+ CCTK_REAL :: drhodr, det, rhocheck, rhocheck2, riso, rnew, rsch, ucheck, psinew
CCTK_REAL :: uiso, uisocheck, vcheck, ucheck2, vcheck2, xhat,yhat, zhat, xp, yp, zp
!!$set_bondi_parameters
@@ -169,7 +169,16 @@ subroutine GRHydro_Bondi_Iso(CCTK_ARGUMENTS)
yhat = yp/riso
zhat = zp/riso
- if(riso < 1.0e-7) then
+ if(use_smooth_puncture_data.ne.0 .and. riso.lt.M) then
+ psinew=2.875 - 5*(riso/M)**2 + 6*(riso/M)**4
+ gxx(i,j,k) = psinew**4
+ gyy(i,j,k) = psinew**4
+ gzz(i,j,k) = psinew**4
+ gxy(i,j,k) = 0.0
+ gxz(i,j,k) = 0.0
+ gyz(i,j,k) = 0.0
+
+ else if(riso < 1.0e-7) then
gxx(i,j,k) = 1.0e4
gyy(i,j,k) = 1.0e4
gzz(i,j,k) = 1.0e4