diff options
-rw-r--r-- | src/InitialData.cc | 13 |
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 ) ); + } } } } |