File:Airflow-Obstructed-Duct.png
Původní soubor (1 270 × 907 pixelů, velikost souboru: 85 KB, MIME typ: image/png)
Popisky
Popis
[editovat]
PopisAirflow-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) |
Datum | 24. února 2007 (datum prvotního načtení souboru) |
Zdroj | Na Commons přeneseno z en.wikipedia. |
Autor | User A1 na projektu Wikipedie v jazyce angličtina |
Licence
[editovat]Public domainPublic domainfalsefalse |
User A1 na projektu Wikipedie v jazyce angličtina, autor tohoto díla, jej uvolnil jako volné dílo, a to celosvětově. V některých zemích to není podle zákona možné; v takovém případě: User A1 poskytuje komukoli právo užívat toto dílo za libovolným účelem, a to bezpodmínečně s výjimkou podmínek vyžadovaných zákonem.Public domainPublic domainfalsefalse |
Původní historie souboru
[editovat]- 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
Historie souboru
Kliknutím na datum a čas se zobrazí tehdejší verze souboru.
Datum a čas | Náhled | Rozměry | Uživatel | Komentář | |
---|---|---|---|---|---|
současná | 1. 5. 2007, 15:52 | 1 270 × 907 (85 KB) | Smeira (diskuse | příspěvky) | {{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 |
Tento soubor nemůžete přepsat.
Využití souboru
Na Commons na soubor odkazují tyto stránky:
Globální využití souboru
Tento soubor využívají následující wiki:
- Využití na anp.wikipedia.org
- Využití na ar.wikipedia.org
- Využití na ba.wikipedia.org
- Využití na bg.wikipedia.org
- Využití na bn.wikipedia.org
- Využití na ca.wikipedia.org
- Využití na ckb.wikipedia.org
- Využití na cs.wikipedia.org
- Využití na de.wikipedia.org
- Využití na en.wikipedia.org
- Využití na en.wikiquote.org
- Využití na eo.wikipedia.org
- Využití na es.wikipedia.org
- Využití na fa.wikipedia.org
- Využití na he.wikipedia.org
- Využití na hif.wikipedia.org
- Využití na hi.wikipedia.org
- Využití na hr.wikipedia.org
- Využití na hy.wikipedia.org
- Využití na id.wikipedia.org
- Využití na jv.wikipedia.org
- Využití na ko.wikipedia.org
- Využití na ko.wikiversity.org
- Využití na map-bms.wikipedia.org
- Využití na ms.wikipedia.org
- Využití na mwl.wikipedia.org
- Využití na 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
Zobrazit další globální využití tohoto souboru.