aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/InitialData.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/InitialData.cc b/src/InitialData.cc
index 5e457d8..d5c6682 100644
--- a/src/InitialData.cc
+++ b/src/InitialData.cc
@@ -83,8 +83,17 @@ extern "C" void IDScalarWaveCXX_InitialData(CCTK_ARGUMENTS)
CCTK_REAL R = sqrt(X*X + Y*Y + Z*Z);
phi[index] = amplitude*exp( - sqr( (R - radius) / sigma ) );
- phi_p[index] = amplitude*exp( - sqr( (R - radius - dt) / sigma ) );
-
+ if (R == 0.0)
+ {
+ phi_p[index] = amplitude*(1.0 - 2.0*dt*dt/sigma)*exp(-dt*dt/sigma);
+ }
+ else
+ {
+ phi_p[index] = amplitude/2.0*(R-dt)/R*
+ exp( - sqr( (R - radius - dt)/ sigma ) )
+ + amplitude/2.0*(R+dt)/R*
+ exp( - sqr( (R - radius + dt)/ sigma ) );
+ }
}
}
}