The Edwards–Wilkinson (EW) model is a fundamental mathematical framework in statistical physics for describing the evolution of surface growth. It models how a surface roughens over time, governed by a linear stochastic partial differential equation. The main equation incorporates both random fluctuations (white noise) and a smoothing term represented by the Laplacian, balancing randomness and relaxation effects. Primarily used to study kinetic roughening phenomena, the EW model is pivotal in understanding universality classes of surface growth and interfaces. It serves as a benchmark for comparing real-world surface growth processes, contributing to research in materials science, thin-film deposition, and various natural growth systems.
The Edwards–Wilkinson (EW) model is a simpler form of the KPZ equation used to describe surface growth. The main difference is that the nonlinear term ( $\left(\nabla h(x, t)\right)^2$ ) is absent. The EW equation can be written as:
$$ \frac{\partial h(x, t)}{\partial t} = \nu \nabla^2 h(x, t) + \eta(x, t), $$
where:
Below is a basic MATLAB implementation to simulate the EW model:
Here's how to implement the EW model in MATLAB:
% Parameters
N = 100; % Number of spatial points
dt = 0.01; % Time step
dx = 1.0; % Spatial step
nu = 1.0; % Diffusion coefficient
noiseStrength = 0.1; % Noise strength
T = 1000; % Number of time steps
% Initialize the height profile
h = zeros(1, N);
% Time evolution loop
for t = 1:T
% Compute the Laplacian using finite differences (periodic boundary)
laplacian = (circshift(h, -1) - 2 * h + circshift(h, 1)) / (dx^2);
% Add noise (scaled by sqrt(dt) for stability)
noise = noiseStrength * sqrt(dt) * randn(1, N);
% Update the height function
h = h + dt * (nu * laplacian) + noise;
% Plot the surface at regular intervals
if mod(t, 100) == 0
plot(h);
title(['Surface profile at time step: ', num2str(t)]);
xlabel('Spatial position');
ylabel('Height');
drawnow;
end
end
circshift
is used to simulate periodic boundary conditions, where the neighbors of the first and last elements wrap around.randn
generates Gaussian random noise for each spatial point.