Static Light Scattering (SLS) is a technique used to determine the size and shape of particles in a sample based on how they scatter light at various angles. Unlike Dynamic Light Scattering (DLS), SLS measures the intensity of scattered light at different angles but does not focus on time-dependent fluctuations, making it more suitable for analyzing larger or non-Brownian particles.
The intensity of scattered light in SLS can be related to the size of the particles through the Rayleigh-Debye scattering equation for spherical particles, or more generally, through models like Mie Theory.
Here’s a basic guide to simulating static light scattering in MATLAB, focusing on spherical particles using a simplified Rayleigh or Mie scattering approximation.
The following MATLAB code demonstrates static light scattering for spherical particles using Mie theory. We'll use the MieScattering function from the MiePlot
MATLAB package, or an approximation for small particles (Rayleigh scattering).
You can use a Mie scattering function available in the MATLAB File Exchange (e.g., mie.m
), or you can implement a basic scattering model.
% Static Light Scattering Simulation in MATLAB
% Constants
wavelength = 650e-9; % Wavelength of light (650 nm)
radius = 100e-9; % Particle radius (100 nm)
angle_range = linspace(0, pi, 180); % Scattering angle range from 0 to 180 degrees
% Refractive index of the particle (e.g., silica)
n_particle = 1.45;
% Refractive index of the medium (e.g., water)
n_medium = 1.33;
% Size parameter (dimensionless)
size_parameter = (2 * pi * radius) / wavelength;
% Calculate the scattering intensity (simplified model for Rayleigh scattering)
% The Rayleigh scattering intensity is proportional to (sin(θ))^2 / λ^4 for small particles
intensity_rayleigh = (sin(angle_range).^2) / wavelength^4;
% Plot the scattering intensity as a function of angle
figure;
polarplot(angle_range, intensity_rayleigh, 'LineWidth', 2);
title('Rayleigh Scattering Pattern');
ax = gca;
ax.ThetaTickLabel = {'0', '30', '60', '90', '120', '150', '180'};
ax.ThetaTick = 0:30:180;
ax.RLim = [0, max(intensity_rayleigh)*1.2];
% If using Mie scattering, you can implement Mie theory functions or
% use the MiePlot package to calculate the intensity for a more complex
% particle size and refractive index dependency.
wavelength
is typically in the visible spectrum, while the radius
is set for a nanoparticle.polarplot
function in MATLAB is used to plot the scattering intensity as a function of angle.