45 const Domaine& mon_dom = le_dom_poly_->domaine();
47 const int impr_sum = (mon_dom.bords_a_imprimer_sum().est_vide() ? 0 : 1);
48 const int impr_bord = (mon_dom.bords_a_imprimer().est_vide() ? 0 : 1);
49 const Schema_Temps_base& sch = la_zcl_poly_->equation().probleme().schema_temps();
51 int nb_comp = tab_flux_bords.
nb_dim() > 1 ? tab_flux_bords.
dimension(1) : 0;
52 DoubleVect bilan(nb_comp);
55 xgr = le_dom_poly_->calculer_xgr();
57 int nb_front_Cl = le_dom_poly_->nb_front_Cl();
58 DoubleTrav flux_bords2(5, nb_front_Cl, nb_comp);
60 for (
int num_cl = 0; num_cl < nb_front_Cl; num_cl++)
62 const Cond_lim& la_cl = la_zcl_poly_->les_conditions_limites(num_cl);
65 int nfin = ndeb + frontiere_dis.
nb_faces();
66 for (face = ndeb; face < nfin; face++)
68 for (k = 0; k < nb_comp; k++)
70 flux_bords2(0, num_cl, k) += tab_flux_bords(face, k);
71 if (mon_dom.bords_a_imprimer_sum().contient(frontiere_dis.
le_nom()))
72 flux_bords2(3, num_cl, k) += tab_flux_bords(face, k);
78 flux_bords2(4, num_cl, 0) += tab_flux_bords(face, 1) * xgr(face, 0) - tab_flux_bords(face, 0) * xgr(face, 1);
82 flux_bords2(4, num_cl, 0) += tab_flux_bords(face, 2) * xgr(face, 1) - tab_flux_bords(face, 1) * xgr(face, 2);
83 flux_bords2(4, num_cl, 1) += tab_flux_bords(face, 0) * xgr(face, 2) - tab_flux_bords(face, 2) * xgr(face, 0);
84 flux_bords2(4, num_cl, 2) += tab_flux_bords(face, 1) * xgr(face, 0) - tab_flux_bords(face, 0) * xgr(face, 1);
101 for (
int num_cl = 0; num_cl < nb_front_Cl; num_cl++)
103 for (k = 0; k < nb_comp; k++)
105 Flux.add_col(flux_bords2(0, num_cl, k));
107 Flux_sum.add_col(flux_bords2(3, num_cl, k));
108 bilan(k) += flux_bords2(0, num_cl, k);
112 for (k = 0; k < nb_comp; k++)
122 for (k = 0; k < nb_comp; k++)
123 Flux.add_col(bilan(k));
130 const LIST(
Nom) &Liste_bords_a_imprimer = le_dom_poly_->domaine().bords_a_imprimer();
131 if (!Liste_bords_a_imprimer.est_vide() && nb_comp > 0)
135 for (
int num_cl = 0; num_cl < nb_front_Cl; num_cl++)
137 const Frontiere_dis_base& la_fr = la_zcl_poly_->les_conditions_limites(num_cl)->frontiere_dis();
138 const Cond_lim& la_cl = la_zcl_poly_->les_conditions_limites(num_cl);
141 int nfin = ndeb + frontiere_dis.
nb_faces();
142 if (mon_dom.bords_a_imprimer().contient(la_fr.
le_nom()))
146 Flux_face <<
"# Flux par face sur " << la_fr.
le_nom() <<
" au temps ";
148 Flux_face <<
" : " << finl;
150 for (face = ndeb; face < nfin; face++)
153 Flux_face <<
"# Face a x= " << le_dom_poly_->xv(face, 0) <<
" y= " << le_dom_poly_->xv(face, 1) <<
" : ";
155 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) <<
" : ";
156 for (k = 0; k < nb_comp; k++)
157 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.