For the bottom wall
you could define obstacles (solid) where you impose a bounce-back conditions and reproduce the shape of your grooves…
You should code something like
If (we are looking at a lattice node belonging to the Obstacle) then (bounce_back)
How to define the obstacles?
as Jonas did for the cylinder in his matlab code for flow past a cylinder in 2D. He defines the bbregion where he only has bounce-back …
Here how he does for the cylinder:
obst_x = lx/5+1; % position of the cylinder; (exact
obst_y = ly/2+1; % y-symmetry is avoided)
obst_r = ly/10+1; % radius of the cylinder
[y,x] = meshgrid(1:ly,1:lx);
obst = (x-obst_x).^2 + (y-obst_y).^2 <= obst_r.^2;
obst(:,[1,ly]) = 1;
bbRegion = find(obst);
% MICROSCOPIC BOUNDARY CONDITIONS
for i=1:9
% Left boundary
fOut(i,1,col) = fEq(i,1,col) + …
18*t(i)cx(i)cy(i) ( fIn(8,1,col) - …
fIn(7,1,col)-fEq(8,1,col)+fEq(7,1,col) );
% Right boundary
fOut(i,lx,col) = fEq(i,lx,col) + …
18t(i)*cx(i)cy(i) ( fIn(6,lx,col) - …
fIn(9,lx,col)-fEq(6,lx,col)+fEq(9,lx,col) );
% Bounce back region
fOut(i,bbRegion) = fIn(opp(i),bbRegion);
end
… you could define a new bbregion.
I hope I was clear … if not sorry.
ciao
And