550 const IJK_Field_double& pression_ori,
551 const IJK_Field_double& masse_vol_ori,
552 const IJK_Field_double& champ_mu_ori)
565 for (
int i = 0; i < 3; i++)
584 const int Nval = NVAL_INTER ;
587 const ArrOfDouble& vit_moy_i = vit_moy_[0];
588 const ArrOfDouble& vit_moy_j = vit_moy_[1];
589 const ArrOfDouble& vit_moy_k = vit_moy_[2];
590 const ArrOfDouble& rho_moy =
rho_moy_;
591 const ArrOfDouble& nu_moy =
nu_moy_;
601 const double unsurdx=1./
dx_;
602 const double unsurdy=1./
dy_;
605 const IJK_Field_double& vitesse_i =
vitesse[0];
606 const IJK_Field_double& vitesse_j =
vitesse[1];
607 const IJK_Field_double& vitesse_k =
vitesse[2];
626 for (
int k = 0; k < kmax; k++)
629 const int kg=k+offsetk;
630 const int paroi_basse = kg == 0 ? 1 : 0 ;
631 const int paroi_haute = ( kg == (nktot-1) ) ? 1 : 0;
632 const int plan_de_paroi = paroi_haute + paroi_basse ;
634 if ( !plan_de_paroi )
636 const double unsurdz=1./
tab_dz_[kg];
641 double alpha = delta_p/delta_m ;
642 double unsalpha = delta_m/delta_p ;
643 double unsdpdm = 1. / ( delta_p + delta_m );
644 double unsdp = 1./ delta_p;
645 double unsdm = 1./ delta_m;
649 for (
int j = 0; j < jmax; j++)
650 for (
int i = 0; i < imax; i++)
654 const double uf_i = vitesse_i( i , j , k ) - vit_moy_i[kg];
655 const double uf_ip1 = vitesse_i(i+1, j , k ) - vit_moy_i[kg];
657 const double vf_j = vitesse_j( i , j , k ) - vit_moy_j[kg];
658 const double vf_jp1 = vitesse_j( i ,j+1, k ) - vit_moy_j[kg];
660 const double wf_k = vitesse_k( i , j , k ) - vit_moy_k[kg];
661 const double wf_kp1 = vitesse_k( i , j ,k+1) - vit_moy_k[kg+1];
664 const double ue = 0.5*(uf_ip1+uf_i);
665 const double ve = 0.5*(vf_jp1+vf_j);
666 const double we = 0.5*(wf_kp1+wf_k);
669 const double uetot = 0.5*(vitesse_i(i+1,j,k) + vitesse_i(i,j,k));
670 const double vetot = 0.5*(vitesse_j(i,j+1,k) + vitesse_j(i,j,k));
671 const double wetot = 0.5*(vitesse_k(i,j,k+1) + vitesse_k(i,j,k));
674 const double duidx=(uf_ip1-uf_i)*unsurdx;
675 const double dujdy=(vf_jp1-vf_j)*unsurdy;
676 const double dukdz=(wf_kp1-wf_k)*unsurdz;
677 const double divu= duidx+dujdy+dukdz;
680 const double unsurrho=1./
masse_vol(i,j,k);
683 const double nu = mu * unsurrho;
685 const double unsurrho_moy = 1./ rho_moy[kg];
686 const double rho_fluc = (rho - rho_moy[kg]);
687 const double nu_fluc = (nu - nu_moy[kg]);
691 const double drhodz = derivee_aniso(alpha, unsalpha, unsdpdm,
masse_vol(i,j,k-1), rho,
masse_vol(i,j,k+1));
694 double Uf_mk_0 = kg == 0 ? 0. : vitesse_i(i,j,k-1) - vit_moy_i[kg-1];
695 double Uf_pk_0 = kg == (nktot-1) ? 0. : vitesse_i(i,j,k+1) - vit_moy_i[kg+1];
696 double duidz_0 = derivee_aniso(alpha, unsalpha, unsdpdm, Uf_mk_0, uf_i, Uf_pk_0);
698 double Uf_mk_1 = kg == 0 ? 0. : vitesse_i(i+1,j,k-1) - vit_moy_i[kg-1];
699 double Uf_pk_1 = kg == (nktot-1) ? 0. : vitesse_i(i+1,j,k+1) - vit_moy_i[kg+1];
700 double duidz_1 = derivee_aniso(alpha, unsalpha, unsdpdm, Uf_mk_1, uf_i, Uf_pk_1);
702 double Uf_mk_0_tot = kg == 0 ? 0. : vitesse_i(i,j,k-1);
703 double Uf_pk_0_tot = kg == (nktot-1) ? 0. : vitesse_i(i,j,k+1);
704 double duidz_0_tot = derivee_aniso(alpha, unsalpha, unsdpdm, Uf_mk_0_tot, vitesse_i(i,j,k), Uf_pk_0_tot);
706 double Uf_mk_1_tot = kg == 0 ? 0. : vitesse_i(i+1,j,k-1);
707 double Uf_pk_1_tot = kg == (nktot-1) ? 0. : vitesse_i(i+1,j,k+1);
708 double duidz_1_tot = derivee_aniso(alpha, unsalpha, unsdpdm, Uf_mk_1_tot, vitesse_i(i+1,j,k), Uf_pk_1_tot);
710 double Vf_mk= kg == 0 ? 0. : vitesse_j(i,j,k-1)-vit_moy_j[kg-1];
711 double Vf_pk= kg == (nktot-1) ? 0. : vitesse_j(i,j,k+1)-vit_moy_j[kg+1];
712 double dujdz_0 = derivee_aniso(alpha, unsalpha, unsdpdm, Vf_mk, vf_j, Vf_pk);
714 double Vf_mk_1= kg == 0 ? 0. : vitesse_j(i,j+1,k-1)-vit_moy_j[kg-1];
715 double Vf_pk_1= kg == (nktot-1) ? 0. : vitesse_j(i,j+1,k+1)-vit_moy_j[kg+1];
716 double dujdz_1 = derivee_aniso(alpha , unsalpha ,unsdpdm ,Vf_mk_1, vf_jp1 , Vf_pk_1);
720 double duiidx = (uf_ip1*uf_ip1 - uf_i*uf_i) * unsurdx;
721 double dujjdy = (vf_jp1*vf_jp1 - vf_j*vf_j) * unsurdy;
722 double dukkdz = (wf_kp1*wf_kp1 - wf_k*wf_k) * unsurdz;
727 double vjduidy = vf_j * 0.5 * unsurdy * ( ( uf_ip1 - vitesse_i(i+1,j-1, k ) + vit_moy_i[ kg ] )
728 + ( uf_i - vitesse_i( i ,j-1, k ) + vit_moy_i[ kg ] ) );
729 double vj_p1duidy = vf_jp1 * 0.5 * unsurdy * ( ( -uf_ip1 + vitesse_i(i+1,j+1, k ) - vit_moy_i[ kg ] )
730 + ( -uf_i + vitesse_i( i ,j+1, k ) - vit_moy_i[ kg ] ) );
732 double wkduidz = wf_k * 0.5 * unsdm * ( ( uf_ip1 - vitesse_i(i+1, j ,k-1) + vit_moy_i[kg-1] )
733 + ( uf_i - vitesse_i( i , j ,k-1) + vit_moy_i[kg-1] ) );
734 double wk_p1duidz = wf_kp1 * 0.5 * unsdp * ( ( -uf_ip1 + vitesse_i(i+1, j ,k+1) - vit_moy_i[kg+1] )
735 + ( -uf_i + vitesse_i( i , j ,k+1) - vit_moy_i[kg+1] ) );
737 double duijdy = ue * dujdy + 0.5 * ( vjduidy + vj_p1duidy );
738 double duikdz = ue * dukdz + 0.5 * ( wkduidz + wk_p1duidz );
741 double uidujdx = uf_i * 0.5 * unsurdx * ( ( vf_jp1 - vitesse_j(i-1,j+1, k ) + vit_moy_j[ kg ] )
742 + ( vf_j - vitesse_j(i-1, j , k ) + vit_moy_j[ kg ] ) );
743 double ui_p1dujdx = uf_ip1 * 0.5 * unsurdx * ( ( -vf_jp1 + vitesse_j(i+1,j+1, k ) - vit_moy_j[ kg ] )
744 + ( -vf_j + vitesse_j(i+1, j , k ) - vit_moy_j[ kg ] ) );
746 double wkdujdz = wf_k * 0.5 * unsdm * ( ( vf_jp1 - vitesse_j( i ,j+1,k-1) + vit_moy_j[kg-1] )
747 + ( vf_j - vitesse_j( i , j ,k-1) + vit_moy_j[kg-1] ) );
748 double wk_p1dujdz = wf_kp1 * 0.5 * unsdp * ( ( -vf_jp1 + vitesse_j( i ,j+1,k+1) - vit_moy_j[kg+1] )
749 + ( -vf_j + vitesse_j( i , j ,k+1) - vit_moy_j[kg+1] ) );
751 double dujidx = ve * duidx + 0.5 * ( uidujdx + ui_p1dujdx );
752 double dujkdz = ve * dukdz + 0.5 * ( wkdujdz + wk_p1dujdz );
755 double uidukdx = uf_i * 0.5 * unsurdx * ( ( wf_kp1 - vitesse_k(i-1, j ,k+1) + vit_moy_k[kg+1] )
756 + ( wf_k - vitesse_k(i-1, j , k ) + vit_moy_k[ kg ] ) );
757 double ui_p1dukdx = uf_ip1 * 0.5 * unsurdx * ( ( -wf_kp1 + vitesse_k(i+1, j ,k+1) - vit_moy_k[kg+1] )
758 + ( -wf_k + vitesse_k(i+1, j , k ) - vit_moy_k[ kg ] ) );
760 double vjdukdy = vf_j * 0.5 * unsurdy * ( ( wf_kp1 - vitesse_k( i ,j-1,k+1) + vit_moy_k[kg+1] )
761 + ( wf_k - vitesse_k( i ,j-1, k ) + vit_moy_k[ kg ] ) );
762 double vj_p1dukdy = vf_jp1 * 0.5 * unsurdy * ( ( -wf_kp1 + vitesse_k( i ,j+1,k+1) - vit_moy_k[kg+1] )
763 + ( -wf_k + vitesse_k( i ,j+1, k ) - vit_moy_k[ kg ] ) );
765 double dukidx = we * duidx + 0.5 * ( uidukdx + ui_p1dukdx );
766 double dukjdy = we * dujdy + 0.5 * ( vjdukdy + vj_p1dukdy );
769 double Uf_mj = vitesse_i(i,j-1,k)-vit_moy_i[kg];
770 double duidy_0 = (uf_i - Uf_mj ) * unsurdy;
772 double Vf_im = vitesse_j(i-1,j,k)-vit_moy_j[kg];
773 double dujdx_0 = (vf_j - Vf_im ) * unsurdx;
775 double Wf_mi = vitesse_k(i-1,j,k)-vit_moy_k[kg];
776 double dukdx_0 = (wf_k - Wf_mi ) * unsurdx;
778 double Wf_mipk = vitesse_k(i-1,j,k+1)-vit_moy_k[kg+1];
779 double dukdx_1 = (wf_kp1 - Wf_mipk ) * unsurdx;
781 double Wf_mj = vitesse_k(i,j-1,k)-vit_moy_k[kg];
782 double dukdy_0 = (wf_k - Wf_mj ) * unsurdy;
784 double Wf_mj_pk = vitesse_k(i,j-1,k+1)-vit_moy_k[kg+1];
785 double dukdy_1 = (wf_kp1 - Wf_mj_pk ) * unsurdy;
802 const double duidz = 0.5*(duidz_0 + duidz_1);
803 const double dujdz = 0.5*(dujdz_0 + dujdz_1);
804 const double duidz_tot = 0.5*(duidz_0_tot + duidz_1_tot);
805 const double dukdz_tot = (vitesse_k(i,j,k+1) - vitesse_k(i,j,k)) * unsurdz;
806 const double divtotu = duidx + dujdy + dukdz_tot;
808 const double Ve_mi = 0.5 * ( (vitesse_j(i-1,j,k) - vit_moy_j[kg]) + (vitesse_j(i-1,j+1,k) - vit_moy_j[kg]) );
809 const double Ve_pi = 0.5 * ( (vitesse_j(i+1,j,k) - vit_moy_j[kg]) + (vitesse_j(i+1,j+1,k) - vit_moy_j[kg]) );
810 const double dujdx = (Ve_pi - Ve_mi) * 0.5 * unsurdx;
812 const double We_mi = 0.5 * ( (vitesse_k(i-1,j,k) - vit_moy_k[kg]) + (vitesse_k(i-1,j,k+1) - vit_moy_k[kg+1]) );
813 const double We_pi = 0.5 * ( (vitesse_k(i+1,j,k) - vit_moy_k[kg]) + (vitesse_k(i+1,j,k+1) - vit_moy_k[kg+1]) );
814 const double dukdx = (We_pi - We_mi) * 0.5 * unsurdx;
816 const double Ue_mj = 0.5*( (vitesse_i(i,j-1,k) - vit_moy_i[kg]) + (vitesse_i(i+1,j-1,k) - vit_moy_i[kg]) );
817 const double Ue_pj = 0.5*( (vitesse_i(i,j+1,k) - vit_moy_i[kg]) + (vitesse_i(i+1,j+1,k) - vit_moy_i[kg]) );
818 const double duidy = (Ue_pj - Ue_mj) * 0.5 * unsurdy;
820 const double We_mj = 0.5*( (vitesse_k(i,j-1,k) - vit_moy_k[kg]) + (vitesse_k(i,j-1,k+1) - vit_moy_k[kg+1]) );
821 const double We_pj = 0.5*( (vitesse_k(i,j+1,k) - vit_moy_k[kg]) + (vitesse_k(i,j+1,k+1) - vit_moy_k[kg+1]) );
822 const double dukdy = (We_pj - We_mj ) * 0.5 * unsurdy;
843 const double duijdxj_i = duiidx + duijdy;
844 const double duijdxj_j = dujidx + dujjdy;
845 const double duijdxj_k = dukidx + dukjdy;
857 double uidujdxj_i = ue * divu;
858 double uidujdxj_j = ve * divu;
859 double uidujdxj_k = we * divu;
865 const double p_unsrho = p * unsurrho;
879 const double rhofluc_unsrho_unsrhomoy_P = p * rho_fluc * unsurrho_moy * unsurrho;
883 const double unsrho_unsrho_P_drhodxi_i = p * unsurrho * unsurrho * drhodx;
884 const double unsrho_unsrho_P_drhodxi_j = p * unsurrho * unsurrho * drhody;
885 const double unsrho_unsrho_P_drhodxi_k = p * unsurrho * unsurrho * drhodz;
898 const double somme_nufluc_dUidxj_ii = nu_fluc * duidx;
899 const double somme_nufluc_dUidxj_ij = (nu_arrette_ij - nu_moy[kg]) * duidy_0;
900 const double somme_nufluc_dUidxj_ik = (nu_face_i - nu_moy[kg]) * duidz_0_tot;
901 const double somme_nufluc_dUidxj_ji = (nu_arrette_ij - nu_moy[kg]) * dujdx_0;
902 const double somme_nufluc_dUidxj_jj = nu_fluc * dujdy;
903 const double somme_nufluc_dUidxj_jk = (nu_face_j - nu_moy[kg]) * dujdz_0;
904 const double somme_nufluc_dUidxj_ki = (nu_face_i - nu_moy[kg]) * ((dukdx_0 + dukdx_1)*0.5);
905 const double somme_nufluc_dUidxj_kj = (nu_face_j - nu_moy[kg]) * ((dukdy_0 + dukdy_1)*0.5);
906 const double somme_nufluc_dUidxj_kk = nu_fluc * dukdz_tot;
911 const double somme_nufluc_dUjdxi_ii = nu_fluc * duidx;
912 const double somme_nufluc_dUjdxi_ij = nu_fluc * dujdx;
913 const double somme_nufluc_dUjdxi_ik = nu_fluc * dukdx;
914 const double somme_nufluc_dUjdxi_ji = nu_fluc * duidy;
915 const double somme_nufluc_dUjdxi_jj = nu_fluc * dujdy;
916 const double somme_nufluc_dUjdxi_jk = nu_fluc * dukdy;
917 const double somme_nufluc_dUjdxi_ki = nu_fluc * duidz_tot;
918 const double somme_nufluc_dUjdxi_kj = nu_fluc * dujdz;
919 const double somme_nufluc_dUjdxi_kk = nu_fluc * dukdz_tot;
923 const double deuxtiers_nu_divU = (2./3.) * nu * divtotu;
946 const double somme_nufluc_dUidxk_i = nu_fluc * duidz_tot;
947 const double somme_nufluc_dUidxk_j = nu_fluc * dujdz;
948 const double somme_nufluc_dUidxk_k = nu_fluc * dukdz_tot;
952 const double somme_nufluc_dUkdxi_i = nu_fluc * dukdx;
953 const double somme_nufluc_dUkdxi_j = nu_fluc * dukdy;
954 const double somme_nufluc_dUkdxi_k = nu_fluc * dukdz_tot;
958 const double somme_deuxtiers_nu_divU = (2./3.) * nu * divtotu;
962 const double somme_nusrho_dUidxj_drhodxj_i = nu * unsurrho * (drhodx*duidx + drhody*duidy + drhodz*duidz_tot);
963 const double somme_nusrho_dUidxj_drhodxj_j = nu * unsurrho * (drhodx*dujdx + drhody*dujdy + drhodz*dujdz);
964 const double somme_nusrho_dUidxj_drhodxj_k = nu * unsurrho * (drhodx*dukdx + drhody*dukdy + drhodz*dukdz_tot);
968 const double somme_nusrho_dUjdxi_drhodxj_i = nu * unsurrho * (drhodx*duidx + drhody*dujdx + drhodz*dukdx);
969 const double somme_nusrho_dUjdxi_drhodxj_j = nu * unsurrho * (drhodx*duidy + drhody*dujdy + drhodz*dukdy);
970 const double somme_nusrho_dUjdxi_drhodxj_k = nu * unsurrho * (drhodx*duidz_tot + drhody*dujdz + drhodz*dukdz_tot);
974 const double somme_deuxtiers_nusrho_divU_drhodxi_i = (2./3.) * nu * unsurrho * drhodx * divtotu;
975 const double somme_deuxtiers_nusrho_divU_drhodxi_j = (2./3.) * nu * unsurrho * drhody * divtotu;
976 const double somme_deuxtiers_nusrho_divU_drhodxi_k = (2./3.) * nu * unsurrho * drhodz * divtotu;
982 const double somme_unsrho_ui_Uj_drhodxj_i = unsurrho * ue * (uetot*drhodx + vetot*drhody + wetot*drhodz);
983 const double somme_unsrho_ui_Uj_drhodxj_j = unsurrho * ve * (uetot*drhodx + vetot*drhody + wetot*drhodz);
984 const double somme_unsrho_ui_Uj_drhodxj_k = unsurrho * we * (uetot*drhodx + vetot*drhody + wetot*drhodz);
989#define REMPLIR(quoi,avec) Avant_TF[quoi](i,j,k) = avec
991 REMPLIR(U_FOURIER, ue);
992 REMPLIR(V_FOURIER, ve);
993 REMPLIR(W_FOURIER, wf_k);
995 REMPLIR(TRIADIQUE_INPLANE_I_FOURIER, - duijdxj_i);
996 REMPLIR(TRIADIQUE_INPLANE_J_FOURIER, - duijdxj_j);
997 REMPLIR(TRIADIQUE_INPLANE_K_FOURIER, - duijdxj_k);
999 REMPLIR(TRIADIQUE_INTERPLANE_I_FOURIER, - duikdz);
1000 REMPLIR(TRIADIQUE_INTERPLANE_J_FOURIER, - dujkdz);
1001 REMPLIR(TRIADIQUE_INTERPLANE_K_FOURIER, - dukkdz);
1003 REMPLIR(DEFORMATION_TURBULENTE_I_FOURIER, uidujdxj_i);
1004 REMPLIR(DEFORMATION_TURBULENTE_J_FOURIER, uidujdxj_j);
1005 REMPLIR(DEFORMATION_TURBULENTE_K_FOURIER, uidujdxj_k);
1007 REMPLIR(P_FOURIER, p);
1008 REMPLIR(PSURRHO_FOURIER, p_unsrho);
1009 REMPLIR(DIFFUSION_PRESSION_RHOFLUC_ADERIVE_FOURIER, rhofluc_unsrho_unsrhomoy_P);
1011 REMPLIR(DIFFUSION_PRESSION_DERIVRHO_I_FOURIER, - unsrho_unsrho_P_drhodxi_i);
1012 REMPLIR(DIFFUSION_PRESSION_DERIVRHO_J_FOURIER, - unsrho_unsrho_P_drhodxi_j);
1013 REMPLIR(DIFFUSION_PRESSION_DERIVRHO_K_FOURIER, - unsrho_unsrho_P_drhodxi_k);
1015 REMPLIR(DISSIPATION_COMPRESSIBLE_UN_II_FOURIER, - somme_nufluc_dUidxj_ii);
1016 REMPLIR(DISSIPATION_COMPRESSIBLE_UN_IJ_FOURIER, - somme_nufluc_dUidxj_ij);
1017 REMPLIR(DISSIPATION_COMPRESSIBLE_UN_IK_FOURIER, - somme_nufluc_dUidxj_ik);
1018 REMPLIR(DISSIPATION_COMPRESSIBLE_UN_JI_FOURIER, - somme_nufluc_dUidxj_ji);
1019 REMPLIR(DISSIPATION_COMPRESSIBLE_UN_JJ_FOURIER, - somme_nufluc_dUidxj_jj);
1020 REMPLIR(DISSIPATION_COMPRESSIBLE_UN_JK_FOURIER, - somme_nufluc_dUidxj_jk);
1021 REMPLIR(DISSIPATION_COMPRESSIBLE_UN_KI_FOURIER, - somme_nufluc_dUidxj_ki);
1022 REMPLIR(DISSIPATION_COMPRESSIBLE_UN_KJ_FOURIER, - somme_nufluc_dUidxj_kj);
1023 REMPLIR(DISSIPATION_COMPRESSIBLE_UN_KK_FOURIER, - somme_nufluc_dUidxj_kk);
1025 REMPLIR(DISSIPATION_COMPRESSIBLE_DEUX_II_FOURIER, - somme_nufluc_dUjdxi_ii);
1026 REMPLIR(DISSIPATION_COMPRESSIBLE_DEUX_IJ_FOURIER, - somme_nufluc_dUjdxi_ij);
1027 REMPLIR(DISSIPATION_COMPRESSIBLE_DEUX_IK_FOURIER, - somme_nufluc_dUjdxi_ik);
1028 REMPLIR(DISSIPATION_COMPRESSIBLE_DEUX_JI_FOURIER, - somme_nufluc_dUjdxi_ji);
1029 REMPLIR(DISSIPATION_COMPRESSIBLE_DEUX_JJ_FOURIER, - somme_nufluc_dUjdxi_jj);
1030 REMPLIR(DISSIPATION_COMPRESSIBLE_DEUX_JK_FOURIER, - somme_nufluc_dUjdxi_jk);
1031 REMPLIR(DISSIPATION_COMPRESSIBLE_DEUX_KI_FOURIER, - somme_nufluc_dUjdxi_ki);
1032 REMPLIR(DISSIPATION_COMPRESSIBLE_DEUX_KJ_FOURIER, - somme_nufluc_dUjdxi_kj);
1033 REMPLIR(DISSIPATION_COMPRESSIBLE_DEUX_KK_FOURIER, - somme_nufluc_dUjdxi_kk);
1035 REMPLIR(DISSIPATION_COMPRESSIBLE_TROIS_I_FOURIER, deuxtiers_nu_divU);
1036 REMPLIR(DISSIPATION_COMPRESSIBLE_TROIS_J_FOURIER, deuxtiers_nu_divU);
1037 REMPLIR(DISSIPATION_COMPRESSIBLE_TROIS_K_FOURIER, deuxtiers_nu_divU);
1039 REMPLIR(DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_UN_I_FOURIER, somme_nufluc_dUidxk_i);
1040 REMPLIR(DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_UN_J_FOURIER, somme_nufluc_dUidxk_j);
1041 REMPLIR(DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_UN_K_FOURIER, somme_nufluc_dUidxk_k);
1043 REMPLIR(DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_DEUX_I_FOURIER, somme_nufluc_dUkdxi_i);
1044 REMPLIR(DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_DEUX_J_FOURIER, somme_nufluc_dUkdxi_j);
1045 REMPLIR(DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_DEUX_K_FOURIER, somme_nufluc_dUkdxi_k);
1047 REMPLIR(DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_TROIS_FOURIER, - somme_deuxtiers_nu_divU);
1049 REMPLIR(DIFFUSION_VISQUEUSE_DERIVRHO_UN_I_FOURIER, somme_nusrho_dUidxj_drhodxj_i);
1050 REMPLIR(DIFFUSION_VISQUEUSE_DERIVRHO_UN_J_FOURIER, somme_nusrho_dUidxj_drhodxj_j);
1051 REMPLIR(DIFFUSION_VISQUEUSE_DERIVRHO_UN_K_FOURIER, somme_nusrho_dUidxj_drhodxj_k);
1053 REMPLIR(DIFFUSION_VISQUEUSE_DERIVRHO_DEUX_I_FOURIER, somme_nusrho_dUjdxi_drhodxj_i);
1054 REMPLIR(DIFFUSION_VISQUEUSE_DERIVRHO_DEUX_J_FOURIER, somme_nusrho_dUjdxi_drhodxj_j);
1055 REMPLIR(DIFFUSION_VISQUEUSE_DERIVRHO_DEUX_K_FOURIER, somme_nusrho_dUjdxi_drhodxj_k);
1057 REMPLIR(DIFFUSION_VISQUEUSE_DERIVRHO_TROIS_I_FOURIER, - somme_deuxtiers_nusrho_divU_drhodxi_i);
1058 REMPLIR(DIFFUSION_VISQUEUSE_DERIVRHO_TROIS_J_FOURIER, - somme_deuxtiers_nusrho_divU_drhodxi_j);
1059 REMPLIR(DIFFUSION_VISQUEUSE_DERIVRHO_TROIS_K_FOURIER, - somme_deuxtiers_nusrho_divU_drhodxi_k);
1061 REMPLIR(TERME_NON_CLASSE_I_FOURIER, somme_unsrho_ui_Uj_drhodxj_i);
1062 REMPLIR(TERME_NON_CLASSE_J_FOURIER, somme_unsrho_ui_Uj_drhodxj_j);
1063 REMPLIR(TERME_NON_CLASSE_K_FOURIER, somme_unsrho_ui_Uj_drhodxj_k);
1065 REMPLIR(DUIDXJ_II_FOURIER, duidx);
1066 REMPLIR(DUIDXJ_IJ_FOURIER, duidy);
1067 REMPLIR(DUIDXJ_IK_FOURIER, duidz);
1068 REMPLIR(DUIDXJ_JI_FOURIER, dujdx);
1069 REMPLIR(DUIDXJ_JJ_FOURIER, dujdy);
1070 REMPLIR(DUIDXJ_JK_FOURIER, dujdz);
1071 REMPLIR(DUIDXJ_KI_FOURIER, dukdx);
1072 REMPLIR(DUIDXJ_KJ_FOURIER, dukdy);
1073 REMPLIR(DUIDXJ_KK_FOURIER, dukdz);
1075 REMPLIR(DIVU_FOURIER, divu);
1079 REMPLIR(DUIDXJ_II_NONCENTRE_FOURIER, duidx);
1080 REMPLIR(DUIDXJ_IJ_NONCENTRE_FOURIER, duidy_0);
1081 REMPLIR(DUIDXJ_IK_NONCENTRE_FOURIER, duidz_0);
1082 REMPLIR(DUIDXJ_JI_NONCENTRE_FOURIER, dujdx_0);
1083 REMPLIR(DUIDXJ_JJ_NONCENTRE_FOURIER, dujdy);
1084 REMPLIR(DUIDXJ_JK_NONCENTRE_FOURIER, dujdz_0);
1085 REMPLIR(DUIDXJ_KI_NONCENTRE_FOURIER, (dukdx_0 + dukdx_1) * 0.5);
1086 REMPLIR(DUIDXJ_KJ_NONCENTRE_FOURIER, (dukdy_0 + dukdy_1) * 0.5);
1087 REMPLIR(DUIDXJ_KK_NONCENTRE_FOURIER, dukdz);
1097 REMPLIR(UIUJ_II_FOURIER, ue * ue);
1098 REMPLIR(UIUJ_IJ_FOURIER, ue * ve);
1099 REMPLIR(UIUJ_IK_FOURIER, ue * we);
1101 REMPLIR(UIUJ_JJ_FOURIER, ve * ve);
1102 REMPLIR(UIUJ_JK_FOURIER, ve * we);
1105 REMPLIR(UIUJ_KK_FOURIER, we * we);
1107 REMPLIR(UJDUIDXJ_I_FOURIER, ue * duidx + 0.5 * ( vjduidy + vj_p1duidy ) + 0.5 * ( wkduidz + wk_p1duidz ));
1108 REMPLIR(UJDUIDXJ_J_FOURIER, 0.5 * ( uidujdx + ui_p1dujdx ) + ve * dujdy + 0.5 * ( wkdujdz + wk_p1dujdz ));
1109 REMPLIR(UJDUIDXJ_K_FOURIER, 0.5 * ( uidukdx + ui_p1dukdx ) + 0.5 * ( vjdukdy + vj_p1dukdy ) + we * dukdz);
1116 for (
int j = 0; j < jmax; j++)
1117 for (
int i = 0; i < imax; i++)
1118 for (
int val = 0 ; val < Nval ; val++ )
1129 if ((kmax+offsetk)!=nktot)
1138 int kg = k + offsetk;
1139 for (
int j = 0; j < jmax; j++)
1140 for (
int i = 0; i < imax; i++)
1142 double uf_i = vitesse_i(i,j,k) - vit_moy_i[kg];
1143 double vf_j = vitesse_j(i,j,k) - vit_moy_j[kg];
1144 double wf_k = vitesse_k(i,j,k) - vit_moy_k[kg];
1145 const double uf_ip1 = vitesse_i(i+1, j , k ) - vit_moy_i[kg];
1146 const double vf_jp1 = vitesse_j( i ,j+1, k ) - vit_moy_j[kg];
1147 const double ue = 0.5*(uf_ip1+uf_i);
1148 const double ve = 0.5*(vf_jp1+vf_j);
1150#define REMPLIR(quoi,avec) Avant_TF[quoi](i,j,k) = avec
1152 REMPLIR(U_FOURIER,ue);
1153 REMPLIR(V_FOURIER,ve);
1154 REMPLIR(W_FOURIER,wf_k);
1155 REMPLIR(P_FOURIER,p);
1161 for (
int j = 0; j < jmax; j++)
1162 for (
int i = 0; i < imax; i++)
1164 double uf_i = vitesse_i(i,j,k) - vit_moy_i[kg];
1165 double vf_j = vitesse_j(i,j,k) - vit_moy_j[kg];
1166 double wf_k = vitesse_k(i,j,k) - vit_moy_k[kg];
1167 const double uf_ip1 = vitesse_i(i+1, j , k ) - vit_moy_i[kg];
1168 const double vf_jp1 = vitesse_j( i ,j+1, k ) - vit_moy_j[kg];
1169 const double ue = 0.5*(uf_ip1+uf_i);
1170 const double ve = 0.5*(vf_jp1+vf_j);
1172#define REMPLIR(quoi,avec) Avant_TF[quoi](i,j,k) = avec
1174 REMPLIR(U_FOURIER,ue);
1175 REMPLIR(V_FOURIER,ve);
1176 REMPLIR(W_FOURIER,wf_k);
1177 REMPLIR(P_FOURIER,p);
1190 for (
int type = 0 ; type < Nval ; type ++ )
1215 for (
int k = 0; k < kmax; k++)
1217 const int kg=k+offsetk;
1218 const int paroi_basse = kg == 0 ? 1 : 0 ;
1219 const int paroi_haute = ( kg == (nktot-1) ) ? 1 : 0;
1220 const int plan_de_paroi = paroi_haute + paroi_basse ;
1232 if ( !plan_de_paroi )
1241 for (
int j = 0; j < jmax; j++)
1242 for (
int i = 0; i < imax; i++)
1260 const double RUE =
Reel_TF[U_FOURIER](i,j,k);
1261 const double IUE =
Imag_TF[U_FOURIER](i,j,k);
1262 const double RVE =
Reel_TF[V_FOURIER](i,j,k);
1263 const double IVE =
Imag_TF[V_FOURIER](i,j,k);
1265 const double RWE = 0.5 * (
Reel_TF[W_FOURIER](i,j,k) +
Reel_TF[W_FOURIER](i,j,k+1));
1266 const double IWE = 0.5 * (
Imag_TF[W_FOURIER](i,j,k) +
Imag_TF[W_FOURIER](i,j,k+1));
1281 double prod = RUE*RWE
1285 double Tin_i = RUE*
Reel_TF[TRIADIQUE_INPLANE_I_FOURIER](i,j,k)
1286 + IUE*
Imag_TF[TRIADIQUE_INPLANE_I_FOURIER](i,j,k);
1287 double Tin_j = RVE*
Reel_TF[TRIADIQUE_INPLANE_J_FOURIER](i,j,k)
1288 + IVE*
Imag_TF[TRIADIQUE_INPLANE_J_FOURIER](i,j,k);
1289 double Tin_k = RWE*
Reel_TF[TRIADIQUE_INPLANE_K_FOURIER](i,j,k)
1290 + IWE*
Imag_TF[TRIADIQUE_INPLANE_K_FOURIER](i,j,k);
1291 resultat_[RES_TRIADIQUE_INPLANE](i,j,k) = Tin_i + Tin_j + Tin_k;
1293 double Tit_i = RUE*
Reel_TF[TRIADIQUE_INTERPLANE_I_FOURIER](i,j,k)
1294 + IUE*
Imag_TF[TRIADIQUE_INTERPLANE_I_FOURIER](i,j,k);
1295 double Tit_j = RVE*
Reel_TF[TRIADIQUE_INTERPLANE_J_FOURIER](i,j,k)
1296 + IVE*
Imag_TF[TRIADIQUE_INTERPLANE_J_FOURIER](i,j,k);
1297 double Tit_k = RWE*
Reel_TF[TRIADIQUE_INTERPLANE_K_FOURIER](i,j,k)
1298 + IWE*
Imag_TF[TRIADIQUE_INTERPLANE_K_FOURIER](i,j,k);
1299 resultat_[RES_TRIADIQUE_INTERPLANE](i,j,k) = Tit_i + Tit_j + Tit_k;
1301 double Tdef_i = RUE*
Reel_TF[DEFORMATION_TURBULENTE_I_FOURIER](i,j,k)
1302 + IUE*
Imag_TF[DEFORMATION_TURBULENTE_I_FOURIER](i,j,k);
1303 double Tdef_j = RVE*
Reel_TF[DEFORMATION_TURBULENTE_J_FOURIER](i,j,k)
1304 + IVE*
Imag_TF[DEFORMATION_TURBULENTE_J_FOURIER](i,j,k);
1305 double Tdef_k = RWE*
Reel_TF[DEFORMATION_TURBULENTE_K_FOURIER](i,j,k)
1306 + IWE*
Imag_TF[DEFORMATION_TURBULENTE_K_FOURIER](i,j,k);
1307 resultat_[RES_DEFORMATION_TURBULENTE](i,j,k) = Tdef_i + Tdef_j + Tdef_k;
1309 double Pdiv =
Reel_TF[DIVU_FOURIER](i,j,k)*
Reel_TF[PSURRHO_FOURIER](i,j,k)
1311 resultat_[RES_CORRELATION_PRESSION_DIVERGENCE](i,j,k) = Pdiv;
1319 double wp = RWE*
Reel_TF[P_FOURIER](i,j,k) + IWE*
Imag_TF[P_FOURIER](i,j,k);
1322 double Pflu = RWE*
Reel_TF[DIFFUSION_PRESSION_RHOFLUC_ADERIVE_FOURIER](i,j,k)
1323 + IWE*
Imag_TF[DIFFUSION_PRESSION_RHOFLUC_ADERIVE_FOURIER](i,j,k);
1324 resultat_[RES_DIFFUSION_PRESSION_RHOFLUC_ADERIVE](i,j,k) = Pflu;
1326 double Pdrho_i = RUE*
Reel_TF[DIFFUSION_PRESSION_DERIVRHO_I_FOURIER](i,j,k)
1327 + IUE*
Imag_TF[DIFFUSION_PRESSION_DERIVRHO_I_FOURIER](i,j,k);
1328 double Pdrho_j = RVE*
Reel_TF[DIFFUSION_PRESSION_DERIVRHO_J_FOURIER](i,j,k)
1329 + IVE*
Imag_TF[DIFFUSION_PRESSION_DERIVRHO_J_FOURIER](i,j,k);
1330 double Pdrho_k = RWE*
Reel_TF[DIFFUSION_PRESSION_DERIVRHO_K_FOURIER](i,j,k)
1331 + IWE*
Imag_TF[DIFFUSION_PRESSION_DERIVRHO_K_FOURIER](i,j,k);
1332 resultat_[RES_DIFFUSION_PRESSION_DERIVRHO](i,j,k) = Pdrho_i + Pdrho_j + Pdrho_k;
1334 double Dincun_ii =
Reel_TF[DUIDXJ_II_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_II_NONCENTRE_FOURIER](i,j,k)
1335 +
Imag_TF[DUIDXJ_II_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_II_NONCENTRE_FOURIER](i,j,k);
1336 double Dincun_ij =
Reel_TF[DUIDXJ_IJ_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_IJ_NONCENTRE_FOURIER](i,j,k)
1337 +
Imag_TF[DUIDXJ_IJ_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_IJ_NONCENTRE_FOURIER](i,j,k);
1338 double Dincun_ik =
Reel_TF[DUIDXJ_IK_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_IK_NONCENTRE_FOURIER](i,j,k)
1339 +
Imag_TF[DUIDXJ_IK_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_IK_NONCENTRE_FOURIER](i,j,k);
1340 double Dincun_ji =
Reel_TF[DUIDXJ_JI_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_JI_NONCENTRE_FOURIER](i,j,k)
1341 +
Imag_TF[DUIDXJ_JI_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_JI_NONCENTRE_FOURIER](i,j,k);
1342 double Dincun_jj =
Reel_TF[DUIDXJ_JJ_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_JJ_NONCENTRE_FOURIER](i,j,k)
1343 +
Imag_TF[DUIDXJ_JJ_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_JJ_NONCENTRE_FOURIER](i,j,k);
1344 double Dincun_jk =
Reel_TF[DUIDXJ_JK_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_JK_NONCENTRE_FOURIER](i,j,k)
1345 +
Imag_TF[DUIDXJ_JK_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_JK_NONCENTRE_FOURIER](i,j,k);
1346 double Dincun_ki =
Reel_TF[DUIDXJ_KI_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_KI_NONCENTRE_FOURIER](i,j,k)
1347 +
Imag_TF[DUIDXJ_KI_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_KI_NONCENTRE_FOURIER](i,j,k);
1348 double Dincun_kj =
Reel_TF[DUIDXJ_KJ_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_KJ_NONCENTRE_FOURIER](i,j,k)
1349 +
Imag_TF[DUIDXJ_KJ_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_KJ_NONCENTRE_FOURIER](i,j,k);
1350 double Dincun_kk =
Reel_TF[DUIDXJ_KK_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_KK_NONCENTRE_FOURIER](i,j,k)
1351 +
Imag_TF[DUIDXJ_KK_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_KK_NONCENTRE_FOURIER](i,j,k);
1352 resultat_[RES_DISSIPATION_INCOMPRESSIBLE_UN_AFOISNU_INPLANE](i,j,k) = Dincun_ii + Dincun_ij + Dincun_ji + Dincun_jj + Dincun_ki + Dincun_kj;
1353 resultat_[RES_DISSIPATION_INCOMPRESSIBLE_UN_AFOISNU_INTERPLANE](i,j,k) = Dincun_ik + Dincun_jk + Dincun_kk;
1369 double Dincdeux_ii =
Reel_TF[DUIDXJ_II_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_II_FOURIER](i,j,k)
1370 +
Imag_TF[DUIDXJ_II_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_II_FOURIER](i,j,k);
1371 double Dincdeux_ij =
Reel_TF[DUIDXJ_IJ_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_JI_FOURIER](i,j,k)
1372 +
Imag_TF[DUIDXJ_IJ_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_JI_FOURIER](i,j,k);
1373 double Dincdeux_ik =
Reel_TF[DUIDXJ_IK_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_KI_FOURIER](i,j,k)
1374 +
Imag_TF[DUIDXJ_IK_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_KI_FOURIER](i,j,k);
1375 double Dincdeux_jj =
Reel_TF[DUIDXJ_JJ_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_JJ_FOURIER](i,j,k)
1376 +
Imag_TF[DUIDXJ_JJ_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_JJ_FOURIER](i,j,k);
1377 double Dincdeux_jk =
Reel_TF[DUIDXJ_JK_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_KJ_FOURIER](i,j,k)
1378 +
Imag_TF[DUIDXJ_JK_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_KJ_FOURIER](i,j,k);
1379 double Dincdeux_kk =
Reel_TF[DUIDXJ_KK_FOURIER](i,j,k)*
Reel_TF[DUIDXJ_KK_FOURIER](i,j,k)
1380 +
Imag_TF[DUIDXJ_KK_FOURIER](i,j,k)*
Imag_TF[DUIDXJ_KK_FOURIER](i,j,k);
1381 resultat_[RES_DISSIPATION_INCOMPRESSIBLE_DEUX_AFOISNU](i,j,k) = Dincdeux_ii + 2*Dincdeux_ij + 2*Dincdeux_ik + Dincdeux_jj + 2*Dincdeux_jk + Dincdeux_kk;
1395 double Dcom_un_ii =
Reel_TF[DUIDXJ_II_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_UN_II_FOURIER](i,j,k)
1396 +
Imag_TF[DUIDXJ_II_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_UN_II_FOURIER](i,j,k);
1397 double Dcom_un_ij =
Reel_TF[DUIDXJ_IJ_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_UN_IJ_FOURIER](i,j,k)
1398 +
Imag_TF[DUIDXJ_IJ_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_UN_IJ_FOURIER](i,j,k);
1399 double Dcom_un_ik =
Reel_TF[DUIDXJ_IK_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_UN_IK_FOURIER](i,j,k)
1400 +
Imag_TF[DUIDXJ_IK_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_UN_IK_FOURIER](i,j,k);
1401 double Dcom_un_ji =
Reel_TF[DUIDXJ_JI_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_UN_JI_FOURIER](i,j,k)
1402 +
Imag_TF[DUIDXJ_JI_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_UN_JI_FOURIER](i,j,k);
1403 double Dcom_un_jj =
Reel_TF[DUIDXJ_JJ_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_UN_JJ_FOURIER](i,j,k)
1404 +
Imag_TF[DUIDXJ_JJ_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_UN_JJ_FOURIER](i,j,k);
1405 double Dcom_un_jk =
Reel_TF[DUIDXJ_JK_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_UN_JK_FOURIER](i,j,k)
1406 +
Imag_TF[DUIDXJ_JK_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_UN_JK_FOURIER](i,j,k);
1407 double Dcom_un_ki =
Reel_TF[DUIDXJ_KI_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_UN_KI_FOURIER](i,j,k)
1408 +
Imag_TF[DUIDXJ_KI_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_UN_KI_FOURIER](i,j,k);
1409 double Dcom_un_kj =
Reel_TF[DUIDXJ_KJ_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_UN_KJ_FOURIER](i,j,k)
1410 +
Imag_TF[DUIDXJ_KJ_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_UN_KJ_FOURIER](i,j,k);
1411 double Dcom_un_kk =
Reel_TF[DUIDXJ_KK_NONCENTRE_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_UN_KK_FOURIER](i,j,k)
1412 +
Imag_TF[DUIDXJ_KK_NONCENTRE_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_UN_KK_FOURIER](i,j,k);
1413 resultat_[RES_DISSIPATION_COMPRESSIBLE_UN](i,j,k) = Dcom_un_ii + Dcom_un_ij + Dcom_un_ik + Dcom_un_ji + Dcom_un_jj + Dcom_un_jk + Dcom_un_ki + Dcom_un_kj + Dcom_un_kk;
1437 double Dcom_deux_ii =
Reel_TF[DUIDXJ_II_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_DEUX_II_FOURIER](i,j,k)
1438 +
Imag_TF[DUIDXJ_II_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_DEUX_II_FOURIER](i,j,k);
1439 double Dcom_deux_ij =
Reel_TF[DUIDXJ_IJ_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_DEUX_IJ_FOURIER](i,j,k)
1440 +
Imag_TF[DUIDXJ_IJ_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_DEUX_IJ_FOURIER](i,j,k);
1441 double Dcom_deux_ik =
Reel_TF[DUIDXJ_IK_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_DEUX_IK_FOURIER](i,j,k)
1442 +
Imag_TF[DUIDXJ_IK_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_DEUX_IK_FOURIER](i,j,k);
1443 double Dcom_deux_ji =
Reel_TF[DUIDXJ_JI_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_DEUX_JI_FOURIER](i,j,k)
1444 +
Imag_TF[DUIDXJ_JI_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_DEUX_JI_FOURIER](i,j,k);
1445 double Dcom_deux_jj =
Reel_TF[DUIDXJ_JJ_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_DEUX_JJ_FOURIER](i,j,k)
1446 +
Imag_TF[DUIDXJ_JJ_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_DEUX_JJ_FOURIER](i,j,k);
1447 double Dcom_deux_jk =
Reel_TF[DUIDXJ_JK_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_DEUX_JK_FOURIER](i,j,k)
1448 +
Imag_TF[DUIDXJ_JK_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_DEUX_JK_FOURIER](i,j,k);
1449 double Dcom_deux_ki =
Reel_TF[DUIDXJ_KI_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_DEUX_KI_FOURIER](i,j,k)
1450 +
Imag_TF[DUIDXJ_KI_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_DEUX_KI_FOURIER](i,j,k);
1451 double Dcom_deux_kj =
Reel_TF[DUIDXJ_KJ_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_DEUX_KJ_FOURIER](i,j,k)
1452 +
Imag_TF[DUIDXJ_KJ_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_DEUX_KJ_FOURIER](i,j,k);
1453 double Dcom_deux_kk =
Reel_TF[DUIDXJ_KK_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_DEUX_KK_FOURIER](i,j,k)
1454 +
Imag_TF[DUIDXJ_KK_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_DEUX_KK_FOURIER](i,j,k);
1455 resultat_[RES_DISSIPATION_COMPRESSIBLE_DEUX](i,j,k) = Dcom_deux_ii + Dcom_deux_ij + Dcom_deux_ik + Dcom_deux_ji + Dcom_deux_jj + Dcom_deux_jk + Dcom_deux_ki + Dcom_deux_kj + Dcom_deux_kk;
1479 double Dcom_trois =
Reel_TF[DIVU_FOURIER](i,j,k)*
Reel_TF[DISSIPATION_COMPRESSIBLE_TROIS_I_FOURIER](i,j,k)
1480 +
Imag_TF[DIVU_FOURIER](i,j,k)*
Imag_TF[DISSIPATION_COMPRESSIBLE_TROIS_I_FOURIER](i,j,k);
1481 resultat_[RES_DISSIPATION_COMPRESSIBLE_TROIS](i,j,k) = Dcom_trois;
1489 double Vincdeux_i = RUE*
Reel_TF[DUIDXJ_KI_FOURIER](i,j,k)
1490 + IUE*
Imag_TF[DUIDXJ_KI_FOURIER](i,j,k);
1491 double Vincdeux_j = RVE*
Reel_TF[DUIDXJ_KJ_FOURIER](i,j,k)
1492 + IVE*
Imag_TF[DUIDXJ_KJ_FOURIER](i,j,k);
1493 double Vincdeux_k = RWE*
Reel_TF[DUIDXJ_KK_FOURIER](i,j,k)
1494 + IWE*
Imag_TF[DUIDXJ_KK_FOURIER](i,j,k);
1495 resultat_[RES_DIFFUSION_VISQUEUSE_INCOMPRESSIBLE_DEUX](i,j,k) = Vincdeux_i + Vincdeux_j + Vincdeux_k;
1497 double Vflu_un_i = RUE*
Reel_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_UN_I_FOURIER](i,j,k)
1498 + IUE*
Imag_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_UN_I_FOURIER](i,j,k);
1499 double Vflu_un_j = RVE*
Reel_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_UN_J_FOURIER](i,j,k)
1500 + IVE*
Imag_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_UN_J_FOURIER](i,j,k);
1501 double Vflu_un_k = RWE*
Reel_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_UN_K_FOURIER](i,j,k)
1502 + IWE*
Imag_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_UN_K_FOURIER](i,j,k);
1503 resultat_[RES_DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_UN](i,j,k) = Vflu_un_i + Vflu_un_j + Vflu_un_k;
1505 double Vflu_deux_i = RUE*
Reel_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_DEUX_I_FOURIER](i,j,k)
1506 + IUE*
Imag_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_DEUX_I_FOURIER](i,j,k);
1507 double Vflu_deux_j = RVE*
Reel_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_DEUX_J_FOURIER](i,j,k)
1508 + IVE*
Imag_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_DEUX_J_FOURIER](i,j,k);
1509 double Vflu_deux_k = RWE*
Reel_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_DEUX_K_FOURIER](i,j,k)
1510 + IWE*
Imag_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_DEUX_K_FOURIER](i,j,k);
1511 resultat_[RES_DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_DEUX](i,j,k) = Vflu_deux_i + Vflu_deux_j + Vflu_deux_k;
1513 double Vflu_trois = RWE*
Reel_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_TROIS_FOURIER](i,j,k)
1514 + IWE*
Imag_TF[DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_TROIS_FOURIER](i,j,k);
1515 resultat_[RES_DIFFUSION_VISQUEUSE_NUFLUC_ADERIVE_TROIS](i,j,k) = Vflu_trois;
1517 double Vdrho_un_i = RUE*
Reel_TF[DIFFUSION_VISQUEUSE_DERIVRHO_UN_I_FOURIER](i,j,k)
1518 + IUE*
Imag_TF[DIFFUSION_VISQUEUSE_DERIVRHO_UN_I_FOURIER](i,j,k);
1519 double Vdrho_un_j = RVE*
Reel_TF[DIFFUSION_VISQUEUSE_DERIVRHO_UN_J_FOURIER](i,j,k)
1520 + IVE*
Imag_TF[DIFFUSION_VISQUEUSE_DERIVRHO_UN_J_FOURIER](i,j,k);
1521 double Vdrho_un_k = RWE*
Reel_TF[DIFFUSION_VISQUEUSE_DERIVRHO_UN_K_FOURIER](i,j,k)
1522 + IWE*
Imag_TF[DIFFUSION_VISQUEUSE_DERIVRHO_UN_K_FOURIER](i,j,k);
1523 resultat_[RES_DIFFUSION_VISQUEUSE_DERIVRHO_UN](i,j,k) = Vdrho_un_i + Vdrho_un_j + Vdrho_un_k;
1525 double Vdrho_deux_i = RUE*
Reel_TF[DIFFUSION_VISQUEUSE_DERIVRHO_DEUX_I_FOURIER](i,j,k)
1526 + IUE*
Imag_TF[DIFFUSION_VISQUEUSE_DERIVRHO_DEUX_I_FOURIER](i,j,k);
1527 double Vdrho_deux_j = RVE*
Reel_TF[DIFFUSION_VISQUEUSE_DERIVRHO_DEUX_J_FOURIER](i,j,k)
1528 + IVE*
Imag_TF[DIFFUSION_VISQUEUSE_DERIVRHO_DEUX_J_FOURIER](i,j,k);
1529 double Vdrho_deux_k = RWE*
Reel_TF[DIFFUSION_VISQUEUSE_DERIVRHO_DEUX_K_FOURIER](i,j,k)
1530 + IWE*
Imag_TF[DIFFUSION_VISQUEUSE_DERIVRHO_DEUX_K_FOURIER](i,j,k);
1531 resultat_[RES_DIFFUSION_VISQUEUSE_DERIVRHO_DEUX](i,j,k) = Vdrho_deux_i + Vdrho_deux_j + Vdrho_deux_k;
1533 double Vdrho_trois_i = RUE*
Reel_TF[DIFFUSION_VISQUEUSE_DERIVRHO_TROIS_I_FOURIER](i,j,k)
1534 + IUE*
Imag_TF[DIFFUSION_VISQUEUSE_DERIVRHO_TROIS_I_FOURIER](i,j,k);
1535 double Vdrho_trois_j = RVE*
Reel_TF[DIFFUSION_VISQUEUSE_DERIVRHO_TROIS_J_FOURIER](i,j,k)
1536 + IVE*
Imag_TF[DIFFUSION_VISQUEUSE_DERIVRHO_TROIS_J_FOURIER](i,j,k);
1537 double Vdrho_trois_k = RWE*
Reel_TF[DIFFUSION_VISQUEUSE_DERIVRHO_TROIS_K_FOURIER](i,j,k)
1538 + IWE*
Imag_TF[DIFFUSION_VISQUEUSE_DERIVRHO_TROIS_K_FOURIER](i,j,k);
1539 resultat_[RES_DIFFUSION_VISQUEUSE_DERIVRHO_TROIS](i,j,k) = Vdrho_trois_i + Vdrho_trois_j + Vdrho_trois_k;
1541 double TNC_i = RUE*
Reel_TF[TERME_NON_CLASSE_I_FOURIER](i,j,k)
1542 + IUE*
Imag_TF[TERME_NON_CLASSE_I_FOURIER](i,j,k);
1543 double TNC_j = RVE*
Reel_TF[TERME_NON_CLASSE_J_FOURIER](i,j,k)
1544 + IVE*
Imag_TF[TERME_NON_CLASSE_J_FOURIER](i,j,k);
1545 double TNC_k = RWE*
Reel_TF[TERME_NON_CLASSE_K_FOURIER](i,j,k)
1546 + IWE*
Imag_TF[TERME_NON_CLASSE_K_FOURIER](i,j,k);
1547 resultat_[RES_TERME_NON_CLASSE](i,j,k) = TNC_i + TNC_j + TNC_k;
1549 double CT_i = RUE*
Reel_TF[UIUJ_IK_FOURIER](i,j,k)
1550 + IUE*
Imag_TF[UIUJ_IK_FOURIER](i,j,k);
1551 double CT_j = RVE*
Reel_TF[UIUJ_JK_FOURIER](i,j,k)
1552 + IVE*
Imag_TF[UIUJ_JK_FOURIER](i,j,k);
1553 double CT_k = RWE*
Reel_TF[UIUJ_KK_FOURIER](i,j,k)
1554 + IWE*
Imag_TF[UIUJ_KK_FOURIER](i,j,k);
1555 resultat_[RES_CONVECTIONTURBULENTE](i,j,k) = - 0.5 * (CT_i + CT_j + CT_k);
1557 double TPS_un_ii =
Reel_TF[DUIDXJ_II_FOURIER](i,j,k)*
Reel_TF[UIUJ_II_FOURIER](i,j,k)
1558 +
Imag_TF[DUIDXJ_II_FOURIER](i,j,k)*
Imag_TF[UIUJ_II_FOURIER](i,j,k);
1559 double TPS_un_ij =
Reel_TF[DUIDXJ_IJ_FOURIER](i,j,k)*
Reel_TF[UIUJ_IJ_FOURIER](i,j,k)
1560 +
Imag_TF[DUIDXJ_IJ_FOURIER](i,j,k)*
Imag_TF[UIUJ_IJ_FOURIER](i,j,k);
1561 double TPS_un_ik =
Reel_TF[DUIDXJ_IK_FOURIER](i,j,k)*
Reel_TF[UIUJ_IK_FOURIER](i,j,k)
1562 +
Imag_TF[DUIDXJ_IK_FOURIER](i,j,k)*
Imag_TF[UIUJ_IK_FOURIER](i,j,k);
1563 double TPS_un_ji =
Reel_TF[DUIDXJ_JI_FOURIER](i,j,k)*
Reel_TF[UIUJ_IJ_FOURIER](i,j,k)
1564 +
Imag_TF[DUIDXJ_JI_FOURIER](i,j,k)*
Imag_TF[UIUJ_IJ_FOURIER](i,j,k);
1565 double TPS_un_jj =
Reel_TF[DUIDXJ_JJ_FOURIER](i,j,k)*
Reel_TF[UIUJ_JJ_FOURIER](i,j,k)
1566 +
Imag_TF[DUIDXJ_JJ_FOURIER](i,j,k)*
Imag_TF[UIUJ_JJ_FOURIER](i,j,k);
1567 double TPS_un_jk =
Reel_TF[DUIDXJ_JK_FOURIER](i,j,k)*
Reel_TF[UIUJ_JK_FOURIER](i,j,k)
1568 +
Imag_TF[DUIDXJ_JK_FOURIER](i,j,k)*
Imag_TF[UIUJ_JK_FOURIER](i,j,k);
1569 double TPS_un_ki =
Reel_TF[DUIDXJ_KI_FOURIER](i,j,k)*
Reel_TF[UIUJ_IK_FOURIER](i,j,k)
1570 +
Imag_TF[DUIDXJ_KI_FOURIER](i,j,k)*
Imag_TF[UIUJ_IK_FOURIER](i,j,k);
1571 double TPS_un_kj =
Reel_TF[DUIDXJ_KJ_FOURIER](i,j,k)*
Reel_TF[UIUJ_JK_FOURIER](i,j,k)
1572 +
Imag_TF[DUIDXJ_KJ_FOURIER](i,j,k)*
Imag_TF[UIUJ_JK_FOURIER](i,j,k);
1573 double TPS_un_kk =
Reel_TF[DUIDXJ_KK_FOURIER](i,j,k)*
Reel_TF[UIUJ_KK_FOURIER](i,j,k)
1574 +
Imag_TF[DUIDXJ_KK_FOURIER](i,j,k)*
Imag_TF[UIUJ_KK_FOURIER](i,j,k);
1575 double TPS_deux_i = RUE*
Reel_TF[UJDUIDXJ_I_FOURIER](i,j,k)
1576 + IUE*
Imag_TF[UJDUIDXJ_I_FOURIER](i,j,k);
1577 double TPS_deux_j = RVE*
Reel_TF[UJDUIDXJ_J_FOURIER](i,j,k)
1578 + IVE*
Imag_TF[UJDUIDXJ_J_FOURIER](i,j,k);
1579 double TPS_deux_k = RWE*
Reel_TF[UJDUIDXJ_K_FOURIER](i,j,k)
1580 + IWE*
Imag_TF[UJDUIDXJ_K_FOURIER](i,j,k);
1581 double TPS_un = 0.5 * (TPS_un_ii + TPS_un_ij + TPS_un_ik + TPS_un_ji + TPS_un_jj + TPS_un_jk + TPS_un_ki + TPS_un_kj + TPS_un_kk);
1582 double TPS_deux = - 0.5 * (TPS_deux_i + TPS_deux_j + TPS_deux_k);
1583 resultat_[RES_TERMEPUREMENTSPECTRAL](i,j,k) = TPS_un + TPS_deux;
1587 const int N = N_RES;
1588 const double normalisation = (2./ (imax*jmax))*(2./ (imax*jmax));
1589 for (
int val = 0 ; val < N ; val ++ )
1590 for (
int k = 0; k < kmax; k++)
1591 for (
int j = 0; j < jmax; j++)
1592 for (
int i = 0; i < imax; i++)
1593 resultat_[val](i,j,k) *= normalisation ;
1601 Cerr <<
" Attention mode debug dans le post-traitement spectral dump de " << N_RES+Nval*2+1 <<
" lata par dt " << finl;
1603 Nom lata_name(
"DEBUG_spectre.lata");
1604 dumplata_header(lata_name,
resultat_[0] );
1607 for (
int val = 0 ; val < N ; val ++ )
1610 dumplata_scalar(lata_name,
Nom(val),
resultat_[val], 0);
1612 for (
int val = 0 ; val < Nval ; val ++)
1614 Nom NOMREEL =
"PARTIE_REELLE_";
1616 Nom NOMIMAG =
"PARTIE_IMAGINAIRE_";
1620 dumplata_scalar(lata_name,NOMREEL,
Reel_TF[val], 0);
1621 dumplata_scalar(lata_name,NOMIMAG,
Imag_TF[val], 0);
1634 for (
int val = 0 ; val < N ; val ++ )
1635 for (
int k = 0; k < kmax; k++)
1637 for (
int i = 0; i < imax/2; i++)
1640 const int Indice = i + imax/2*(k) ;
1642 TFx_[val][Indice]+= x;
1644 for (
int j = 0; j < jmax/2; j++)
1647 const int Indice = j + jmax/2*(k);
1649 TFy_[val][Indice]+= y;
1657 const int taille =
tri_ki.size_array();
1658 for (
int val = 0 ; val < N ; val ++ )
1659 for (
int k = 0 ; k < kmax ; k++)
1661 const int decalage = taille*(k);
1662 for (
int j = 0 ; j < jmax ; j++)
1663 for (
int i = 0 ; i < imax ; i++)
1665 const int Indice =
ref_ki(i,j) + decalage;
1667 TFi_[val][Indice]+= x/2.;