Matlab-code-for-porous-media Apr 2026
Calculating thermal conductivity or elasticity of composite materials.
This script generates a basic 2D porous medium using a stochastic "Boolean model." It randomly places circular "grains" (solid phase) within a square domain to create a porous structure. MATLAB Code: Porous Media Generation matlab-code-for-porous-media
Using the Lattice Boltzmann Method (LBM) to simulate fluid flow. % Simple 2D Porous Media Generator % Generates
% Simple 2D Porous Media Generator % Generates a square domain with random circular grains clear; clc; % --- Parameters --- L = 100; % Domain size (pixels) N = 80; % Number of grains R_min = 3; % Minimum grain radius R_max = 8; % Maximum grain radius % --- Initialize Domain --- % 0 = Pore (Void), 1 = Solid (Grain) media = zeros(L, L); [X, Y] = meshgrid(1:L, 1:L); % --- Generate Random Grains --- for i = 1:N % Random center coordinates cx = randi([1, L]); cy = randi([1, L]); % Random radius r = R_min + (R_max - R_min) * rand(); % Distance formula to create circular mask dist_sq = (X - cx).^2 + (Y - cy).^2; media(dist_sq <= r^2) = 1; end % --- Visualization --- figure; imagesc(media); colormap([1 1 1; 0.2 0.2 0.2]); % White for pores, Dark Gray for solids axis image; title(sprintf('Generated Porous Medium (Porosity: %.2f)', ... sum(media(:)==0) / numel(media))); xlabel('Width (pixels)'); ylabel('Height (pixels)'); Use code with caution. Copied to clipboard 🛠️ Common Applications This type of code serves as a starting point for: Y] = meshgrid(1:L