شبیه سازی مبدل حرارتی در MATLAB

پیرجو

مدیر ارشد
مدیر کل سایت
مدیر ارشد
در این فایل که برات گذاشتم شما با وارد کردن پارامترهای فیزیکی مبدل مانند دما ورودی، فشار ورودی و غیره...می توانید نتایج در خروجی رو مشاهده کنید.
 

پیوست ها

  • heat.zip
    18.2 کیلوبایت · بازدیدها: 12

پیرجو

مدیر ارشد
مدیر کل سایت
مدیر ارشد
شبیه سازی پوسته مبدل در MATLAB

شبیه سازی پوسته مبدل در MATLAB

در این برنامه که با استفاده از یک پایگاه داده کد نویسی شده است شما می توانید با ارائه پرامترهای خود به برنامه پوسته و کلگی مطلوب رو بدست بیارید.
 

پیوست ها

  • Heat Exchanger.zip
    2.1 کیلوبایت · بازدیدها: 10

حــامد

مدیر بازنشسته
کاربر ممتاز
کد:
% This program uses a large database of standards for plate and frame 
% heat exchangers, so for any kinds and sizes of heat exchangers it 
% calculates the thermo dynamical parameters of heat exchangers.
%
%
% Written By Ahmad Kolahi
%
%--------------------------------------------------------------------
heat=[ 30 0 10     0.718 0.349;
     30 10  1e10 0.348 0.663;
     45 0 10     0.718 0.349;
     45 10  100     0.4     0.598;
     45 100 1e10 0.3     0.663;
     50 0 20     0.63 0.333;
     50 20 300     0.291 0.591;
     50 300 1e10 0.13 0.732;
     60 0 20     0.562 0.326;
     60 20 400     0.306 0.529;
     60 400 1e10 0.108 0.703;
     65 0 20     0.562 0.326;
     65 20 500     0.331 0.503;
     65 500 1e10 0.087 0.718];
