CFD Questions With Matlab Codes as Solution

6
 

Transcript of CFD Questions With Matlab Codes as Solution

8/2/2019 CFD Questions With Matlab Codes as Solution

http://slidepdf.com/reader/full/cfd-questions-with-matlab-codes-as-solution 1/6

 

8/2/2019 CFD Questions With Matlab Codes as Solution

http://slidepdf.com/reader/full/cfd-questions-with-matlab-codes-as-solution 2/6

 

Q.1 MATLAB Code

clc clear 

la=input('length of the material A in meters='); ka=input('enter the thermal conductivity of the material A='); lb=input('length of the material B in meters='); kb=input('enter the thermal conductivity of the material B='); lc=input('length of the material C in meters='); kc=input('enter the thermal conductivity of the material C='); tf=input('enter the temp of the fluid='); t2=input('enter the temp at boundary 2='); h=input('enter heat transfer coefficient between fluid and matl A='); ma=input('no. of control volumes for material A='); mb=input('no. of control volumes for material B='); mc=input('no. of control volumes for material C='); 

dxa=la/ma; dxb=lb/mb; dxc=lc/mc; 

aea=ka/dxa; awa=aea; apa=aea+awa; aea1=2*aea; awa1=2*awa; apa1=awa1+aea; apa2=aea+aea1; 

aeb=kb/dxb; awb=aeb; apb=aeb+awb; aeb1=2*aeb; awb1=2*awb; apb1=awa1+aeb; apb2=aeb+aeb1; 

aec=kc/dxc; awc=aec; apc=aec+awc; aec1=2*aec; awc1=2*awc; apc1=awc1+aec; apc2=aec+aec1; 

apab=awa+aeb; apbc=awb+aec; apo=awa1+h; 

na=ma+2; nb=mb+1; nc=mc+1; 

8/2/2019 CFD Questions With Matlab Codes as Solution

http://slidepdf.com/reader/full/cfd-questions-with-matlab-codes-as-solution 3/6

n=na+nb+nc; 

old_m=zeros(n,n); old_m(1,1)=apo; 

for i=2:na 

old_m(i,(i-1))=-awa; old_m((i-1),i)=-aea; old_m(i,i)=apa; 

end old_m(2,1)=-awa1; old_m(1,2)=-aea1; old_m((na-1),na)=-aea1; old_m(2,2)=apa1; old_m(na,na)=apab; old_m((na-1),(na-1))=apa2; 

for i=(na+1):(na+nb) old_m(i,i)=apb; old_m((i-1),i)=-aeb;

 old_m(i,(i-1))=-awb; end old_m((na+1),(na+1))=apb1; old_m((na+nb-1),(na+nb-1))=apb2; old_m((na+1),na)=-awa1; old_m((na+nb-1),(na+nb))=-aeb1; old_m((na+nb),(na+nb))=apbc;

for i=(na+nb+1):(n-1) old_m(i,i)=apc; old_m((i-1),i)=-aec; old_m(i,(i-1))=-awc; 

end old_m((na+nb+1),(na+nb+1))=apc1; old_m((n-1),(n-1))=apc2; old_m((na+nb+1),(na+nb))=-awc1; old_m((n-1),n)=-aec1; old_m(n,n)=1; 

old_m 

c=zeros(n,1); c(1,1)=h*tf; c(n,1)=t2; 

T=inv(old_m)*c; T 

N=1:n; plot(N,T,'o'); grid on; 

8/2/2019 CFD Questions With Matlab Codes as Solution

http://slidepdf.com/reader/full/cfd-questions-with-matlab-codes-as-solution 4/6

Q.2 MATLAB Code

clear clc 

l=input('enter the length of the rod in m='); 

k=input('enter thermal conductivity of the rod in W/mK='); t1=input('enter the temp of the left face='); Su=input('enter the source term Su from Su-SpTp='); Sp=input('enter the source term Sp from Su-SpTp='); q=input('enter the flux through the right face in W/m2(assume flux is goingout of the rod. If its entering from right, give –ve value)=');m=input('enter the no. of the CV='); 

dx=l/m; ae=k/dx; aw=ae; ae1=2*ae; aw1=2*aw; 

awn=2*aw; ap=ae+aw+Sp*dx; ap1=ae1+aw+Sp*dx; ap2=ae+aw1+Sp*dx; ap3=ae1-Sp*0.5*dx n=m+2; z=Su*dx*0.5; 

old_m=zeros(n,n); old_m(1,1)=1 

for i=3:(n-1) old_m(i,(i-1))=-aw; 

old_m((i-1),i)=-ae; old_m(i,i)=ap; end 

old_m(2,2)=ap1; old_m((n-1),(n-1))=ap2; old_m(n,(n-1))=ap3; old_m(2,1)=-aw1; old_m((n-1),n)=-ae1; old_m(n,n)=-ae1; old_m 

c=zeros(n,1); c(1,1)=100;

 for i=2:(n-1) c(i,1)=z; 

end c(n,1)=q-z; 

J=inv(old_m); T=J*c; T 

8/2/2019 CFD Questions With Matlab Codes as Solution

http://slidepdf.com/reader/full/cfd-questions-with-matlab-codes-as-solution 5/6

Q.3 MATLAB Code

clc clear 

fprintf('Problem with variable k\n'); l=input('lenght of the rod='); m=input('No.of CV='); Ta=input('Temp of the left boundary='); Tb=input('Temp of the right boundary='); ko=input('Value of ko='); alpha=input('Value of alpha='); conv=input('Convergence value='); n=m+2; 

[Told,T1,T2,k]=deal(zeros(n,1)); [ke,kw,c]=deal(zeros(m,1)); 

Told(1)=Ta; Told(n)=Tb; 

%global for loop for j=1:10000 

%k matrix for i=2:n-1 k(i)=ko*(1+alpha*(Told(i))); end k(1)=ko*(1+alpha*Ta); k(n)=ko*(1+alpha*Tb); 

%ke matrix for i=1:m-1 ke(i)=2*k(i)*k(i+1)/(k(i)+k(i+1)); end ke(m)=ko*(1+alpha*Tb); 

%kw matrix for i=2:m kw(i)=ke(i-1); end kw(1)=ko*(1+alpha*Ta); 

%old_m Matrix 

old_m=zeros(m); for i=2:m 

old_m(i,i)=ke(i)+kw(i); old_m(i-1,i)=-ke(i-1); old_m(i,i-1)=-kw(i); 

end old_m(1,1)=ke(1)+2*kw(1); old_m(m,m)=2*ke(m)+kw(m); 

8/2/2019 CFD Questions With Matlab Codes as Solution

http://slidepdf.com/reader/full/cfd-questions-with-matlab-codes-as-solution 6/6

 %C matrix c(1)=2*kw(1)*Ta; c(m)=2*ke(m)*Tb; 

new_m=inv(old_m)*c; 

T1(1)=Ta; T1(n)=Tb; for i=2:n-1 

T1(i)=new_m(i-1); end 

%convergence matrix for i=1:n T2(i)=sqrt(((Told(i)-T1(i))^2)/m); end A=max(T2); 

%check for convergence if A<conv 

break end 

%redefine Told for i=1:n 

Told(i)=T1(i); end 

end 

T1 N=1:n; plot(N,T1); grid on hold on xlabel('Node Points'); ylabel('Temperature'); plot(N,T1,'o');