Please report all errors/typos. etc to Matt Choptuik at choptuik@physics.ubc.ca
Last updated March 26, 2010
Project 1:
Scalar Wave Evolution on
a Schwarzschild Background
- PROJECT HANDOUT [PDF]
- Account confguration
- Solving the 1-D wave equation with RNPL:
It
is recommended that you quickly work through these notes, and use
the RNPL source file, w1dcn/w1dcn_rnpl
as a template for your implementation.
- Generic Makefile for RNPL applications: Makefile.rnpl
- Source files for w1dcnm, an extension of w1dcn
that illustrates the incorporation of external source into RNPL
code:
- March 16
and March 18 tutorials: Warm-up exercise: Modify w1dcn_rnpl so that it implements a
solution of the wave equation on 0
<= x <= 1, but with fixed
(Dirichlet) boundary conditions on phi.
Note
that the basic FD scheme should remain the same: i.e.
continue to work with the wave equation re-written as a system of
first-order-in-time PDEs for pp=phi_x
and pi=phi_t and figure out
how the
Dirichlet conditions on phi,
namely phi(t,0) = phi(t,1) = 0,
can
be implemented as boundary conditions for pp(t,0), pp(t,1) and pi(t,0), pi(t,1). Investigate
the
convergence of your implementation.
HINT:
If you're having difficulty figuring out what the appropriate boundary
conditions are for Phi(t,0), Phi(t,1), consider first modifying
the RNPL code so that it
solves the wave equation in the following first-order-in-time form
phi(t,x)_t =
pi
pi(t,x)_t
= phi_xx
with the boundary conditions
phi(t,0) =
phi(t,1) = 0
pi(t,0) =
pi(t,1) = 0
and initial conditions
phi(0,x) =
G(x; ...)
pi(0,x) =
s dG(x; ...)/dx
where G(x;. ..) is the usual
Gaussian profile (...
denotes the real-valued parameters that define the specific gaussian
profile, i.e. overall amplitude, A, etc).
Once you are confident that your RNPL implementation is correct (view
convergence testing as mandatory!), examine the behaviour of phi_x(t,0) and phi_x(t,1) using xvs to compute
the
spatial derivative. This should give you insight into
what boundary condition you should impose on pp_x(t,0) and pp_x(t,1) to solve the
exercise. If it doesn't, take another derivative and consider phi_xx(t,0) and phi_xx(t,1).
If that still doesn't help, ask Matt or Ben for assistance.
- March 18
and March 19 tutorials and homework: Complete Project 1