48 const Domaine& mon_dom = le_dom_poly_->domaine();
50 const int impr_sum = (mon_dom.bords_a_imprimer_sum().est_vide() ? 0 : 1);
51 const int impr_bord = (mon_dom.bords_a_imprimer().est_vide() ? 0 : 1);
52 const Schema_Temps_base& sch = la_zcl_poly_->equation().probleme().schema_temps();
54 int nb_comp = tab_flux_bords.
nb_dim() > 1 ? tab_flux_bords.
dimension(1) : 0;
55 DoubleVect bilan(nb_comp);
58 xgr = le_dom_poly_->calculer_xgr();
62 int nb_front_Cl = le_dom_poly_->nb_front_Cl();
63 DoubleTrav flux_bords2(5, nb_front_Cl, nb_comp);
65 for (
int num_cl = 0; num_cl < nb_front_Cl; num_cl++)
67 const Cond_lim& la_cl = la_zcl_poly_->les_conditions_limites(num_cl);
70 int nfin = ndeb + frontiere_dis.
nb_faces();
71 for (face = ndeb; face < nfin; face++)
73 for (k = 0; k < nb_comp; k++)
75 flux_bords2(0, num_cl, k) += tab_flux_bords(face, k);
76 if (mon_dom.bords_a_imprimer_sum().contient(frontiere_dis.
le_nom()))
77 flux_bords2(3, num_cl, k) += tab_flux_bords(face, k);
83 flux_bords2(4, num_cl, 0) += tab_flux_bords(face, 1) * xgr(face, 0) - tab_flux_bords(face, 0) * xgr(face, 1);
87 flux_bords2(4, num_cl, 0) += tab_flux_bords(face, 2) * xgr(face, 1) - tab_flux_bords(face, 1) * xgr(face, 2);
88 flux_bords2(4, num_cl, 1) += tab_flux_bords(face, 0) * xgr(face, 2) - tab_flux_bords(face, 2) * xgr(face, 0);
89 flux_bords2(4, num_cl, 2) += tab_flux_bords(face, 1) * xgr(face, 0) - tab_flux_bords(face, 0) * xgr(face, 1);
106 for (
int num_cl = 0; num_cl < nb_front_Cl; num_cl++)
108 for (k = 0; k < nb_comp; k++)
110 Flux.add_col(flux_bords2(0, num_cl, k));
112 Flux_sum.add_col(flux_bords2(3, num_cl, k));
113 bilan(k) += flux_bords2(0, num_cl, k);
117 for (k = 0; k < nb_comp; k++)
127 for (k = 0; k < nb_comp; k++)
128 Flux.add_col(bilan(k));
135 const LIST(
Nom) &Liste_bords_a_imprimer = le_dom_poly_->domaine().bords_a_imprimer();
136 if (!Liste_bords_a_imprimer.est_vide())
140 for (
int num_cl = 0; num_cl < nb_front_Cl; num_cl++)
142 const Frontiere_dis_base& la_fr = la_zcl_poly_->les_conditions_limites(num_cl)->frontiere_dis();
143 const Cond_lim& la_cl = la_zcl_poly_->les_conditions_limites(num_cl);
146 int nfin = ndeb + frontiere_dis.
nb_faces();
147 if (mon_dom.bords_a_imprimer().contient(la_fr.
le_nom()))
151 Flux_face <<
"# Flux par face sur " << la_fr.
le_nom() <<
" au temps ";
153 Flux_face <<
" : " << finl;
155 for (face = ndeb; face < nfin; face++)
158 Flux_face <<
"# Face a x= " << le_dom_poly_->xv(face, 0) <<
" y= " << le_dom_poly_->xv(face, 1) <<
" : ";
160 Flux_face <<
"# Face a x= " << le_dom_poly_->xv(face, 0) <<
" y= " << le_dom_poly_->xv(face, 1) <<
" z= " << le_dom_poly_->xv(face, 2) <<
" : ";
161 for (k = 0; k < nb_comp; k++)
162 Flux_face << tab_flux_bords(face, k) <<
" ";
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.