70 const Domaine& mon_dom = le_dom_coloc_->domaine();
72 const int impr_sum = (mon_dom.bords_a_imprimer_sum().est_vide() ? 0 : 1);
73 const int impr_bord = (mon_dom.bords_a_imprimer().est_vide() ? 0 : 1);
74 const Schema_Temps_base& sch = le_dcl_coloc_->equation().probleme().schema_temps();
76 int nb_comp = tab_flux_bords.
nb_dim() > 1 ? tab_flux_bords.
dimension(1) : 0;
77 DoubleVect bilan(nb_comp);
80 xgr = le_dom_coloc_->calculer_xgr();
84 int nb_front_Cl = le_dom_coloc_->nb_front_Cl();
85 DoubleTrav flux_bords2(5, nb_front_Cl, nb_comp);
87 for (
int num_cl = 0; num_cl < nb_front_Cl; num_cl++)
89 const Cond_lim& la_cl = le_dcl_coloc_->les_conditions_limites(num_cl);
92 int nfin = ndeb + frontiere_dis.
nb_faces();
93 for (face = ndeb; face < nfin; face++)
95 for (k = 0; k < nb_comp; k++)
97 flux_bords2(0, num_cl, k) += tab_flux_bords(face, k);
98 if (mon_dom.bords_a_imprimer_sum().contient(frontiere_dis.
le_nom()))
99 flux_bords2(3, num_cl, k) += tab_flux_bords(face, k);
105 flux_bords2(4, num_cl, 0) += tab_flux_bords(face, 1) * xgr(face, 0) - tab_flux_bords(face, 0) * xgr(face, 1);
109 flux_bords2(4, num_cl, 0) += tab_flux_bords(face, 2) * xgr(face, 1) - tab_flux_bords(face, 1) * xgr(face, 2);
110 flux_bords2(4, num_cl, 1) += tab_flux_bords(face, 0) * xgr(face, 2) - tab_flux_bords(face, 2) * xgr(face, 0);
111 flux_bords2(4, num_cl, 2) += tab_flux_bords(face, 1) * xgr(face, 0) - tab_flux_bords(face, 0) * xgr(face, 1);
128 for (
int num_cl = 0; num_cl < nb_front_Cl; num_cl++)
130 for (k = 0; k < nb_comp; k++)
132 Flux.add_col(flux_bords2(0, num_cl, k));
134 Flux_sum.add_col(flux_bords2(3, num_cl, k));
135 bilan(k) += flux_bords2(0, num_cl, k);
139 for (k = 0; k < nb_comp; k++)
149 for (k = 0; k < nb_comp; k++)
150 Flux.add_col(bilan(k));
158 const LIST(
Nom) &Liste_bords_a_imprimer = le_dom_coloc_->domaine().bords_a_imprimer();
159 if (!Liste_bords_a_imprimer.est_vide())
163 for (
int num_cl = 0; num_cl < nb_front_Cl; num_cl++)
165 const Frontiere_dis_base& la_fr = le_dcl_coloc_->les_conditions_limites(num_cl)->frontiere_dis();
166 const Cond_lim& la_cl = le_dcl_coloc_->les_conditions_limites(num_cl);
169 int nfin = ndeb + frontiere_dis.
nb_faces();
170 if (mon_dom.bords_a_imprimer().contient(la_fr.
le_nom()))
174 Flux_face <<
"# Flux par face sur " << la_fr.
le_nom() <<
" au temps ";
176 Flux_face <<
" : " << finl;
178 for (face = ndeb; face < nfin; face++)
181 Flux_face <<
"# Face a x= " << le_dom_coloc_->xv(face, 0) <<
" y= " << le_dom_coloc_->xv(face, 1) <<
" : ";
183 Flux_face <<
"# Face a x= " << le_dom_coloc_->xv(face, 0) <<
" y= " << le_dom_coloc_->xv(face, 1) <<
" z= " << le_dom_coloc_->xv(face, 2) <<
" : ";
184 for (k = 0; k < nb_comp; k++)
185 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.