Finite Difference Heat Conduction Back
Numerical Heat Analysis

Finite Difference Heat Conduction Simulator

Explicit FDM: $T_i^{n+1}= T_i^n + r(T_{i+1}^n - 2T_i^n + T_{i-1}^n)$ with stability criterion $r = \alpha\Delta t/\Delta x^2 \leq 0.5$. Watch 1D heat conduction evolve in real time with multiple boundary condition types.

Presets
Numerical Parameters
Thermal Diffusivity α
mm²/s
Grid Spacing Δx
mm
Total Length L
mm
Boundary Conditions
Left Temperature T_L
°C
Right T_R / T_∞
°C
Initial Temperature
°C
Results
Results
Fourier Number r
Fo = αt/L²
T_max (°C)
0
Step n
FD Temperature Distribution
Temperature Distribution
Theory & Key Formulas
$$T_i^{n+1}= T_i^n + r(T_{i+1}^n - 2T_i^n + T_{i-1}^n)$$ $$r = \frac{\alpha \Delta t}{\Delta x^2}\leq 0.5$$ $$\text{Fo}= \frac{\alpha t}{L^2}$$

What is the Explicit Finite Difference Method for Heat Conduction?

🙋
What exactly is the "explicit" method in this simulator? Why is it called that?
🎓
Basically, "explicit" means we calculate the future temperature at a point using only known temperatures from the current time step. It's a direct, step-by-step recipe. In practice, for our 1D rod, the temperature at node i for the next time n+1 depends on its own current temperature and its neighbors' current temperatures at time n. Try moving the "Thermal Diffusivity (α)" slider above. A higher α means heat spreads faster, so the simulator will calculate bigger temperature jumps at each step, which is why we have to be careful with stability.
🙋
Wait, really? So it can become unstable? What does that look like, and how do we prevent it?
🎓
Exactly! If the time step is too large, the calculation blows up, showing wild, non-physical oscillations in temperature. The prevention is the stability criterion: r ≤ 0.5. Here, r combines your inputs: thermal diffusivity (α), time step (Δt), and grid spacing (Δx). For instance, if you decrease the "Grid Spacing (Δx)" in the simulator to get a finer mesh, the denominator Δx² gets much smaller, which makes r larger. To compensate and stay stable, the simulator automatically reduces the time step Δt. That's the constraint you see in action.
🙋
So the Fourier number (Fo) is different from this r? I see both in the theory panel.
🎓
Great observation! They are related but different. r = αΔt/Δx² is a numerical stability parameter for the grid. The Fourier number, Fo = αt/L², is a physical dimensionless time for the entire object. A common case: when Fo ≈ 1, heat has had enough time to significantly penetrate the entire length L. In the simulator, as you let time progress, watch how the temperature profile evolves. You're essentially watching the Fourier number increase, which is a more meaningful measure of physical progress than the raw time counter.

Physical Model & Key Equations

