169 for(
int i=1; i<N-1; i++)
171 dy=0.5*(Y(i+1)-Y(i-1));
172 Ap = alpha*(qb[i+1]-qb[i])/(Y(i+1)-Y(i));
173 Am = alpha*(qb[i]-qb[i-1])/(Y(i)-Y(i-1));
174 mol_diff[i] = (Ap - Am)/(dy);
176 Ap = (qb[i+1]-qb[i])/(Y(i+1)-Y(i))*(alpha_tot[i+1]+alpha_tot[i]-2.*alpha)/2.;
177 Am = (qb[i]-qb[i-1])/(Y(i)-Y(i-1))*(alpha_tot[i]+alpha_tot[i-1]-2.*alpha)/2.;
178 tur_diff[i] = (Ap - Am)/(dy);
187 prod[i] = (alpha_tot[i]-alpha)*(Tm[i+1]-Tm[i-1])*(Tm[i+1]-Tm[i-1])/4./dy/dy;
189 double f = (1+tanh(0.08*(30-Y[i]*u_tau/nu)))/2.;
190 eps[i] = (1-f)*sqrt(CMU) * qb[i]/R * u_tau*u_tau/(nu+(alpha_tot[i]-alpha)*PR_T);
191 eps[i] += f*2.*(qb[1]-qb[0])*alpha/(Y(1)-Y(0))/(Y(1)-Y(0));
193 SEC_MEM[i] = mol_diff[i]+tur_diff[i] + prod[i] - eps[i];
205 for(
int i=1; i<N-1; i++)
207 dy=0.5*(Y(i+1)-Y(i-1));
209 if(i==1) qf[0]=qf[1];
211 Ap = alpha*(qf[i+1]-qf[i])/(Y(i+1)-Y(i));
212 Am = alpha*(qf[i]-qf[i-1])/(Y(i)-Y(i-1));
213 mol_diff[i] = (Ap - Am)/(dy);
215 Ap = (qf[i+1]-qf[i])/(Y(i+1)-Y(i))*(alpha_tot[i+1]+alpha_tot[i]-2.*alpha)/2.;
216 Am = (qf[i]-qf[i-1])/(Y(i)-Y(i-1))*(alpha_tot[i]+alpha_tot[i-1]-2.*alpha)/2.;
217 tur_diff[i] = (Ap - Am)/(dy);
219 prod[i] = (alpha_tot[i]-alpha)*(Tm[i+1]-Tm[i-1])*(Tm[i+1]-Tm[i-1])/dy/dy;
221 double f = (1+tanh(0.08*(30-Y[i]*u_tau/nu)))/2.;
222 eps[i] = (1-f)*sqrt(CMU) * qf[i]/R * u_tau*u_tau/(nu+(alpha_tot[i]-alpha)*PR_T);
223 eps[i] += f*2.*(qf[1]-qf[0])*alpha/(Y(1)-Y(0))/(Y(1)-Y(0));
225 SEC_MEM[i] = mol_diff[i]+tur_diff[i] + prod[i] - eps[i];
241 Tmles_np1 = gamma*Tnp1 + (1.-gamma)*Tmles_n;
242 Tples_np1 = Tnp1 - Tmles_np1;
243 Tples2m_np1 = gamma*(Tnp1-Tmles_np1)*(Tnp1-Tmles_np1) + (1.-gamma)*Tples2m_n;
244 Tw_m_np1 = gamma*Tw_np1 + (1.-gamma)*Tw_m_n;
255 for(
int i=0; i<N; i++) Q(i) = sqrt(std::fabs(qb(i))/std::fabs(qb(N-1)+1.e-20));
260 for(
int i=0; i<N; i++)
262 D = pow(1. - exp(-Y[i]*u_tau/nu/A),2.);
263 alpha_tot[i] = alpha + KAPPA*D*Y[i]*u_tau/PR_T;
270 if(type_pb==1) Tm(0) = Tw_m_np1;
273 qb(N-1) = Tples2m_np1;
274 qf(N-1) = Tples2m_np1;
277 if((dtn1-tn)<dt) dt = dtn1-tn;
287 if(i==0) SEC_MEM(i)=0;
290 dy=0.5*(Y(i+1)-Y(i-1));
291 Ap = ((Tm[i+1]-Tm[i])/(Y(i+1)-Y(i)))*(alpha_tot[i+1]+alpha_tot[i])/2.;
292 Am = ((Tm[i]-Tm[i-1])/(Y(i)-Y(i-1)))*(alpha_tot[i]+alpha_tot[i-1])/2.;
293 SEC_MEM[i] = (Ap-Am)/dy;
298 Tm[i] = Tm[i] + SEC_MEM[i]*dt + F[i]*dt;
299 Tp[i] = Q[i]*Tp[N-1];
307 Ap = ((Tm[2]-Tm[1])/(Y(2)-Y(1)))*(alpha_tot[2]+alpha_tot[1])/2.;
310 SEC_MEM[1] = (Ap-Am)/(0.5*(Y(2)-Y(0)));
313 dy=0.5*(Y(i+1)-Y(i-1));
314 Ap = ((Tm[i+1]-Tm[i])/(Y(i+1)-Y(i)))*(alpha_tot[i+1]+alpha_tot[i])/2.;
315 Am = ((Tm[i]-Tm[i-1])/(Y(i)-Y(i-1)))*(alpha_tot[i]+alpha_tot[i-1])/2.;
316 SEC_MEM[i] = (Ap-Am)/dy;
320 Tm[i] = Tm[i] + SEC_MEM[i]*dt;
321 Tp[i] = Q[i]*Tp[N-1];
324 Tm[0] = Tm[1] - Tw_m_np1*dy/alpha;
325 Tp[0] = Q[0]*Tp[N-1];
336 qf(i) = qf(i) + SEC_MEM(i)*dt;
339 qb(0) = Theta*Theta*qf(0);
347 qb(i) = qb(i) + SEC_MEM(i)*dt;
359 Tples2m_n = Tples2m_np1;
void initialiser(int N, double gamma, double dist, double T0, double Tn, double t0, double rat, double f)