pavankonchada123
Subscriber

can u please help me in converting the below udf to parallel mode


#include"udf.h"


real diffflow_tot;


 


real m,a,b,e;


int j=0;


DEFINE_INIT(my_init_func,d)


 {


m = RP_Get_Input_Parameter("real-1");


a=m-20;


}


DEFINE_EXECUTE_AT_END(massflowrate)


{


Domain *d; 


real set_point = 0.00001;


 


real flow1=0,flow2=0;


int i=0;


real A[ND_ND],area,pressf,area_tot,inletstaticpressure;


cell_t c;


Thread *t,*s,*r,*y;


face_t f1,f2,f3;


d = Get_Domain(1); 


t= Lookup_Thread(d, 7);


s=Lookup_Thread(d,6);


r=Lookup_Thread(d,7);


/* mass flow at inlet */


begin_f_loop(f1,t)


{


flow1+=F_FLUX(f1,t);


}


end_f_loop(f1,t)


 


/* mass flow at outlet */


 


begin_f_loop(f2,s)


{


flow2+=F_FLUX(f2,s);


}


end_f_loop(f2,s)


 


diffflow_tot = (flow1+flow2);


Message ("Net Flow = %f n ", (flow1+flow2));


 


/* Average Static Pressure*/


 


begin_f_loop(f3,r) 


{


i++;


F_AREA(A,f3,r);


area = NV_MAG(A);


pressf = F_P(f3,r);


area_tot += area;


inletstaticpressure += pressf*area;


}


end_f_loop(f3,r) 


 


 


inletstaticpressure= inletstaticpressure/area_tot;


Message ("Static Pressure = %f",inletstaticpressure);


if (((j % 20) == 0))


b = inletstaticpressure;


 


if (((j % 20) == 19))


e = inletstaticpressure;


if( j>=200)


{


 


if (((b - e)<= 0.5) && (inletstaticpressure > (a+0.3)))


m = m -0.5;


else if(((e - b)<= 0.5) && (inletstaticpressure < (a-0.3)))


m = m + 0.5;


else if (diffflow_tot <= set_point && ((b-e)<=0.2) && (inletstaticpressure <= (a+0.3) && inletstaticpressure >= (a-0.3)))


{  


 thread_loop_c(y,d)


      {


 


      /* Compute max, min, volume-averaged temperature */


 


      /* Loop over all cells */


     


 begin_c_loop(c,y)


      {


        


         C_UDMI(c,y,0) = 1.5;


      }


    end_c_loop(c,y)


  }


}


}


}


 


 


 


DEFINE_PROFILE(pressure_tot,t,i)


{


 


j++;


face_t f;


 


begin_f_loop(f,t)


{


F_PROFILE(f,t,i) = m ;


}


end_f_loop(f,t)


 


}