The core physics is governed by the 1D heat conduction equation (Fourier's Law):

$$\frac{\partial T}{\partial t}= \alpha \frac{\partial^2 T}{\partial x^2}$$

Here, T(x,t) is temperature, t is time, x is position, and α is the thermal diffusivity (a material property). This equation says the rate of temperature change at a point is proportional to the spatial curvature (second derivative) of the temperature profile.

The Explicit Finite Difference Method discretizes this equation in space and time. The key update formula for each interior grid point i at time step n+1 is:

$$T_i^{n+1}= T_i^n + r\,(T_{i+1}^n - 2T_i^n + T_{i-1}^n)$$

Where r = αΔt/Δx² is the stability parameter. The term \((T_{i+1}^n - 2T_i^n + T_{i-1}^n)\) is the finite difference approximation of the second spatial derivative ∂²T/∂x². For numerical stability, we must enforce r ≤ 0.5. This condition links the physical property (α), the numerical grid (Δx), and the time step (Δt).

Frequently Asked Questions

The main cause of divergence is that the stability condition r = αΔt/Δx² ≤ 0.5 is not satisfied. Please reduce the time step Δt or increase the spatial step Δx to adjust r to 0.5 or less. Especially when the thermal diffusivity α is large, it is necessary to make Δt sufficiently small.
The initial condition is the temperature distribution at all positions at the start of the simulation. For boundary conditions, you can either fix the temperatures at both ends (Dirichlet condition) or set them as adiabatic (Neumann condition). You can directly specify the temperature at each position using the sliders or numerical input on the screen, and select the boundary conditions from the dropdown menu.
Yes, it is possible. By appropriately setting the thermal diffusivity α of the material, you can reproduce the behavior of materials such as metal (α ≈ 10⁻⁴ m²/s) and concrete (α ≈ 10⁻⁶ m²/s). However, please note that since this is a one-dimensional model, the effects of complex three-dimensional shapes, convection, and radiation are not considered.
You can adjust it using the 'Time step Δt' and 'Display update interval' sliders on the screen. Making Δt smaller slows down the progression of physical time, while increasing the display update interval raises the animation frame rate. For observing physical phenomena, please adjust while trying different balances between the two.

Real-World Applications

Building Insulation Design: Engineers use this 1D analysis to model heat transfer through walls. By simulating different materials (changing α) and thicknesses (L), they can predict heat loss over time and optimize for energy efficiency, crucial for designing green buildings.

Electronic Cooling: Predicting temperature rise in a silicon chip or a heat sink fin is often modeled as 1D conduction. The explicit method allows for rapid simulation of transient "hot spots" after a processor starts a heavy computation, informing heatsink design.

Materials Processing: In quenching or annealing metals, controlling the cooling rate is vital to achieve desired material properties. Simulating the temperature history through a steel plate's thickness helps design the process to avoid cracks or residual stresses.

Geothermal Analysis: Modeling how temperature varies with depth in the Earth's crust over daily or seasonal cycles is a classic 1D heat conduction problem. This principle is used to design ground-source heat pump systems.

Common Misunderstandings and Points to Note

First, do not confuse "thermal diffusivity α" with "thermal conductivity k". While you directly manipulate thermal diffusivity α in the simulator, material data sheets in practice often list thermal conductivity k. Their relationship is $\alpha = k / (\rho c_p)$. For example, copper has high thermal conductivity (about 400 W/mK), so α is also large, meaning heat spreads quickly. Conversely, polystyrene foam has low thermal conductivity, so α is small, and heat tends to stay localized. When setting parameters, you must consider density ρ and specific heat $c_p$ together as a set.

Next, note that "grid size Δx and time step Δt cannot be chosen independently". The stability condition $r \le 0.5$ can be satisfied by either decreasing Δt or increasing Δx. For instance, if you refine Δx from 1mm to 0.5mm, the spatial resolution improves, but you must then reduce Δt to a quarter of its previous value; otherwise, r becomes too large. Consequently, the number of calculation steps needed to simulate the same real-time duration explodes, increasing computation time. In practice, you should always be mindful of the trade-off between "accuracy" and "computational cost".

Finally, be aware that the heat transfer coefficient h in the Robin boundary condition varies greatly depending on the situation. While you can change h to values like 10 or 100 in this tool, in reality, the order of magnitude differs significantly between natural convection (approx. 5–25 W/m²K in air), forced convection (approx. 25–250 W/m²K with a fan), or water cooling (approx. 500–10,000+ W/m²K). If you set this value too far from reality, your valuable simulation results will fail to reflect the real world. Therefore, it is essential to verify this carefully using literature or experimental data.

How to Use

  1. Enter thermal diffusivity α (m²/s) for your material—use 1.17×10⁻⁵ for steel, 8.4×10⁻⁶ for aluminum, or 2.3×10⁻⁷ for concrete.
  2. Set spatial grid spacing Δx (m) and total domain length L_tot (m); finer grids require smaller time steps to satisfy stability Fo ≤ 0.5.
  3. Run the explicit finite difference solver, which advances temperature via T(i,n+1) = T(i,n) + Fo[T(i+1,n) − 2T(i,n) + T(i−1,n)]; monitor Fourier number Fo = αt/L² to confirm Fo ≤ 0.5.
  4. Visualize nodal temperature profiles at each time step and verify boundary conditions.

Worked Example

Steel rod: α = 1.17×10⁻⁵ m²/s, L_tot = 0.5 m, Δx = 0.05 m (10 nodes), left end fixed at 100°C, right at 20°C, initial interior 20°C. At Δt = 10 s, Fo = 1.17×10⁻⁵ × 10 / (0.05)² = 0.468 (stable). After 500 s (n = 50 steps), interior nodes rise progressively: center node reaches ~65°C. Temperature gradient smooths as Fo increases and heat diffuses axially.

Practical Notes

  1. Stability criterion Fo = αΔt/(Δx)² ≤ 0.5 is mandatory for explicit schemes; violating it causes oscillation and divergence—halve Δt if Fo exceeds 0.5.
  2. Brick and masonry (α ≈ 6×10⁻⁷ m²/s) require very small Δt; use implicit methods or coarser grids for industrial transient problems.
  3. Compare results against analytical solution T(x,t) = T_left + (T_right − T_left)x/L for long times to validate convergence and Δx refinement effects.