TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Modele_EASM_Baglietto_VEF.cpp
1/****************************************************************************
2* Copyright (c) 2015 - 2016, CEA
3* All rights reserved.
4*
5* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9*
10* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
11* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
12* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13*
14*****************************************************************************/
15
16#include <Modele_EASM_Baglietto_VEF.h>
17#include <Domaine_VEF.h>
18#include <Domaine_Cl_VEF.h>
19#include <Periodique.h>
20#include <Champ_Uniforme.h>
21#include <Scatter.h>
22#include <Champ_P1NC.h>
23#include <Champ_P0_VEF.h>
24#include <Discretisation_base.h>
25#include <Check_espace_virtuel.h>
26#include <LecFicDiffuse.h>
27#include <EcritureLectureSpecial.h>
28
29Implemente_instanciable(Modele_EASM_Baglietto_VEF,"Modele_EASM_Baglietto_VEF",Modele_Lam_Bremhorst_VEF);
30// XD EASM_Baglietto Lam_Bremhorst EASM_Baglietto INHERITS_BRACE Model described in ' E. Baglietto and H. Ninokata , A
31// XD_CONT turbulence model study for simulating flow inside tight lattice rod bundles, Nuclear Engineering and Design,
32// XD_CONT 773--784 (235), 2005. '
33
34// printOn et readOn
35
37{
38 return s;
39}
40
42{
44}
45
46
47DoubleTab& Modele_EASM_Baglietto_VEF::Calcul_D(DoubleTab& D,const Domaine_dis_base& domaine_dis, const Domaine_Cl_dis_base& domaine_Cl_dis,
48 const DoubleTab& vitesse,const DoubleTab& K_eps_Bas_Re, const Champ_Don_base& ch_visco ) const
49{
50 D=0;
51 return D;
52}
53
54
55DoubleTab& Modele_EASM_Baglietto_VEF::Calcul_E(DoubleTab& E,const Domaine_dis_base& domaine_dis, const Domaine_Cl_dis_base& domaine_Cl_dis, const DoubleTab& transporte,const DoubleTab& K_eps_Bas_Re,const Champ_Don_base& ch_visco, const DoubleTab& visco_turb ) const
56{
57 E=0;
58 return E;
59}
60
61DoubleTab& Modele_EASM_Baglietto_VEF::Calcul_F1( DoubleTab& F1, const Domaine_dis_base& domaine_dis, const Domaine_Cl_dis_base& domaine_Cl_dis, const DoubleTab& P, const DoubleTab& K_eps_Bas_Re,const Champ_base& ch_visco) const
62{
63
64 double visco=-1;
65 const DoubleTab& tab_visco=ch_visco.valeurs();
66 int is_visco_const=sub_type(Champ_Uniforme,ch_visco);
67 if (is_visco_const)
68 visco=tab_visco(0,0);
69 const Domaine_VEF& le_dom = ref_cast(Domaine_VEF,domaine_dis);
70 const Domaine_Cl_VEF& domaine_Cl_VEF = ref_cast(Domaine_Cl_VEF,domaine_Cl_dis);
71 const DoubleTab& wall_length = BR_wall_length_->valeurs();
72 DoubleTab wall_length_face(0);
73 le_dom.creer_tableau_faces(wall_length_face);
74 DoubleTab Pderive(0);
75 le_dom.creer_tableau_faces(Pderive);
76 int nb_faces = le_dom.nb_faces();
77 const Conds_lim& les_cl = domaine_Cl_VEF.les_conditions_limites();
78 int nb_cl=les_cl.size();
79 const IntTab& face_voisins = le_dom.face_voisins();
80
81
82 // Calcul de la distance a la paroi aux faces
83 for (int n_bord=0; n_bord<nb_cl; n_bord++)
84 {
85 const Cond_lim& la_cl = domaine_Cl_VEF.les_conditions_limites(n_bord);
86 const Front_VF& le_bord = ref_cast(Front_VF,la_cl->frontiere_dis());
87 int ndeb = le_bord.num_premiere_face();
88 int nfin = ndeb + le_bord.nb_faces();
89
90 if (sub_type(Periodique,la_cl.valeur()))
91 {
92 for (int num_face=ndeb; num_face<nfin; num_face++)
93 {
94 int elem1 = face_voisins(num_face,0);
95 int elem2 = face_voisins(num_face,1);
96 wall_length_face(num_face) = 0.5*wall_length(elem1) + 0.5*wall_length(elem2);
97 }
98 }
99 else
100 {
101 for (int num_face=ndeb; num_face<nfin; num_face++)
102 {
103 int elem1 = face_voisins(num_face,0);
104 wall_length_face(num_face) = wall_length(elem1);
105 }
106 }
107 }
108 int n0 = le_dom.premiere_face_int();
109 for (int num_face=n0; num_face<nb_faces; num_face++)
110 {
111 int elem0 = le_dom.face_voisins(num_face,0);
112 int elem1 = le_dom.face_voisins(num_face,1);
113 wall_length_face(num_face) = 0.5*wall_length(elem0)+0.5*wall_length(elem1);
114 }
115
116 for (int num_face=0; num_face <nb_faces; num_face ++ )
117 {
118 double Re = (K_eps_Bas_Re(num_face,0)*K_eps_Bas_Re(num_face,0))/(visco*K_eps_Bas_Re(num_face,1)+DMINFLOAT);
119 double Rey = wall_length_face(num_face)*sqrt(K_eps_Bas_Re(num_face,0))/visco;
120 Pderive(num_face) = 1.33*(1. - 0.3*exp(-Re*Re))
121 * (P(num_face) + 2.*visco*K_eps_Bas_Re(num_face,0)/(wall_length_face(num_face)*wall_length_face(num_face)+DMINFLOAT))
122 * exp(-0.00375*Rey*Rey);
123 }
124
125 // Calcul de F1
126 for (int num_face=0; num_face <nb_faces; num_face ++ )
127 if (P(num_face) > 0)
128 F1[num_face] = 1.+ Pderive(num_face) / (P(num_face));
129 else
130 F1[num_face] = 1.;
131 return F1;
132}
133
134DoubleTab& Modele_EASM_Baglietto_VEF::Calcul_F2( DoubleTab& F2, DoubleTab& Deb, const Domaine_dis_base& domaine_dis,const DoubleTab& K_eps_Bas_Re,const Champ_base& ch_visco ) const
135{
136 double visco=-1;
137 const DoubleTab& tab_visco=ch_visco.valeurs();
138 int is_visco_const=sub_type(Champ_Uniforme,ch_visco);
139 if (is_visco_const)
140 visco=tab_visco(0,0);
141 const Domaine_VEF& le_dom = ref_cast(Domaine_VEF,domaine_dis);
142 int nb_faces = le_dom.nb_faces();
143
144 for (int num_face=0; num_face<nb_faces ; num_face++)
145 {
146 if (!is_visco_const)
147 {
148 int elem0 = le_dom.face_voisins(num_face,0);
149 int elem1 = le_dom.face_voisins(num_face,1);
150 if (elem1!=-1)
151 {
152 visco = tab_visco(elem0)*le_dom.volumes(elem0)+tab_visco(elem1)*le_dom.volumes(elem1);
153 visco /= le_dom.volumes(elem0) + le_dom.volumes(elem1);
154 }
155 else
156 visco = tab_visco(elem0);
157 }
158 if (visco>0 && K_eps_Bas_Re(num_face,1)>0)
159 {
160 double Re = (K_eps_Bas_Re(num_face,0)*K_eps_Bas_Re(num_face,0))/(visco*K_eps_Bas_Re(num_face,1));
161 F2[num_face] = 1. - (0.3*exp(-Re*Re));
162 }
163 else
164 F2[num_face] = 1.;
165 }
166
167 return F2;
168}
169
170DoubleTab& Modele_EASM_Baglietto_VEF::Calcul_Fmu( DoubleTab& Fmu,const Domaine_dis_base& domaine_dis, const Domaine_Cl_dis_base& domaine_Cl_dis, const DoubleTab& K_eps_Bas_Re,const Champ_Don_base& ch_visco ) const
171{
172 double visco=-1;
173 const DoubleTab& tab_visco=ch_visco.valeurs();
174 int is_visco_const=sub_type(Champ_Uniforme,ch_visco);
175 if (is_visco_const)
176 visco=tab_visco(0,0);
177 const Domaine_VEF& le_dom = ref_cast(Domaine_VEF,domaine_dis);
178 const Domaine_Cl_VEF& domaine_Cl_VEF = ref_cast(Domaine_Cl_VEF,domaine_Cl_dis);
179 int nb_faces = le_dom.nb_faces();
180 const DoubleTab& wall_length = BR_wall_length_->valeurs();
181 DoubleTab wall_length_face(0);
182 le_dom.creer_tableau_faces(wall_length_face);
183 const Conds_lim& les_cl = domaine_Cl_VEF.les_conditions_limites();
184 int nb_cl=les_cl.size();
185 const IntTab& face_voisins = le_dom.face_voisins();
186 Fmu = 0;
187
188 // Calcul de la distance a la paroi aux faces
189 for (int n_bord=0; n_bord<nb_cl; n_bord++)
190 {
191 const Cond_lim& la_cl = domaine_Cl_VEF.les_conditions_limites(n_bord);
192 const Front_VF& le_bord = ref_cast(Front_VF,la_cl->frontiere_dis());
193 int ndeb = le_bord.num_premiere_face();
194 int nfin = ndeb + le_bord.nb_faces();
195
196 if (sub_type(Periodique,la_cl.valeur()))
197 {
198 for (int num_face=ndeb; num_face<nfin; num_face++)
199 {
200 int elem1 = face_voisins(num_face,0);
201 int elem2 = face_voisins(num_face,1);
202 wall_length_face(num_face) = 0.5*wall_length(elem1) + 0.5*wall_length(elem2);
203 }
204 }
205 else
206 {
207 for (int num_face=ndeb; num_face<nfin; num_face++)
208 {
209 int elem1 = face_voisins(num_face,0);
210 wall_length_face(num_face) = wall_length(elem1);
211 }
212 }
213 }
214 int n0 = le_dom.premiere_face_int();
215 for (int num_face=n0; num_face<nb_faces; num_face++)
216 {
217 int elem0 = le_dom.face_voisins(num_face,0);
218 int elem1 = le_dom.face_voisins(num_face,1);
219 wall_length_face(num_face) = 0.5*wall_length(elem0)+0.5*wall_length(elem1);
220 }
221
222// Calcul de Fmu
223 for (int num_face=0; num_face<nb_faces ; num_face++)
224 {
225 if (!is_visco_const)
226 {
227 int elem0 = le_dom.face_voisins(num_face,0);
228 int elem1 = le_dom.face_voisins(num_face,1);
229 if (elem1!=-1)
230 {
231 visco = tab_visco(elem0)*le_dom.volumes(elem0)+tab_visco(elem1)*le_dom.volumes(elem1);
232 visco /= le_dom.volumes(elem0) + le_dom.volumes(elem1);
233 }
234 else
235 visco = tab_visco(elem0);
236 }
237 if (visco>0)
238 {
239 double Rey = wall_length_face(num_face)*sqrt(K_eps_Bas_Re(num_face,0))/visco;
240 Fmu[num_face] = 1.0 - exp(-0.029*pow(Rey,0.5) - 0.00011*Rey*Rey);
241 }
242 else
243 Fmu(num_face) = 1.;
244 }
245 return Fmu;
246}
247
248DoubleTab& Modele_EASM_Baglietto_VEF::Calcul_Fmu_BiK( DoubleTab& Fmu,const Domaine_dis_base& domaine_dis, const Domaine_Cl_dis_base& domaine_Cl_dis, const DoubleTab& K_Bas_Re, const DoubleTab& eps_Bas_Re,const Champ_Don_base& ch_visco ) const
249{
250 double visco=-1;
251 const DoubleTab& tab_visco=ch_visco.valeurs();
252 int is_visco_const=sub_type(Champ_Uniforme,ch_visco);
253 if (is_visco_const)
254 visco=tab_visco(0,0);
255 const Domaine_VEF& le_dom = ref_cast(Domaine_VEF,domaine_dis);
256 const Domaine_Cl_VEF& domaine_Cl_VEF = ref_cast(Domaine_Cl_VEF,domaine_Cl_dis);
257 int nb_faces = le_dom.nb_faces();
258 const DoubleTab& wall_length = BR_wall_length_->valeurs();
259 DoubleTab wall_length_face(0);
260 le_dom.creer_tableau_faces(wall_length_face);
261 const Conds_lim& les_cl = domaine_Cl_VEF.les_conditions_limites();
262 int nb_cl=les_cl.size();
263 const IntTab& face_voisins = le_dom.face_voisins();
264 Fmu = 0;
265
266 // Calcul de la distance a la paroi aux faces
267 for (int n_bord=0; n_bord<nb_cl; n_bord++)
268 {
269 const Cond_lim& la_cl = domaine_Cl_VEF.les_conditions_limites(n_bord);
270 const Front_VF& le_bord = ref_cast(Front_VF,la_cl->frontiere_dis());
271 int ndeb = le_bord.num_premiere_face();
272 int nfin = ndeb + le_bord.nb_faces();
273
274 if (sub_type(Periodique,la_cl.valeur()))
275 {
276 for (int num_face=ndeb; num_face<nfin; num_face++)
277 {
278 int elem1 = face_voisins(num_face,0);
279 int elem2 = face_voisins(num_face,1);
280 wall_length_face(num_face) = 0.5*wall_length(elem1) + 0.5*wall_length(elem2);
281 }
282 }
283 else
284 {
285 for (int num_face=ndeb; num_face<nfin; num_face++)
286 {
287 int elem1 = face_voisins(num_face,0);
288 wall_length_face(num_face) = wall_length(elem1);
289 }
290 }
291 }
292 int n0 = le_dom.premiere_face_int();
293 for (int num_face=n0; num_face<nb_faces; num_face++)
294 {
295 int elem0 = le_dom.face_voisins(num_face,0);
296 int elem1 = le_dom.face_voisins(num_face,1);
297 wall_length_face(num_face) = 0.5*wall_length(elem0)+0.5*wall_length(elem1);
298 }
299 Cerr<<wall_length_face.mp_min_vect()<<" wall_length " <<wall_length_face.mp_max_vect()<<finl;
300
301// Calcul de Fmu
302 for (int num_face=0; num_face<nb_faces ; num_face++)
303 {
304 if (!is_visco_const)
305 {
306 int elem0 = le_dom.face_voisins(num_face,0);
307 int elem1 = le_dom.face_voisins(num_face,1);
308 if (elem1!=-1)
309 {
310 visco = tab_visco(elem0)*le_dom.volumes(elem0)+tab_visco(elem1)*le_dom.volumes(elem1);
311 visco /= le_dom.volumes(elem0) + le_dom.volumes(elem1);
312 }
313 else
314 visco = tab_visco(elem0);
315 }
316 if (visco>0)
317 {
318 double Rey = wall_length_face(num_face)*sqrt(K_Bas_Re(num_face))/visco;
319 Fmu[num_face] = 1.0 - exp(-0.029*pow(Rey,0.5) - 0.00011*Rey*Rey);
320 }
321 else
322 Fmu(num_face) = 1.;
323 }
324 return Fmu;
325}
326
327
328
329DoubleTab& Modele_EASM_Baglietto_VEF::Calcul_F2_BiK( DoubleTab& F2, DoubleTab& Deb, const Domaine_dis_base& domaine_dis,const DoubleTab& K_Bas_Re,const DoubleTab& eps_Bas_Re,const Champ_base& ch_visco ) const
330{
331 double visco=-1;
332 const DoubleTab& tab_visco=ch_visco.valeurs();
333 int is_visco_const=sub_type(Champ_Uniforme,ch_visco);
334 if (is_visco_const)
335 visco=tab_visco(0,0);
336 const Domaine_VEF& le_dom = ref_cast(Domaine_VEF,domaine_dis);
337 int nb_faces = le_dom.nb_faces();
338
339 for (int num_face=0; num_face<nb_faces ; num_face++)
340 {
341 if (!is_visco_const)
342 {
343 int elem0 = le_dom.face_voisins(num_face,0);
344 int elem1 = le_dom.face_voisins(num_face,1);
345 if (elem1!=-1)
346 {
347 visco = tab_visco(elem0)*le_dom.volumes(elem0)+tab_visco(elem1)*le_dom.volumes(elem1);
348 visco /= le_dom.volumes(elem0) + le_dom.volumes(elem1);
349 }
350 else
351 visco = tab_visco(elem0);
352 }
353 if (visco>0 && eps_Bas_Re(num_face)>0)
354 {
355 double Re = (K_Bas_Re(num_face)*K_Bas_Re(num_face))/(visco*eps_Bas_Re(num_face));
356 F2[num_face] = 1. - (0.3*exp(-Re*Re));
357 }
358 else
359 F2[num_face] = 1.;
360 }
361
362 return F2;
363}
364
365DoubleTab& Modele_EASM_Baglietto_VEF::Calcul_F1_BiK( DoubleTab& F1, const Domaine_dis_base& domaine_dis, const Domaine_Cl_dis_base& domaine_Cl_dis, const DoubleTab& P, const DoubleTab& K_Bas_Re, const DoubleTab& eps_Bas_Re,const Champ_base& ch_visco) const
366{
367
368 double visco=-1;
369 const DoubleTab& tab_visco=ch_visco.valeurs();
370 int is_visco_const=sub_type(Champ_Uniforme,ch_visco);
371 if (is_visco_const)
372 visco=tab_visco(0,0);
373 const Domaine_VEF& le_dom = ref_cast(Domaine_VEF,domaine_dis);
374 const Domaine_Cl_VEF& domaine_Cl_VEF = ref_cast(Domaine_Cl_VEF,domaine_Cl_dis);
375 const DoubleTab& wall_length = BR_wall_length_->valeurs();
376 DoubleTab wall_length_face(0);
377 le_dom.creer_tableau_faces(wall_length_face);
378 DoubleTab Pderive(0);
379 le_dom.creer_tableau_faces(Pderive);
380 int nb_faces = le_dom.nb_faces();
381 const Conds_lim& les_cl = domaine_Cl_VEF.les_conditions_limites();
382 int nb_cl=les_cl.size();
383 const IntTab& face_voisins = le_dom.face_voisins();
384
385
386 // Calcul de la distance a la paroi aux faces
387 for (int n_bord=0; n_bord<nb_cl; n_bord++)
388 {
389 const Cond_lim& la_cl = domaine_Cl_VEF.les_conditions_limites(n_bord);
390 const Front_VF& le_bord = ref_cast(Front_VF,la_cl->frontiere_dis());
391 int ndeb = le_bord.num_premiere_face();
392 int nfin = ndeb + le_bord.nb_faces();
393
394 if (sub_type(Periodique,la_cl.valeur()))
395 {
396 for (int num_face=ndeb; num_face<nfin; num_face++)
397 {
398 int elem1 = face_voisins(num_face,0);
399 int elem2 = face_voisins(num_face,1);
400 wall_length_face(num_face) = 0.5*wall_length(elem1) + 0.5*wall_length(elem2);
401 }
402 }
403 else
404 {
405 for (int num_face=ndeb; num_face<nfin; num_face++)
406 {
407 int elem1 = face_voisins(num_face,0);
408 wall_length_face(num_face) = wall_length(elem1);
409 }
410 }
411 }
412 int n0 = le_dom.premiere_face_int();
413 for (int num_face=n0; num_face<nb_faces; num_face++)
414 {
415 int elem0 = le_dom.face_voisins(num_face,0);
416 int elem1 = le_dom.face_voisins(num_face,1);
417 wall_length_face(num_face) = 0.5*wall_length(elem0)+0.5*wall_length(elem1);
418 }
419
420 for (int num_face=0; num_face <nb_faces; num_face ++ )
421 {
422 double Re = (K_Bas_Re(num_face)*K_Bas_Re(num_face))/(visco*eps_Bas_Re(num_face)+DMINFLOAT);
423 double Rey = wall_length_face(num_face)*sqrt(K_Bas_Re(num_face))/visco;
424 Pderive(num_face) = 1.33*(1. - 0.3*exp(-Re*Re))
425 * (P(num_face) + 2.*visco*K_Bas_Re(num_face)/(wall_length_face(num_face)*wall_length_face(num_face)+DMINFLOAT))
426 * exp(-0.00375*Rey*Rey);
427 }
428
429 // Calcul de F1
430 for (int num_face=0; num_face <nb_faces; num_face ++ )
431 if (P(num_face) > 0)
432 F1[num_face] = 1.+ Pderive(num_face) / (P(num_face));
433 else
434 F1[num_face] = 1.;
435 return F1;
436}
437
438
439DoubleTab& Modele_EASM_Baglietto_VEF::Calcul_E_BiK(DoubleTab& E,const Domaine_dis_base& domaine_dis, const Domaine_Cl_dis_base& domaine_Cl_dis, const DoubleTab& transporte,const DoubleTab& K_Bas_Re,const DoubleTab& eps_Bas_Re,const Champ_Don_base& ch_visco, const DoubleTab& visco_turb ) const
440{
441 return Calcul_E( E, domaine_dis, domaine_Cl_dis, transporte, K_Bas_Re, ch_visco, visco_turb );
442}
443
444DoubleTab& Modele_EASM_Baglietto_VEF::Calcul_D_BiK(DoubleTab& D,const Domaine_dis_base& domaine_dis, const Domaine_Cl_dis_base& domaine_Cl_dis,
445 const DoubleTab& vitesse,const DoubleTab& K_Bas_Re,const DoubleTab& eps_Bas_Re, const Champ_Don_base& ch_visco ) const
446{
447 D=0;
448 return D;
449}
450
451
classe Champ_Don_base classe de base des Champs donnes (non calcules)
DoubleTab & valeurs() override
Surcharge Champ_base::valeurs() Renvoie le tableau des valeurs.
virtual DoubleTab & valeurs()=0
classe Champ_Uniforme Represente un champ constant dans l'espace et dans le temps.
classe Champ_base Cette classe est la base de la hierarchie des champs.
Definition Champ_base.h:43
classe Cond_lim Classe generique servant a representer n'importe quelle classe
Definition Cond_lim.h:31
classe Conds_lim Cette classe represente un vecteur de conditions aux limites.
Definition Conds_lim.h:32
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
const Cond_lim & les_conditions_limites(int) const
Renvoie la i-ieme condition aux limites.
class Domaine_VEF
Definition Domaine_VEF.h:54
int nb_faces() const
renvoie le nombre global de faces.
Definition Domaine_VF.h:471
void creer_tableau_faces(Array_base &, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT) const
double volumes(int i) const
Definition Domaine_VF.h:113
int premiere_face_int() const
une face est interne ssi elle separe deux elements.
Definition Domaine_VF.h:463
int face_voisins(int num_face, int i) const
renvoie l'element voisin de numface dans la direction i.
Definition Domaine_VF.h:418
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Class defining operators and methods for all reading operation in an input flow (file,...
Definition Entree.h:42
class Front_VF
Definition Front_VF.h:36
int nb_faces() const
Definition Front_VF.h:53
int num_premiere_face() const
Definition Front_VF.h:63
DoubleTab & Calcul_F2_BiK(DoubleTab &, DoubleTab &, const Domaine_dis_base &, const DoubleTab &, const DoubleTab &, const Champ_base &) const override
DoubleTab & Calcul_E_BiK(DoubleTab &, const Domaine_dis_base &, const Domaine_Cl_dis_base &, const DoubleTab &, const DoubleTab &, const DoubleTab &, const Champ_Don_base &, const DoubleTab &) const override
DoubleTab & Calcul_F1_BiK(DoubleTab &F1, const Domaine_dis_base &domaine_dis, const Domaine_Cl_dis_base &domaine_Cl_dis, const DoubleTab &P, const DoubleTab &K_Bas_Re, const DoubleTab &eps_Bas_Re, const Champ_base &ch_visco) const override
DoubleTab & Calcul_Fmu(DoubleTab &, const Domaine_dis_base &, const Domaine_Cl_dis_base &domaine_Cl_dis, const DoubleTab &, const Champ_Don_base &) const override
DoubleTab & Calcul_D_BiK(DoubleTab &, const Domaine_dis_base &, const Domaine_Cl_dis_base &, const DoubleTab &, const DoubleTab &, const DoubleTab &, const Champ_Don_base &) const override
DoubleTab & Calcul_D(DoubleTab &, const Domaine_dis_base &, const Domaine_Cl_dis_base &, const DoubleTab &, const DoubleTab &, const Champ_Don_base &) const override
DoubleTab & Calcul_F1(DoubleTab &F1, const Domaine_dis_base &domaine_dis, const Domaine_Cl_dis_base &domaine_Cl_dis, const DoubleTab &P, const DoubleTab &K_eps_Bas_Re, const Champ_base &ch_visco) const override
DoubleTab & Calcul_Fmu_BiK(DoubleTab &, const Domaine_dis_base &, const Domaine_Cl_dis_base &, const DoubleTab &, const DoubleTab &, const Champ_Don_base &) const override
DoubleTab & Calcul_F2(DoubleTab &, DoubleTab &, const Domaine_dis_base &, const DoubleTab &, const Champ_base &) const override
DoubleTab & Calcul_E(DoubleTab &, const Domaine_dis_base &, const Domaine_Cl_dis_base &, const DoubleTab &, const DoubleTab &, const Champ_Don_base &, const DoubleTab &) const override
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
Definition Objet_U.cpp:293
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
Definition Objet_U.cpp:282
classe Periodique Cette classe represente une condition aux limites periodique.
Definition Periodique.h:31
Classe de base des flux de sortie.
Definition Sortie.h:52
_TYPE_ mp_max_vect(Mp_vect_options opt=VECT_REAL_ITEMS) const
Definition TRUSTVect.h:158
_TYPE_ mp_min_vect(Mp_vect_options opt=VECT_REAL_ITEMS) const
Definition TRUSTVect.h:159