204 const Domaine_dis_base& zdisbase=mon_equation->inconnue().domaine_dis_base();
206 const IntTab& elem_faces = domaine_VDF.
elem_faces();
209 const DoubleTab& xp = domaine_VDF.
xp();
215 const DoubleTab& vitesse = mon_equation->inconnue().valeurs();
218 const DoubleTab& Temp = mon_equation_NRJ->inconnue().valeurs();
237 double vitu,vitv,vitw;
240 double Tmin=1000000000.,Tmax=0.;
241 int elem_min=0, elem_max=0;
246 int face_u_0,face_u_1,face_v_0,face_v_1,face_w_0,face_w_1;
265 for (num_elem=0; num_elem<nb_elems; num_elem++)
270 tmoy(i,corresp(i,num_elem)) += Temp[num_elem];
271 face_u_0 = elem_faces(num_elem,0);
272 face_u_1 = elem_faces(num_elem,
dimension);
273 vitu = 0.5*(vitesse[face_u_0]+vitesse[face_u_1]);
275 face_v_0 = elem_faces(num_elem,1);
276 face_v_1 = elem_faces(num_elem,
dimension+1);
277 vitv = 0.5*(vitesse[face_v_0]+vitesse[face_v_1]);
279 face_w_0 = elem_faces(num_elem,2);
280 face_w_1 = elem_faces(num_elem,
dimension+2);
281 vitw = 0.5*(vitesse[face_w_0]+vitesse[face_w_1]);
283 u_moy_cent(i,corresp(i,num_elem)) += vitu;
285 v_moy_cent(i,corresp(i,num_elem)) += vitv;
287 w_moy_cent(i,corresp(i,num_elem)) += vitw;
289 trms(i,corresp(i,num_elem)) += Temp[num_elem]*Temp[num_elem];
291 uptp(i,corresp(i,num_elem)) += vitu*Temp[num_elem];
292 vptp(i,corresp(i,num_elem)) += vitv*Temp[num_elem];
293 wptp(i,corresp(i,num_elem)) += vitw*Temp[num_elem];
297 if(Temp[num_elem]<Tmin)
302 if(Temp[num_elem]>Tmax)
312 SFichier fic1(
"T_min_max.dat",ios::app);
313 double tps = mon_equation->inconnue().temps();
314 fic1 << tps <<
" " << Tmin <<
" " << xp(elem_min,0) <<
" " << xp(elem_min,1);
315 fic1 <<
" " << Tmax <<
" " << xp(elem_max,0) <<
" " << xp(elem_max,1) <<finl;
327 IntTab compt_p(compt);
330 DoubleTab tmoy_p(tmoy);
333 DoubleTab trms_p(trms);
336 DoubleTab uptp_p(uptp);
339 DoubleTab vptp_p(vptp);
342 DoubleTab wptp_p(wptp);
345 DoubleTab u_moy_cent_p(u_moy_cent);
348 DoubleTab v_moy_cent_p(v_moy_cent);
351 DoubleTab w_moy_cent_p(w_moy_cent);
356 IntTab compt_tot(compt);
357 DoubleTab tmoy_tot(tmoy);
358 DoubleTab trms_tot(trms);
359 DoubleTab uptp_tot(uptp);
360 DoubleTab vptp_tot(vptp);
361 DoubleTab wptp_tot(wptp);
362 DoubleTab u_moy_cent_tot(u_moy_cent);
363 DoubleTab v_moy_cent_tot(v_moy_cent);
364 DoubleTab w_moy_cent_tot(w_moy_cent);
378 recevoir(compt_p,p,0,p);
381 recevoir(tmoy_p,p,0,p);
384 recevoir(trms_p,p,0,p);
387 recevoir(uptp_p,p,0,p);
390 recevoir(vptp_p,p,0,p);
393 recevoir(wptp_p,p,0,p);
396 recevoir(u_moy_cent_p,p,0,p);
397 u_moy_cent_tot+=u_moy_cent_p;
399 recevoir(v_moy_cent_p,p,0,p);
400 v_moy_cent_tot+=v_moy_cent_p;
402 recevoir(w_moy_cent_p,p,0,p);
403 w_moy_cent_tot+=w_moy_cent_p;
410 for (j=0; j<NN(i); j++)
412 tmoy(i,j) = tmoy_tot(i,j) / compt_tot(i,j);
413 trms(i,j) = trms_tot(i,j) / compt_tot(i,j);
414 uptp(i,j) = uptp_tot(i,j) / compt_tot(i,j);
415 vptp(i,j) = vptp_tot(i,j) / compt_tot(i,j);
416 wptp(i,j) = wptp_tot(i,j) / compt_tot(i,j);
417 u_moy_cent(i,j) = u_moy_cent_tot(i,j) / compt_tot(i,j);
418 v_moy_cent(i,j) = v_moy_cent_tot(i,j) / compt_tot(i,j);
419 w_moy_cent(i,j) = w_moy_cent_tot(i,j) / compt_tot(i,j);
421 trms(i,j) -= tmoy(i,j)*tmoy(i,j);
422 uptp(i,j) -= u_moy_cent(i,j)*tmoy(i,j);
423 vptp(i,j) -= v_moy_cent(i,j)*tmoy(i,j);
424 wptp(i,j) -= w_moy_cent(i,j)*tmoy(i,j);
462void Traitement_particulier_NS_Profils_thermo_VDF::ecriture_fichier_moy_spat_thermo(
const DoubleTab& Tmoy_m,
const DoubleTab& Trms_m,
const DoubleTab& upTp_m,
const DoubleTab& vpTp_m,
const DoubleTab& wpTp_m,
const DoubleTab& Tmoy_p,
const DoubleTab& Trms_p,
const DoubleTab& upTp_p,
const DoubleTab& vpTp_p,
const DoubleTab& wpTp_p,
const DoubleTab& Y,
const IntVect& NN,
const DoubleVect& delta_m,
const DoubleVect& delta_p)
466 double tps = mon_equation->inconnue().temps();
471 Nom nom_fic =
"./Space_Avg/Avg_temp_";
499 fic <<
"# Space Averaged Statistics" << finl ;
500 fic <<
"# Y <T> Trms <upTp> -<vpTp> -<wpTp>" << finl ;
502 DoubleTab Tmoy(Tmoy_m);
503 DoubleTab Trms(Trms_m);
504 DoubleTab upTp(upTp_m);
505 DoubleTab vpTp(vpTp_m);
506 DoubleTab wpTp(wpTp_m);
508 for(j=0; j<NN(i); j++)
510 Tmoy(i,j)=Tmoy_m(i,j)*delta_m(i)/(delta_m(i)+delta_p(i));
511 Tmoy(i,j)+=Tmoy_p(i,j)*delta_p(i)/(delta_m(i)+delta_p(i));
512 Trms(i,j)=Trms_m(i,j)*delta_m(i)/(delta_m(i)+delta_p(i));
513 Trms(i,j)+=Trms_p(i,j)*delta_p(i)/(delta_m(i)+delta_p(i));
514 upTp(i,j)=upTp_m(i,j)*delta_m(i)/(delta_m(i)+delta_p(i));
515 upTp(i,j)+=upTp_p(i,j)*delta_p(i)/(delta_m(i)+delta_p(i));
516 vpTp(i,j)=vpTp_m(i,j)*delta_m(i)/(delta_m(i)+delta_p(i));
517 vpTp(i,j)+=vpTp_p(i,j)*delta_p(i)/(delta_m(i)+delta_p(i));
518 wpTp(i,j)=wpTp_m(i,j)*delta_m(i)/(delta_m(i)+delta_p(i));
519 wpTp(i,j)+=wpTp_p(i,j)*delta_p(i)/(delta_m(i)+delta_p(i));
522 for (j=0; j<NN(i); j++)
523 fic << Y(i,j) <<
" " << Tmoy(i,j) <<
" " << sqrt(std::max(Trms(i,j),0.0)) <<
" " << upTp(i,j) <<
" " << -vpTp(i,j) <<
" " << -wpTp(i,j) << finl;
int elem_faces(int i, int j) const
renvoie le numero de le ieme face de la maille num_elem la facon dont ces faces sont numerotees est
double xp(int num_elem, int k) const
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.