0
$\begingroup$

I am looking for an unconditionally stable, convergent finite difference scheme for $$ u_t = \Delta u - u$$ on the cube $0 \leq x,y,z \leq 1$ with $t > 0$ and a zero boundary condition on the boundary, smooth initial data. However, the kicker is that the scheme should only involve inverting $n \times n$ matrices where $n$ is the number of grid points per direction. Meaning in the x direction, there are the grid points $x_1, x_2, \dots, x_n.$


The first thought that comes to head immediately after seeing the equation is using forward in time, and centered in space for the second derivatives, such as $$ u_{xx} \approx \frac{u(x-h) - 2u(x) + u(x+h)}{h^2}.$$ Once discretized, one sees that one needs data from the $x_0$ and $x_{n+1}$ grid points. Perhaps there is a way to treat the boundary condition so that this isn't the case? Any suggestions on this thought? Any help at all is appreciated! Thanks.

$\endgroup$
0
$\begingroup$

My guess is for you to have a look at the splitting schemes, e.g., Douglas-Gunn's scheme or locally one-dimensional schemes or any other scheme which works in 3D. They are all unconditionally stable for uniform mesh which you have, they can be second order accurate in time, they all require only inverting one-dimensional operators which is what you are looking for. Briefly speaking, you approximate the Laplace operator by simplest finite difference formula (which you mention) and then go for some time approximation with fractional steps. The boundary conditions are treated as usual in finite differences. It can be tricky for splitting schemes but not for the case of homogeneous Dirichlet boundary conditions - here it is simple.

Classical reference, e.g., is Richtmyer-Morton's book. The only thing is that the schemes are usually written for pure Laplacian. But I am pretty sure they can be extended for your case as well.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.