# Need help! UDS equation is divergence in first iteration

 Register Blogs Members List Search Today's Posts Mark Forums Read

 November 5, 2010, 01:06 Need help! UDS equation is divergence in first iteration #1 New Member   tom pan Join Date: Nov 2010 Posts: 14 Rep Power: 15 I need to solve three more transport equation in the exist temperature field. But it's divergence in first iteration. So i open solution controls---> advanced..., changing AMG method of uds equations from aggregative to selective and the verbosity is set to 2. it don't shows divergence error this time but still have problem uds-0 equation: tol. 1.#QOe+000 Cycle Residual ----- --------- 0 1.#QOe+000 1 1.#QOe+000 2 1.#QOe+000 (omit) What's the problem in the case that let tol. 1.#QOe+000 happen? it seems like there exist a very small value in denominator in the iteration but i don't know how to fix it. below are my udf file #include "udf.h" #define PI (3.1415926) real x[ND_ND]; face_t f; real diff; real Kn, rc, kb, rp, diffuse; real source, source1, B , As, dp, Tau, c, np, l, g; real kk,e, lumda; DEFINE_DIFFUSIVITY(diffusivity,c,t,i) //diffusivity coefficient of uds equation { C_CENTROID(x,c,t) rp=3.*C_UDSI(c,t,1)/C_UDSI(c,t,2); dp=2.*rp; np=pow(C_UDSI(c,t,2),3)/(36*PI*C_UDSI(c,t,0)*pow(C_UDSI(c,t,1),2)); rc=rp*pow(np,(1./1.8)); lumda=C_MU_EFF(c,t)*sqrt(PI*28.8/(2*8.31*C_T(c,t))); Kn=lumda/rp; kb=1.38*pow(10.,-23); diffuse=(kb*C_T(c,t)/(6.*PI*C_MU_EFF(c,t)*C_R(c,t)*rp))*((5.+4.*Kn+6.*p ow(Kn,2)+18.*pow(Kn,3))/(5.-Kn+(8.+PI)*pow(Kn,2))); //what's the difference between turbulence viscousity C_MU_T(c,t) and Laminar viscousity C_MU_L(c,t) and effective viscousity C_MU_EFF(c,t) return -diffuse; } DEFINE_SOURCE(N_source,c,t,dS,eqn)//source term of uds equation { C_CENTROID(x,c,t) c=sqrt(8.*kb*C_UDSI(c,t,0)*C_T(c,t)/(PI*C_R(c,t)*C_UDSI(c,t,1))); l=8.*diffuse/(PI*c); g=(1./(6.*rc*l))*(pow((2.*rc+l),3.)-pow(4.*pow(rc,2.)+pow(l,2.),1.5))-2.*rc; B=8.*PI*diffuse*dp*pow((dp/(dp+sqrt(2.)*g))+8.*diffuse/(sqrt(2.)*c*dp),-1.); source=-0.5*pow(C_R(c,t),2.)*B*pow(C_UDSI(c,t,0),2.); dS[eqn]=-pow(C_R(c,t),2.)*B*C_UDSI(c,t,0); return source; } DEFINE_SOURCE(V_source,c,t,dS,eqn) { C_CENTROID(x,c,t) return 0.; } DEFINE_SOURCE(A_source,c,t,dS,eqn) { C_CENTROID(x,c,t) As=pow(PI*C_UDSI(c,t,0),1/3)*pow(6.*C_UDSI(c,t,1),2/3); Tau=8.75*pow(10.,19)*pow(6.*C_UDSI(c,t,1)/C_UDSI(c,t,2),4)*exp(3.1*pow(10.,4.)/C_T(c,t)); source1=-(C_UDSI(c,t,2)-As)*C_R(c,t)/Tau; dS[eqn]=-C_R(c,t)/Tau; return source1; } DEFINE_PROFILE(S0,t,i)//boundary contion of uds { begin_f_loop(f,t) { F_CENTROID(x,f,t); F_PROFILE(f,t,i)=3.22*pow(10.,24); } end_f_loop(f,t) } DEFINE_PROFILE(S1,t,i) { begin_f_loop(f,t) { F_CENTROID(x,f,t); //F_PROFILE(f,t,i)=F_YI(f,t,5)*6.02*pow(10.,23.)*PI/(77.*4.); F_PROFILE(f,t,i)=1.686; } end_f_loop(f,t) } DEFINE_PROFILE(S2,t,i) { begin_f_loop(f,t) { F_CENTROID(x,f,t); F_PROFILE(f,t,i)=1.011*pow(10.,9); } end_f_loop(f,t) } Hope someone can solve my problem. I have been disappointed for quite some time....

 November 12, 2010, 02:42 #2 New Member   tom pan Join Date: Nov 2010 Posts: 14 Rep Power: 15 i'm thinking that perhaps those 3 UDSs are too complicate to solve. If only in the region, like x=[0,10] , y=[-1,1], the UDSs need to be solved. How can i do this in UDF??

 November 28, 2010, 22:57 #3 New Member   tom pan Join Date: Nov 2010 Posts: 14 Rep Power: 15 It seem that if i choose a right initial value, the case will not diverge at the first step. But i haven't calculated a conclusion which is correct in my mind. Is it right that the initial values have a great influence on convergence?

 Tags divergence, uds