Matlab-code-for-porous-media -

Testing image processing algorithms for CT scans of rock samples .

% 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: matlab-code-for-porous-media

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 Testing image processing algorithms for CT scans of

Calculating thermal conductivity or elasticity of composite materials. Using the Lattice Boltzmann Method (LBM) to simulate

Using the Lattice Boltzmann Method (LBM) to simulate fluid flow.