资源简介
采用随机四参数模拟多孔介质,LBM模拟液体流动过程,模拟结果理想
代码片段和文件信息
clear
%---------------------
%随机四参数生成多孔介质
%----------------------
% GENERAL FLOW CONSTANTS
set(0‘defaultfigurecolor‘‘w‘);
lx = 400; % number of cells in x-direction
ly = 100; % number of cells in y-direction
obst_x = lx/5+1; % position of the cylinder; (exact
obst_y = ly/2+3; % y-symmetry is avoided)
obst_r = ly/10+1; % radius of the cylinder
uMax = 0.1; % maximum velocity of Poiseuille inflow
Re = 100; % Reynolds number
nu = uMax * 2.*obst_r / Re; % kinematic viscosity
omega = 1. / (3*nu+1./2.); % relaxation parameter
maxT = 400; % total number of iterations
tPlot = 10; % cycles
d14 = 0.1;
d58 = d14/4;
n = 0.99; %(1-n)为孔隙度
cdd = 0.01; %生长概率
numtotal_need= (1-n) * lx * ly; %所需生长相总数
numsoild = 0;
arrgrid = zeros;
soild = zeros;
for i=1: lx
for j = 1:ly
if rand( ) < cdd %随机函数来生成生长相
numsoild= numsoild+ 1;
arrgrid(ij) = 1;
soild(numsoild 1) = i; %储存生长相的i坐标值
soild(numsoild 2) = j; %储存生长相的j坐标值
end % end if
end % end j
end % end i
Tnumsoild= numsoild;
while Tnumsoild< numtotal_need
for index_soild= 1: Tnumsoild
index_i= soild(index_soild 1);
index_j= soild(index_soild 2);
if index_j< ly
i= index_i; %生长相向右生长
j = index_j + 1;
if (arrgrid( i j )== 0 && rand( ) < d14)
numsoild= numsoild+ 1; arrgrid( i j ) = 1;
soild( numsoild 1) = i; soild(numsoild 2) = j;
end
end
if index_i> 1
i= index_i-1; j = index_j; % 生长相向上生长
if (arrgrid( i j )== 0 && rand( ) < d14)
numsoild= numsoild+ 1; arrgrid( i j ) = 1;
soild( numsoild 1) = i; soild(numsoild 2) = j;
end
end
if index_j> 1
i= index_i; j = index_j-1; % 生长相向左生长
if (arrgrid( i j )== 0 && rand( ) < d14)
numsoild= numsoild+ 1; arrgrid( i j ) = 1;
soild( numsoild 1) = i; soild(numsoild 2) = j;
end
end
if index_i< lx
i= index_i+1; j = index_j; % 生长相向下生长
if (arrgrid( i j )== 0 && rand( ) < d14)
numsoild= numsoild+ 1; arrgrid( i j ) = 1;
soild( numsoild 1) = i; soild(numsoild 2) = j;
end
end
if index_j< ly && index_i>1
i= index_i-1; j = index_j+1; % 生长相向左下生长
if (arrgrid( i j )== 0 && rand( ) < d14)
numsoild= numsoild+ 1; arrgrid( i j ) = 1;
soild( numsoild 1) = i; soild(numsoild 2) = j;
end
end
相关资源
- 蚁群算法进行二维路径规划.zip
- 基于粒子群算法的投影寻踪法matlab代
- matlab机器人工具箱实现机械臂直线轨
- 基于元胞自动机的人员疏散研究matl
- 基于遗传模拟退火算法的模糊C均值聚
- gold序列自相关.docx
- 粒子群算法优化3-5-3多项式工业机器人
- 重复剪辑代码.rar Matlab实现
- 机械臂逆运动学八组逆解求解程序,
- 10 竞争神经网络与SOM神经网络matlab参
- 9 RBF、GRNN和PNN神经网络案例matlab参考
- 6 广义回归神经网络预测matlab程序.
- 用matlab实现图像KL变换.rar
- matlab车流量监测.rar
-
基于MATLAB/Simuli
nk 的双电机伺服控制 -
基于Matlab/Simuli
nk的两电平有源电力 - ANN人工神经网络的matlab实现
- 随机孔隙的生成,用使用MATLAB
- IEEE 33节点配电网
- 奇异熵MATLAB代码
- FM调制解调(matlab)
- RLS功率谱估计
- LQR matlab 仿真程序m文件
- 第二类齐次Fredholm积分方程的数值求解
- 依据卫星星历计算坐标(含代码、数
- Matlab强化学习_网格迷宫问题_SarsaLam
- MATLAB强化学习_多臂赌机问题_时变eg
- MATLAB强化学习_多臂赌机问题_softmax策
- GPS-INS组合导航Matlab程序.zip
- 协同粒子群matlab程序
评论
共有 条评论