fric=[ 30 0 10     50     1;
     30 10 100     19.4 0.589;
     30 100 1e10 2.99 0.183;
     45 0 15     47     1;
     45 15 300     18.29 0.625;
     45 300 1e10 1.441 0.206;
     50 0 20     34     1;
     50 20 300     11.25 0.631;
     50 300 1e10 0.772 0.161;
     60 0 40     24     1;
     60 40 400     3.24 0.457;
     60 400 1e10 0.76 0.215;
     65 0 50     24     1;
     65 50 500     2.8   0.451;
     65 500 1e10 0.639 0.213];
  %***hot fluid***'
  mhot = 78.24;
  thotin = 50;
  thotout=19.2;
  rohot = 847;
  cphot=1900;
  %***cold fluid***'
  mcold = 86.94;
  tcoldin = 15.55;
  rocold = 847;
  cpcold=1900;
  %***Construction Data
  ea = 0.85;
  p = 0.005;       %Plate pitch
  s = 0.0006;       %Plate Thickness
  mu = 1.17;      %Enlargement Factor
  dport = 8*0.0254;   %Port Diameter
  w = 0.84;       %Effective Channal Wide
  lp = 2.18;      %Flow Length in one pass
  kwall = 20;
  pass = 2;
  angle = 30;
  n=400;
  %Mean channal flow area:
  b = p - s;
  %One channal flow area:
  Ax = b * w;
  %Channal equvalent diameter:
  de = 2 * b / mu;
  x = 0;
  cphott=cphot+100;
  cpcoldt=cpcold+100;
  while (abs(cphot - cphott) / cphot > 0.01) & (abs(cpcold - cpcoldt) / cphot > 0.01)
     cphot = cphott;
     cpcold = cpcoldt;
     q = mhot * cphot * abs(thotin - thotout);
     tcoldout = q / (mcold * cpcold) + tcoldin;
     tmeancold = (tcoldout + tcoldin) / 2;
     tmeanhot = (thotout + thotin) / 2;
     cphott = (4.2 * tmeanhot + 1805);
     cpcoldt = (4.2 * tmeancold + 1805);
  end
     muhot = (-8.333e-7 * tmeanhot ^ 3 + 0.002775 * tmeanhot ^ 2 - 0.3707 * tmeanhot + 18.25) * 10 ^ -6;
     mucold = (-8.333e-7 * tmeancold ^ 3 + 0.002775 * tmeancold ^ 2 - 0.3707 * tmeancold + 18.25) * 10 ^ -6;
     khot = (-0.0008 * tmeanhot + 1.4987) * 0.3048 ^ 2;
     kcold = (-0.0008 * tmeancold + 1.4987) * 0.3048 ^ 2;
     prhot = muhot * cphot / khot;
     prcold = mucold * cpcold / kcold;
     noplate=n+50;
     while abs(n-noplate)>1
              n=noplate;
              %Number of channals per pass:
              Nochannal = (n - 1) / (2 * pass);
              %***Heat transfer calculation***'
              Mdotchhot = mhot / Nochannal;
              Mdotchcold = mcold / Nochannal;
              %Mass velocity:
              mchhot = Mdotchhot / Ax;
              mchcold = Mdotchcold / Ax;
              %Reynolds number:
              rehot = mchhot * de / muhot;
              recold = mchcold * de / mucold;
              for Find = 1:14
                      if (angle == heat(Find, 1)) & (rehot >= heat(Find, 2)) & (rehot <= heat(Find, 3))
                              Chhot = heat(Find, 4);
                              yhot = heat(Find, 5);
                              Jhhot = Chhot * rehot ^ yhot;
                      end;
                      if (angle == heat(Find, 1)) & (recold >= heat(Find, 2)) & (recold <= heat(Find, 3))
                              Chcold = heat(Find, 4);
                              ycold = heat(Find, 5);
                              Jhcold = Chcold * recold ^ ycold;
                      end;
               end;
               for Find = 1:14
                      if (angle == fric(Find, 1)) & (rehot >= fric(Find, 2)) & (rehot <= fric(Find, 3))
                              kphot = fric(Find, 4);
                              zhot = fric(Find, 5);
                              fchhot = kphot / rehot ^ zhot;
                          end;
                      if (angle == fric(Find, 1)) & (recold >= fric(Find, 2)) & (recold <= fric(Find, 3))
                              kpcold = fric(Find, 4);
                              zcold = fric(Find, 5);
                              fchcold = kpcold / recold ^ zcold;
                          end;
                end
 
              alfahot = Jhhot * khot * prhot ^ 0.33 / de;
              alfacold = Jhcold * kcold * prcold ^ 0.33 / de;
              rw = s / kwall;
              u = (1 / alfahot + 1 / alfacold + rw + 4.5 * 10 ^ -5) ^ -1;
 
           %if (abs(thotin - tcoldout) == abs(tcoldin - thotout))
            %          dtlm = abs(thotin - tcoldout);
            %     else
                      dtlm = ((thotin - tcoldout) - (thotout - tcoldin)) / (log((thotin - tcoldout) / (thotout - tcoldin)) / log(exp(1)));
                      %      end ;
           noplate=q/(u*ea*dtlm);
       end
           lch = pass * lp;
           dpchhot = (4 * fchhot * lch * mchhot ^ 2) / (2 * rohot * de);
           dpchcold = (4 * fchcold * lch * mchcold ^ 2) / (2 * rocold * de);
           mporthot = mhot / (pi / 4 * dport ^ 2);
           mportcold = mcold / (pi / 4 * dport ^ 2);
           dpphot = (1.3 * mporthot ^ 2) / (2 * rohot) * pass;
           dppcold = (1.3 * mportcold ^ 2) / (2 * rocold) * pass;
           dphot = dpphot + dpchhot;
           dpcold = dppcold + dpchcold;
%tcoldout;
%if (dphot>100000)|(dpcold>100000)
%    noplate=100000;
%end
%ff = noplate;
clc
disp('Number of Plates = ');disp(round(noplate*1.2))
disp('U = ');disp(round(u/1059*0.3048^2/1.8*3600))
disp('Temp of Hot in(F) = ');disp(round((thotin*1.8+32)))
disp('Temp of Hot out(F) = ');disp(round(10 * (thotout*1.8+32)) / 10)
disp('Temp of Cold in(F) =');disp(round(10 * (tcoldin*1.8+32)) / 10)
disp('Temp of Cold out(F) =');disp(round(10 * (tcoldout*1.8+32)) / 10)
disp('Hot Pressure Loss(psi)=');disp(round(dphot * 14.7 / 10000)/10)
disp('Cold Pressure Loss(psi)=');disp(round(dpcold * 14.7 / 10000)/10)
disp('dtlm(F) =');disp(round(10 * (dtlm*1.8)) / 10)
disp('Power(Btu/hr) =');disp(3600*round(q / 1059))
 
بالا