Before we start making a real simulation, we have to talk about boundary conditions and initial conditions. Actually, the boundary conditions for the acoustic wave equation is relatively simple, we basically set the pressure values to zero at the edges and that more or less means, we get perfectly reflecting boundaries. All the energy that goes to the sides will come back in. There are other possible boundary conditions that we are not going to be concerned with at the moment. The other thing is the initial condition. Now, the initial condition will be, first, the pressure at time equals zero is zero, so everything is at rest and also the time derivative of the pressure at time equals zero is zero. So, this is going to be the boundary and the initial conditions that we implement in our algorithm. But what about the source term, s(x,t). As you know, if we solve partial differential equations, often we'll make use of the concept of delta functions. The delta function is defined as, delta of x equals basically infinity at x equals zero and zero everywhere else. An important property is that, by definition, the integral over the delta function is equal to one. Now, something we will get into more detail later on, is we will compare our numerical approximation to the analytical solutions where possible. We're making use of the so-called Green's function, which of course is an impulse response of our partial differential equation. Now, is there any numerical approximation or is there a discrete approximation for delta function? We've seen this already in the previous week and in space actually, we make use of a Boxcar delta-generating function as you see here, that's basically proportional to one over dx. So, if the dx increment gets smaller and smaller, this function converges to the delta function and in time, we're going to make use of of a Gaussian function. We've encountered it before, where if you make the half width of the Gaussian smaller and smaller, this function also converges to a delta function in both. Basically, finite approximations have the properties that the integral of that function is equal to one. How can we imagine to input such a source term in practice? Now, if you consider again, the space discretization, having a source at one particular point would then correspond to a discrete version of a delta function injected at for example here at JS, would be the index of the grid point at which we introduce a source term. In terms of time behavior, we now encountered the concept of a source time function. So, at the beginning, everything is at rest and then progressively, as the simulation continues, we will start injecting energy at this particular point, that's a little bit like clapping your hands and the waves propagate away. This would correspond to a very short duration pulse, that we send into the world. Often, we make use of a first derivative of a Gaussian function and the equation you see here, that's a very nice way of basically defining a dominant frequency f 0 here, for a first derivative of a Gaussian, that's often used for wave simulation problems. You can look at the source time function in the spectral space, if you take a Fourier transform, you get the amplitude spectrum of that function and you can see, actually it contains quite a lot of frequencies but the dominant energy is at the frequency f 0. With this source time function, we're now basically ready to initialize a physical problem to make a simulation using the finite difference approximation that we developed for the acoustic wave equation.