public class HT_dik_levha_dogal_tasinim
{   Gas1 g;
    double L,H,P;
  public HT_dik_levha_dogal_tasinim(double Li, double Hi,double Pi)
  {g=new Gas1("air");
   L=Li;
   H=Hi;
   P=Pi;
  }
  
  public static double kmetal(double t)
  {double T=t+273.15;
   double a=71.62587939698594-0.03447361809045638*T-7.927135678388277E-6*T*T;
  return a;
  }
  
  public double Rayleigh(double t,double tinf)
  { // Doğal taşınım Rayleigh sayısı
    // t derece C kanat yüzey sıcaklığı
    // tinf derece C  dış hava scaklığı
    // Gas1 g=new Gas1("air");
   double tf=(t+tinf)/2.0;
   double Tf=tf+273.15;
   double T=t+273.15;  //K
   double beta=1/Tf;
   double gyc=9.806;
   double ro=g.M/g.v(Tf,P);
   double nu=g.vis(Tf)/ro;
   double alfa=g.alfa(Tf,P);
   // System.out.println("L="+L+"t="+t+"tinf="+tinf+"tf="+tf+"vis="+g.vis(Tf)+"ro="+ro+"nu="+nu);
   // System.out.println("gy="+gyc+"nu="+nu+"beta="+beta+"alfa="+alfa);
   double R=gyc*beta*(t-tinf)*H*H*H/(alfa*nu);
   System.out.println("Ra="+R);
   return R;
  }
  
  public double h(double t,double tinf)
  {  // Doğal taşınım ısı transferi hava için
     // dik konumlu levha
  Gas1 g=new Gas1("air");
  double tf=(t+tinf)/2.0;
  double Tf=tf+273.15;
  double Pr=g.Prandtl(Tf);
  double Ra=Rayleigh(t,tinf);
  double k=g.k(Tf);
  //double Nu=(0.6+0.387*Math.pow(Ra,(1.0/6.0))/Math.pow((1.0+Math.pow((0.559/Pr),(9.0/16.0))),(8.0/27.0)));
  double Nu=(0.825+0.387*Math.pow(Ra,(1.0/6.0))/Math.pow((1.0+Math.pow((0.492/Pr),(9.0/16.0))),(8.0/27.0)));
  Nu=Nu*Nu;
  double hh=Nu*k/H;
  return hh;
  }
  
  public double Q(double t0,double tinf)
  {//bu yaklaşımda ortalama bir ısı transferi katsayısı için 
   // analitik çözüm sonucu çıkan sonuç bulunmaktadır. 
   double A=L*H;
   double h1=h(t0,tinf);
   double Q=A*h1*(t0-tinf);  
   return Q;
   }
  public static void main(String args[])
  {
  double t=75;
  double tinf=20;
  double L=1.0;
  double H=0.6;  
  double p=1.01325;
  HT_dik_levha_dogal_tasinim kk=new HT_dik_levha_dogal_tasinim(L,H,p);
  double h1=kk.h(t,tinf);
  double Q=kk.Q(t,tinf);
  System.out.println("Q="+Q+"h="+h1);
  }
     
}