File:Airflow-Obstructed-Duct.png
出自Wikimedia Commons
跳至導覽
跳至搜尋
預覽大小:800 × 571 像素。 其他解析度:320 × 229 像素 | 640 × 457 像素 | 1,024 × 731 像素 | 1,270 × 907 像素。
原始檔案 (1,270 × 907 像素,檔案大小:85 KB,MIME 類型:image/png)
檔案資訊
結構化資料
說明
摘要
[編輯]File:N S Laminar.svg是本檔案的向量版本。 如果品質不低,就應該優先使用該檔案,而非PNG檔案。
File:Airflow-Obstructed-Duct.png → File:N S Laminar.svg
更多資訊請參閱Help:SVG/zh。
|
描述Airflow-Obstructed-Duct.png |
A simulation using the navier-stokes differential equations of the aiflow into a duct at 0.003 m/s (laminar flow). The duct has a small obstruction in the centre that is parallel with the duct walls. The observed spike is mainly due to numerical limitations. This script, which i originally wrote for scilab, but ported to matlab (porting is really really easy, mainly convert comments % -> // and change the fprintf and input statements) Matlab was used to generate the image. %Matlab script to solve a laminar flow %in a duct problem %Constants inVel = 0.003; % Inlet Velocity (m/s) fluidVisc = 1e-5; % Fluid's Viscoisity (Pa.s) fluidDen = 1.3; %Fluid's Density (kg/m^3) MAX_RESID = 1e-5; %uhh. residual units, yeah... deltaTime = 1.5; %seconds? %Kinematic Viscosity fluidKinVisc = fluidVisc/fluidDen; %Problem dimensions ductLen=5; %m ductWidth=1; %m %grid resolution gridPerLen = 50; % m^(-1) gridDelta = 1/gridPerLen; XVec = 0:gridDelta:ductLen-gridDelta; YVec = 0:gridDelta:ductWidth-gridDelta; %Solution grid counts gridXSize = ductLen*gridPerLen; gridYSize = ductWidth*gridPerLen; %Lay grid out with Y increasing down rows %x decreasing down cols %so subscripting becomes (y,x) (sorry) velX= zeros(gridYSize,gridXSize); velY= zeros(gridYSize,gridXSize); newVelX= zeros(gridYSize,gridXSize); newVelY= zeros(gridYSize,gridXSize); %Set initial condition for i =2:gridXSize-1 for j =2:gridYSize-1 velY(j,i)=0; velX(j,i)=inVel; end end %Set boundary condition on inlet for i=2:gridYSize-1 velX(i,1)=inVel; end disp(velY(2:gridYSize-1,1)); %Arbitrarily set residual to prevent %early loop termination resid=1+MAX_RESID; simTime=0; while(deltaTime) count=0; while(resid > MAX_RESID && count < 1e2) count = count +1; for i=2:gridXSize-1 for j=2:gridYSize-1 newVelX(j,i) = velX(j,i) + deltaTime*( fluidKinVisc / (gridDelta.^2) * ... (velX(j,i+1) + velX(j+1,i) - 4*velX(j,i) + velX(j-1,i) + ... velX(j,i-1)) - 1/(2*gridDelta) *( velX(j,i) *(velX(j,i+1) - ... velX(j,i-1)) + velY(j,i)*( velX(j+1,i) - velX(j,i+1)))); newVelY(j,i) = velY(j,i) + deltaTime*( fluidKinVisc / (gridDelta.^2) * ... (velY(j,i+1) + velY(j+1,i) - 4*velY(j,i) + velY(j-1,i) + ... velY(j,i-1)) - 1/(2*gridDelta) *( velY(j,i) *(velY(j,i+1) - ... velY(j,i-1)) + velY(j,i)*( velY(j+1,i) - velY(j,i+1)))); end end %Copy the data into the front for i=2:gridXSize - 1 for j = 2:gridYSize-1 velX(j,i) = newVelX(j,i); velY(j,i) = newVelY(j,i); end end %Set free boundary condition on inlet (dv_x/dx) = dv_y/dx = 0 for i=1:gridYSize velX(i,gridXSize)=velX(i,gridXSize-1); velY(i,gridXSize)=velY(i,gridXSize-1); end %y velocity generating vent for i=floor(2/6*gridXSize):floor(4/6*gridXSize) velX(floor(gridYSize/2),i) = 0; velY(floor(gridYSize/2),i-1) = 0; end %calculate residual for %conservation of mass resid=0; for i=2:gridXSize-1 for j=2:gridYSize-1 %mass continuity equation using central difference %approx to differential resid = resid + (velX(j,i+ 1)+velY(j+1,i) - ... (velX(j,i-1) + velX(j-1,i)))^2; end end resid = resid/(4*(gridDelta.^2))*1/(gridXSize*gridYSize); fprintf('Time %5.3f \t log10Resid : %5.3f\n',simTime,log10(resid)); simTime = simTime + deltaTime; end mesh(XVec,YVec,velX) deltaTime = input('\nnew delta time:'); end %Plot the results mesh(XVec,YVec,velX) |
日期 | 2007年二月24日 (原始上傳日期) |
來源 | Transferred from en.wikipedia to Commons. |
作者 | 英文維基百科的User A1 |
授權條款
[編輯]Public domainPublic domainfalsefalse |
此作品已由其作者,英文維基百科的User A1,釋出至公有領域。此授權條款在全世界均適用。 這可能在某些國家不合法,如果是的話: User A1授予任何人有權利使用此作品於任何用途,除受法律約束外,不受任何限制。Public domainPublic domainfalsefalse |
原始上傳日誌
[編輯]The original description page was here. All following user names refer to en.wikipedia.
- 2007-02-24 05:45 User A1 1270×907×8 (86796 bytes) A simulation using the navier-stokes differential equations of the aiflow into a duct at 0.003 m/s (laminar flow). The duct has a small obstruction in the centre that is paralell with the duct walls. The observed spike is mainly due to numerical limitatio
檔案歷史
點選日期/時間以檢視該時間的檔案版本。
日期/時間 | 縮圖 | 尺寸 | 用戶 | 備註 | |
---|---|---|---|---|---|
目前 | 2007年5月1日 (二) 15:52 | 1,270 × 907(85 KB) | Smeira(對話 | 貢獻) | {{Information |Description=A simulation using the navier-stokes differential equations of the aiflow into a duct at 0.003 m/s (laminar flow). The duct has a small obstruction in the centre that is paralell with the duct walls. The observed spike is mainly |
無法覆蓋此檔案。
檔案用途
下列2個頁面有用到此檔案:
全域檔案使用狀況
以下其他 wiki 使用了這個檔案:
- anp.wikipedia.org 的使用狀況
- ar.wikipedia.org 的使用狀況
- ba.wikipedia.org 的使用狀況
- bg.wikipedia.org 的使用狀況
- bn.wikipedia.org 的使用狀況
- ca.wikipedia.org 的使用狀況
- ckb.wikipedia.org 的使用狀況
- cs.wikipedia.org 的使用狀況
- de.wikipedia.org 的使用狀況
- en.wikipedia.org 的使用狀況
- en.wikiquote.org 的使用狀況
- es.wikipedia.org 的使用狀況
- fa.wikipedia.org 的使用狀況
- he.wikipedia.org 的使用狀況
- hif.wikipedia.org 的使用狀況
- hi.wikipedia.org 的使用狀況
- hr.wikipedia.org 的使用狀況
- hy.wikipedia.org 的使用狀況
- id.wikipedia.org 的使用狀況
- jv.wikipedia.org 的使用狀況
- ko.wikipedia.org 的使用狀況
- ko.wikiversity.org 的使用狀況
- map-bms.wikipedia.org 的使用狀況
- ms.wikipedia.org 的使用狀況
- mwl.wikipedia.org 的使用狀況
- pt.wikipedia.org 的使用狀況
- Isaac Newton
- Equação diferencial
- Equações de Navier-Stokes
- Equação diferencial linear
- Equação diferencial de Bernoulli
- Equação diferencial de d'Alembert
- Decaimento exponencial
- Equação de Laplace
- Equação diferencial parcial
- Equação de Poisson
- Equação do calor
- Lema de Grönwall
- Teorema de Picard-Lindelöf
- Método de Runge-Kutta
- Equação de Mason-Weaver
- Equação do pêndulo
- Equação de onda
檢視此檔案的更多全域使用狀況。