File:N_S_Laminar.svg
From Wikipedia, the free encyclopedia
![파일:N S Laminar.svg](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a8/N_S_Laminar.svg/616px-N_S_Laminar.svg.png)
SVG 파일의 PNG 형식의 미리보기 크기: 616 × 524 픽셀. 다른 해상도: 282 × 240 픽셀 | 564 × 480 픽셀 | 903 × 768 픽셀 | 1,204 × 1,024 픽셀 | 2,408 × 2,048 픽셀
원본 파일 (SVG 파일, 실제 크기 616 × 524 픽셀, 파일 크기: 15.42 MB)
파일 설명
설명N S Laminar.svg |
English: SVG illustration of the Navier-Stokes Laminar problem. There is a laminar flow within a plane duct. A object obstructs the flow at the center of the duct. One may use Navier-Stokes equation by numeric method to simulate the air velocity at each point in the duct. |
날짜 | |
출처 | 자작 |
저자 | IkamusumeFan |
다른 버전 |
![]() |
SVG 발전 InfoField | |
소스 코드 InfoField | MATLAB code% The original author was User A1
% Retouch & Additional Comments by Ika
% Date: 11/06/2014
%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;
% the following iterations only seem plausible
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;
% the second velY should be velX, but this is still plausible
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)
xlabel('Length (m)')
ylabel('Width (m)')
zlabel('Air Velocity (m/s, length component)')
view([110,20]) % choose a viewpoint
colorbar
% Save to file
print -depsc N_S_Laminar.eps;
|
라이선스
나는 아래 작품의 저작권자로서, 이 저작물을 다음과 같은 라이선스로 배포합니다:
![w:ko:크리에이티브 커먼즈](https://upload.wikimedia.org/wikipedia/commons/thumb/7/79/CC_some_rights_reserved.svg/90px-CC_some_rights_reserved.svg.png)
![저작자표시](https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Cc-by_new_white.svg/24px-Cc-by_new_white.svg.png)
![동일조건변경허락](https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Cc-sa_white.svg/24px-Cc-sa_white.svg.png)
이 파일은 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스로 배포됩니다.
- 이용자는 다음의 권리를 갖습니다:
- 공유 및 이용 – 저작물의 복제, 배포, 전시, 공연 및 공중송신
- 재창작 – 저작물의 개작, 수정, 2차적저작물 창작
- 다음과 같은 조건을 따라야 합니다:
- 저작자표시 – 적절한 저작자 표시를 제공하고, 라이센스에 대한 링크를 제공하고, 변경사항이 있는지를 표시해야 합니다. 당신은 합리적인 방식으로 표시할 수 있지만, 어떤 방식으로든 사용권 허가자가 당신 또는 당신의 사용을 지지하는 방식으로 표시할 수 없습니다.
- 동일조건변경허락 – 만약 당신이 이 저작물을 리믹스 또는 변형하거나 이 저작물을 기반으로 제작하는 경우, 당신은 당신의 기여물을 원저작물과 동일하거나 호환 가능한 라이선스에 따라 배포하여야 합니다.
설명
이 파일이 나타내는 바에 대한 한 줄 설명을 추가합니다
이 파일에 묘사된 항목
다음을 묘사함
위키데이터 항목 없는 어떤 값
6 11 2014
파일 역사
날짜/시간 링크를 클릭하면 해당 시간의 파일을 볼 수 있습니다.
날짜/시간 | 섬네일 | 크기 | 사용자 | 설명 | |
---|---|---|---|---|---|
현재 | 2014년 11월 7일 (금) 08:26 | ![]() | 616 × 524 (15.42 MB) | IkamusumeFan | User created page with UploadWizard |
이 파일을 사용하는 문서
이 파일을 사용하는 문서가 없습니다.
이 파일을 사용하고 있는 모든 위키의 문서 목록
다음 위키에서 이 파일을 사용하고 있습니다:
- tr.wikipedia.org에서 이 파일을 사용하고 있는 문서 목록
메타데이터
이 파일에는 카메라나 스캐너가 파일을 만들거나 디지털화하는 데 사용하기 위해 기록한 부가 정보가 포함되어 있습니다.
프로그램에서 파일을 편집한 경우, 새로 저장한 파일에 일부 부가 정보가 빠질 수 있습니다.
너비 | 616.25 |
---|---|
높이 | 523.75 |