資源簡介
采用隨機四參數模擬多孔介質,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(?)????????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???for?index_soild=?1:?Tnumsoild?
????index_i=?soild(index_soild?1);?
????index_j=?soild(index_soild?2);?
??
?????if?index_j???????i=?index_i;??%生長相向右生長
???????j?=?index_j?+?1;??
???????if?(arrgrid(?i?j?)==?0?&&?rand(?)???????????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(?)???????????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(?)???????????numsoild=?numsoild+?1;?arrgrid(?i?j?)?=?1;?
??????????soild(?numsoild?1)?=?i;?soild(numsoild?2)?=?j;?
???????end??
?????end??
?
?????if?index_i???????i=?index_i+1;?j?=?index_j;?%?生長相向下生長
????????if?(arrgrid(?i?j?)==?0?&&?rand(?)???????????numsoild=?numsoild+?1;?arrgrid(?i?j?)?=?1;?
??????????soild(?numsoild?1)?=?i;?soild(numsoild?2)?=?j;?
???????end??
?????end??
?
?
?????if?index_j1?
???????i=?index_i-1;?j?=?index_j+1;?%?生長相向左下生長
????????if?(arrgrid(?i?j?)==?0?&&?rand(?)???????????numsoild=?numsoild+?1;?arrgrid(?i?j?)?=?1;?
??????????soild(?numsoild?1)?=?i;?soild(numsoild?2)?=?j;?
???????end??
?????end??
評論
共有 條評論