ไฟล์:Airflow-Obstructed-Duct.png
จาก testwiki
ไปยังการนำทาง
ไปยังการค้นหา
ขนาดของตัวอย่างนี้: 800 × 571 พิกเซล ความละเอียดอื่น: 320 × 229 พิกเซล | 640 × 457 พิกเซล | 1,024 × 731 พิกเซล | 1,270 × 907 พิกเซล
ไฟล์ต้นฉบับ (1,270 × 907 พิกเซล, ขนาดไฟล์: 85 กิโลไบต์, ชนิดไมม์: image/png)
ไฟล์นี้มาจาก วิกิมีเดียคอมมอนส์ และอาจมีใช้ในโครงการอื่น คำอธิบายในหน้าคำอธิบายไฟล์แสดงไว้ด้านล่างนี้
ความย่อ
| คำอธิบาย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)
|
| วันที่ | 24 กุมภาพันธ์ พ.ศ. 2550 (original upload date) |
| แหล่งที่มา | นำเข้าจาก en.wikipedia มายังคอมมอนส์ |
| ผู้สร้างสรรค์ | 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
คำบรรยายโดยย่อ
เพิ่มคำอธิบายบรรทัดเดียวว่าไฟล์นี้แสดงถึงอะไร
รายการที่แสดงอยู่ในไฟล์นี้
ประกอบด้วย
24 กุมภาพันธ์ 2007
media type อังกฤษ
image/png
checksum อังกฤษ
44c13ef5152db60934799deeb8c6556bfa2816e6
data size อังกฤษ
86,796 ไบต์
907 พิกเซล
1,270 พิกเซล
ประวัติไฟล์
คลิกวันที่/เวลาเพื่อดูไฟล์ที่ปรากฏในขณะนั้น
| วันที่/เวลา | รูปย่อ | ขนาด | ผู้ใช้ | ความเห็น | |
|---|---|---|---|---|---|
| ปัจจุบัน | 16:52, 1 พฤษภาคม 2550 | 1,270 × 907 (85 กิโลไบต์) | wikimediacommons>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 |
การใช้ไฟล์
1 หน้าต่อไปนี้ใช้ไฟล์นี้: