ملف:Airflow-Obstructed-Duct.png
من testwiki
اذهب إلى التنقل
اذهب إلى البحث
حجم هذه المعاينة: ٨٠٠ × ٥٧١ بكسل. الأبعاد الأخرى: ٣٢٠ × ٢٢٩ بكسل | ٦٤٠ × ٤٥٧ بكسل | ١٬٠٢٤ × ٧٣١ بكسل | ١٬٢٧٠ × ٩٠٧ بكسل.
الملف الأصلي (١٬٢٧٠ × ٩٠٧ بكسل حجم الملف: ٨٥ كيلوبايت، نوع MIME: 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)
|
| التاريخ | ٢٤ فبراير ٢٠٠٧ (تاريخ الرفع الأصيل) |
| المصدر | نُقِلت من en.wikipedia إلى كُومُنز . |
| المؤلف | User A1 في ويكيبيديا الإنجليزية |
ترخيص
| Public domainPublic domainfalsefalse |
| وضع -User A1 في ويكيبيديا الإنجليزية-، وهو المؤلف، هذا العمل في النِّطاق العامِّ. يسري ذلك في كل أرجاء العالم. في بعض البلدان، قد يكون هذا التَّرخيص غيرَ مُمكنٍ قانونيَّاً، في هذه الحالة: يمنح User A1 الجميع حق استخدام هذا العمل لأي غرض دون أي شرط ما لم يفرض القانون شروطًا إضافية.Public domainPublic domainfalsefalse |
سجلُّ الرَّفع الأصيل
صفحة الوصف الأصلية كانت هنا، تشير جميع أسماء المستخدمين التالية إلى 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
image/png
44c13ef5152db60934799deeb8c6556bfa2816e6
٨٦٬٧٩٦ بايت
٩٠٧ بكسل
١٬٢٧٠ بكسل
تاريخ الملف
اضغط على زمن/تاريخ لرؤية الملف كما بدا في هذا الزمن.
| زمن/تاريخ | صورة مصغرة | الأبعاد | مستخدم | تعليق | |
|---|---|---|---|---|---|
| حالي | ١٦:٥٢، ١ مايو ٢٠٠٧ | ١٬٢٧٠ × ٩٠٧ (٨٥ كيلوبايت) | 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 |
استخدام الملف
الصفحة التالية تستخدم هذا الملف: