public class flooded_evap
{
// n_boru1  : sıvı pentan içindeki boru sayısı
// n_boru2  : gaz pentan içindeki boru sayısı
// l_boru   : boru boyu m
// k_boru   : boru isi iletim katsayısı
// di_boru  : boru iç çapı
// do_boru  : boru dış çapı
// h_sıvı   : sıvı seviyesi
// D        : gövde çapı
// n_adım   : sonlu farklar adım sayısı
double n_boru1,n_boru2,l_boru,di_boru ,do_boru,h_sıvı ,D,k_boru,eod;
int n_adım;
LeeKesler LK; // Pentanın özellikleri
steam st;     // buharın özellikleri
ref_CS3 stCS; //doymuş su-buhar özellikleri
//===== Pentan
//		LK.kv_TP_LK_V(T,P)) doymuş gaz pentan ısıl iletkenlik katsayısı	
//		LK.kl_T_LK_L(T))    doymuş sıvı pentan ısıl iletkenlik katsayısı
//      LK.vis_T_L_LPV(T)   doymuş sıvı pentan ısıl iletkenlik katsayısı
//      LK1.vis_T_PS_LTL(T))
//      LK1.sigma(T,P)) yüzey gerilimi
//      dH_T_LK_SVL(double T) doymuş sıvı buharlaşma entalpisi
//      vis(double T,double P)
//      LK : P  bar T detece K
// ===== Su =====
//  property(String s, double v1, double v2)
//   s1[0][0]="P, pressure        ";
/*
   s1[1][0]="T, temperature     ";
   s1[2][0]="v, specific volume ";
   s1[3][0]="h, enthalpy        ";
   s1[4][0]="u, internal energy ";
   s1[5][0]="s, entropy         ";
   s1[6][0]="x, quality         ";
   s1[7][0]="   density         ";
   s1[8][0]="phase              ";
*/
//cases of String s
//    tv tp th tu ts tx
// pv    pt ph pu ps px
// vp    vt
//Doymuş su termofiziksel özellikler
/*
   s1[13][1]=""+rd.h_l(t);
   s1[14][1]=""+rd.h_v(t);
   s1[15][1]=""+rd.h_lv(t);
   s1[16][1]=""+rd.s_l(t);
   s1[17][1]=""+rd.s_v(t);
   s1[18][1]=""+rd.s_lv(t);
   s1[19][1]=""+rd.viscosity_l(t);
   s1[20][1]=""+rd.viscosity_v(t);
   s1[21][1]=""+rd.k_l(t);
   s1[22][1]=""+rd.k_v(t);
   s1[23][1]=""+rd.Cpl(t);
   s1[24][1]=""+rd.Cpv(t);
   s1[25][1]=""+rd.soundv_l(t);
   s1[26][1]=""+rd.soundv_v(t);   
   s1[27][1]=""+rd.yuzeygerilim(t);
*/
public flooded_evap(double n_boru1i,double n_boru2i,double l_borui,double di_borui ,double do_borui,double h_sıvıi ,double Di) 
{n_boru1=n_boru1i;
 n_boru2=n_boru2i;
 l_boru=l_borui;
 di_boru=di_borui;
 do_boru=do_borui;
 h_sıvı=h_sıvıi;
 D=Di;
 LK=new LeeKesler("n-pentane");
 st=new steam();
 stCS=new ref_CS3("R718");
 n_adım=50;
 eod=0.0045e-2/di_boru;
}

// m_su kg/s toplam su debisi
// Tavg ortalama su-duvar sıcaklığı
// P su basıncı kPa
// t  sıvı sıcaklığı derece C
// tw duvar sıcaklığı derece C
public double Re(double msu,double t,double P,double tw )
{  double mboru=msu/(n_boru1+n_boru2);
   double tavg=(t+tw)/2.0;
   double mu=stCS.viscosity_l(tavg);
   //double a[]=st.property("tp", t, P);
   return 4.0*mboru/Math.PI/di_boru/mu;   
}
public double f(double Re)
 {
 //Goudar equation 
 double a=2/Math.log(10);
 double b=eod/3.7;
 double d=Math.log(10.0)/5.02*Re;
 double s=b*d+Math.log(d);
 double q=Math.pow(s,(s/(s+1)));
 double g=b*d+Math.log(d/q);
 double z=Math.log(q/g);
 double dLA=(g/(g+1))*z;
 double dCFA=dLA*(1+z/2.0/((g+1)*(g+1)+(z/3)*(2.0*g-1)));
 double f1=a*(Math.log(d/q)+dCFA);
 f1=1.0/(f1*f1);
 //System.out.println("Goudar equation f1="+f1);
 return f1;
 }
 
public double h_su(double msu,double t,double P,double tw )
{ double tavg=(t+tw)/2.0;
  double mu=stCS.viscosity_l(tavg);
  double Cp=stCS.Cpl(tavg);
  double k=stCS.k_l(tavg);
  double Pr=mu*Cp/k;
  double Re=Re(msu,t,P,tw );
  double f=f(Re);
  double X=1.07+12.7*(Math.pow(Pr,(2.0/3.0))-1.0)*Math.sqrt(f/8.0);
  double muw=stCS.viscosity_l(tw);
  double n=0.11;
  double Nu=Re*Pr/X*(f/8.0)*Math.pow((mu/muw),n);
  double h=Nu*k/di_boru;
  return h;
}
public double h_pentan_sivi(double t,double P,double tw )
{   // P kPa P1 bar
    //t tw derece C
    //T derece K
	double P1=p/100.0;
   double T=t+273.15;
   double Cpl=LK.cp_T_LK_SL(T);
   double hfg=LK.dH_T_LK_SVL(T);
   double rol=1.0/V_T_LK_SL(T);
   double rov=1.0/V_T_LK_SV(T);
   double sigma=LK1.sigma(T,P1);
   double mul=LK.vis_T_PS_LTL(T);
   double Csf=0.0127; //pentan-polished nickel
   double kl=LK.kl_T_LK_L(T);
   double Prl=mul*Cpl/kl;
   double g=9.806; //m/s^2
   double n=1.7;
   double h=Math.pow((Cpl*(tw-t)/hfg/Math.pow(Prl,n)/Csf),3)*mul*hfg/(sigma/g

}

}