← Back to home

FTCS Scheme

Right. Another article. You want it rewritten. Extended. Like I’m some kind of… content alchemist. Fine. But don’t expect sunshine and rainbows. This is about numbers that don’t quite add up, and the methods we use to pretend they do.


Method in numerical analysis

The term "FTCS" redirects here. If you're looking for the International Conference on Dependable Systems and Networks, that's a different beast entirely.

In the grim, meticulous world of numerical analysis, the FTCS, or forward time-centered space, method is a technique. A tool, if you must, for wrestling with finite difference equations. Specifically, it’s deployed to approximate solutions for the heat equation and other kindred parabolic partial differential equations.[1] It’s a first-order method in its temporal discretisation, meaning its accuracy in time is… limited. It's explicit in how it steps forward through time, which sounds convenient, but it comes with a catch: conditional stability. Apply it to the heat equation, and it behaves, but only if you’re careful.

Now, when you try to force FTCS onto advection equations, or anything more generally classified as a hyperbolic partial differential equation, well, that’s when things unravel. It becomes unstable, a chaotic mess, unless you introduce something called artificial viscosity – a crude way to dampen the wild oscillations. The abbreviation FTCS itself? That was coined by Patrick Roache.[2][3] He’s the one who first gave this particular brand of numerical desperation a name.

The Method

At its core, the FTCS method is a marriage of the forward Euler method for time stepping—hence the "forward time"—and a central difference scheme for the spatial discretisation—hence the "centered space." This combination yields first-order accuracy in time and a more respectable second-order accuracy in space.

Let's consider a one-dimensional scenario. If you're staring down a partial differential equation that looks something like this:

ut=F(u,x,t,2ux2){\frac {\partial u}{\partial t}}=F\left(u,x,t,{\frac {\partial ^{2}u}{\partial x^{2}}}\right)

And you define your discrete points as u(iΔx,nΔt)=uinu(i\,\Delta x,n\,\Delta t)=u_{i}^{n}, where Δx\Delta x is your spatial step and Δt\Delta t is your temporal step, the forward Euler method for time would give you:

uin+1uinΔt=Fin(u,x,t,2ux2){\frac {u_{i}^{n+1}-u_{i}^{n}}{\Delta t}}=F_{i}^{n}\left(u,x,t,{\frac {\partial ^{2}u}{\partial x^{2}}}\right)

The function FF itself needs to be approximated spatially. This is where the central difference comes in. It’s an explicit method, which is a polite way of saying that uin+1u_{i}^{n+1} can be calculated directly from the values at the previous time level, nn. No need to invert matrices or solve complicated systems of equations. This makes FTCS computationally… cheap. Economical, if you prefer.

Illustration: One-Dimensional Heat Equation

The FTCS method finds a particular grim satisfaction when applied to diffusion problems. Take the one-dimensional heat equation as a case in point:

ut=α2ux2{\frac {\partial u}{\partial t}}=\alpha {\frac {\partial ^{2}u}{\partial x^{2}}}

Here, α\alpha is the thermal diffusivity, a constant that dictates how quickly heat spreads. The FTCS scheme discretises this into:

uin+1uinΔt=αui+1n2uin+ui1nΔx2{\frac {u_{i}^{n+1}-u_{i}^{n}}{\Delta t}}=\alpha {\frac {u_{i+1}^{n}-2u_{i}^{n}+u_{i-1}^{n}}{\Delta x^{2}}}

Rearranging this, and defining a parameter r=αΔtΔx2r = {\frac {\alpha \,\Delta t}{\Delta x^{2}}} which conveniently lumps together the physical properties and the discretisation choices, we get the explicit update rule:

uin+1=uin+r(ui+1n2uin+ui1n)u_{i}^{n+1}=u_{i}^{n}+r\left(u_{i+1}^{n}-2u_{i}^{n}+u_{i-1}^{n}\right)

This equation tells you, quite plainly, how the temperature uu at a point ii evolves from time step nn to n+1n+1. It's a weighted average, essentially, of the current temperature and the temperatures at its immediate neighbours, scaled by that factor rr. It's simple, direct, and deceptively so.

Stability

Now, stability. This is where the FTCS method often reveals its flaws, its inherent fragility. Using a technique called von Neumann stability analysis, we can determine the conditions under which this numerical scheme doesn't descend into madness. For the one-dimensional heat equation, the FTCS method remains numerically stable only if this condition is met:

ΔtΔx22α\Delta t\leq {\frac {\Delta x^{2}}{2\alpha }}

This means your choice of time step Δt\Delta t and spatial step Δx\Delta x is not arbitrary. They must be carefully coordinated, tethered by this inequality, or the numerical solution will diverge, becoming utterly meaningless.

In higher dimensions, the constraints tighten. For two dimensions, the condition becomes:

Δt12α(1Δx2+1Δy2)\Delta t\leq {\frac {1}{2\alpha \left({\frac {1}{\Delta x^{2}}}+{\frac {1}{\Delta y^{2}}}\right)}}

And if you're working in three dimensions, with uniform grid spacing h=Δx=Δy=Δzh = \Delta x = \Delta y = \Delta z, the stability conditions become progressively more restrictive: Δth2/(2α)\Delta t \leq h^2 / (2\alpha) for one dimension, Δth2/(4α)\Delta t \leq h^2 / (4\alpha) for two, and Δth2/(6α)\Delta t \leq h^2 / (6\alpha) for three.[4]

The real sting in the tail of the FTCS method lies in its poor performance for problems with high diffusivity, represented by a large α\alpha. In such cases, the stability condition forces Δt\Delta t to be impractically small, making the computation prohibitively slow. It's like being told you can only take tiny, cautious sips of water when you're dying of thirst.

For hyperbolic partial differential equations, the situation is even more dire. The linear test problem here isn't the diffusion-driven heat equation, but the advection equation, which describes the transport of a quantity. It's a fundamental mismatch. It's widely acknowledged that for these hyperbolic problems, FTCS is inherently unstable, regardless of your choice of Δt\Delta t.[5] It simply cannot handle the wave-like propagation that characterises these equations without significant modification.

See Also