So, let's proceed and let's turn this two-dimensional wave equation that we now know in a continuous form into something we can solve on the computer. So, we try to turn, we try to apply our finite-difference approximation to this equation in two dimensions. So, look again at the original equation. First, we have to transform our fields from the continuous world in the discrete world and we proceed as we did in the one-dimensional case and turn for example, p as a function of x, z and t now into its discrete version which again we use upper index n for time and now we have two lower indices j and k that denote the space dependence. The same applies to the other fields like the velocity field, this is only space dependent and c as a function of x and z turns into C of j, k and similar also the source term. That depends both on space j, k and on time n. Now, with this discrete version of course we have now the space discretized in j dx and k dz but, note a very important point; this doesn't make it more simple but for simplicity, we assume that dz is equal to dx. So basically, we have the same space increment in x and z and that makes later an analytical treatment easier. Also we have the discrete time, our time step is dt so, time is discretized as n times dt. Before proceeding to the finite difference approximation, let's look again how this discretization looks like graphically. So, basically we now have a discrete version of space which is, in this case, a regular grid in two dimensions, here shown horizontally as the two axes, x,z. So j and k and the vertical axis is time. So basically what we will do, is we have to find a scheme that extrapolates the space, the space dependent fields like the pressure field into the next time levels as we did in the one-dimensional case. Now we proceed and replace the partial derivatives by their finite difference approximations. So let's first write down the wave equation again in its discrete version and we have the partial derivatives on both sides of the equal sign. Let's start with the time derivative, that's actually straightforward, it's exactly the same procedure as was the case in one dimension. So we replace the second time derivative by the approximation for the second derivative. So for that we need of course the time levels; p of n minus one, p of n and p of n plus one and we divide by dt square. That allows us to calculate the second derivative in time. On the right hand side now, we have the Laplace operator and in this case, in the two-dimensional case, we have the second derivative with respect to the first space variable, that's x and the second space variables which is z. So, they can be treated separately and just for one example, we basically use again the same approximation for the second derivative. For example p at the time step n and we take the difference of P at j plus one minus two Pj and Pj minus one and the case remain the same. Equivalently also for the z derivative, so, basically now we have on both sides the partial derivatives replaced by their finite difference approximations. All the other terms remain the same and we can now proceed, as was the case in the one-dimensional case, to basically put everything that is not the field in the future at n plus one to the right hand side. So that leads to our well-known extrapolation scheme basically on the left-hand side. We only have the future value of the pressure field at j, k. So the indices j, k at time level n plus one, that's basically our future time level. Everything on the right hand side is a function of either the presence, which is time step n or the past time step n minus one. Basically, that's again an explicit finite difference extrapolation scheme with which we can now basically loop over all points at one time level, the future time level, and extrapolate the pressure field to obtain progressively the whole system in the space time. We're now going to actually look at the Python implementation of this very simple algorithm that's already very powerful. You can actually learn quite a lot of wave phenomena with this very simple scalar acoustic wave equation and we'll see what the Python code, how the solution looks like in two dimensions.