TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
DNS.h
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#ifndef DNS_included
16#define DNS_included
17#include <Boundary_Conditions.h>
18#include <IJK_Field_vector.h>
19#include <IJK_Field.h>
20#include <Domaine_IJK.h>
21#include <Operateur_IJK_elem_diff_base.h>
22#include <Operateur_IJK_faces_diff.h>
23#include <Operateur_IJK_faces_conv.h>
24// #include <OpDiffTurbIJK.h>
25// #include <OpDiffTurbIJKScalar.h>
26#include <OpConvCentre4IJK.h>
27#include <OpConvCentre2IJK.h>
28#include <OpConvQuickIJKScalar.h>
29#include <OpConvQuickSharpIJK.h>
30#include <OpConvAmontIJK.h>
31#include <Multigrille_Adrien.h>
32#include <Interprete.h>
33#include <IJK_Lata_writer.h>
34#include <Linear_algebra_tools.h>
35#include <Parser.h>
36#include <Boundary_Conditions.h>
37#include <Statistiques_dns_qc_ijk.h>
38#include <Filter_kernel.h>
39#include <OpConvCentre2IJKScalar.h>
40
41#define WITH_FFTW
42
43#if defined(WITH_FFTW)
44#include <Fourier_trans.h>
45#include <Redistribute_Field.h>
46#endif
47
48
50{
51 Declare_instanciable(DNS_QC_double);
52public:
53 Entree& interpreter(Entree&) override;
54 void run();
56protected:
57 void initialise();
59 void rk3_sub_step(const int rk_step, const double total_timestep);
60
61 template<class T>
62 void calculer_convection_vitesse(IJK_Field_vector3_double& rho_v,
63 IJK_Field_vector3_double& velocity,
64 const ArrOfDouble_with_ghost& delta_z,
65 const double facteur_delta_x,
66 const double facteur_delta_y,
67 const ArrOfDouble_with_ghost& delta_z_pour_delta,
68 T& kernel,
71 IJK_Field_vector3_double& d_velocity_tmp,
72 IJK_Field_vector3_double& d_velocity,
73 IJK_Field_double& u_div_rho_u);
74 template<class T>
75 void calculer_turbulent_diffusion_vitesse(IJK_Field_vector3_double& velocity,
76 const IJK_Field_double& turbulent_mu_xx,
77 const IJK_Field_double& turbulent_mu_xy,
78 const IJK_Field_double& turbulent_mu_xz,
79 const IJK_Field_double& turbulent_mu_yy,
80 const IJK_Field_double& turbulent_mu_yz,
81 const IJK_Field_double& turbulent_mu_zz,
82 const ArrOfDouble_with_ghost& delta_z,
83 const double facteur_delta_x,
84 const double facteur_delta_y,
85 const ArrOfDouble_with_ghost& delta_z_pour_delta,
86 T& kernel,
89 IJK_Field_vector3_double& d_velocity_tmp,
90 IJK_Field_vector3_double& d_velocity);
91 template<class T>
92 void calculer_structural_diffusion_vitesse(IJK_Field_vector3_double& velocity,
93 const FixedVector<IJK_Field_double, 6>& structural_uu_tensor,
94 const ArrOfDouble_with_ghost& delta_z,
95 const double facteur_delta_x,
96 const double facteur_delta_y,
97 const ArrOfDouble_with_ghost& delta_z_pour_delta,
98 T& kernel,
101 IJK_Field_vector3_double& d_velocity_tmp,
102 IJK_Field_vector3_double& d_velocity);
103 void calculer_diffusion_scalar(const IJK_Field_double& rho,
104 const IJK_Field_double& turbulent_kappa_x,
105 const IJK_Field_double& turbulent_kappa_y,
106 const IJK_Field_double& turbulent_kappa_z,
107 IJK_Field_double& d_rho,
108 const IJK_Field_local_double& boundary_flux_kmin,
109 const IJK_Field_local_double& boundary_flux_kmax);
110
111
112 void compute_sum_entering_heat_flux(double& flux_sum);
113 void calcul_p_thermo_et_bilan(const IJK_Field_double& rho,
114 IJK_Field_double& temperature,
115 const int turbulent_diffusivity,
116 const IJK_Field_double& lambda_turbulent,
117 const int flag_lambda_anisotropic,
118 const int structural_uscalar,
119 const IJK_Field_double& structural_uscalar_z,
120 const double P_th_initial,
121 double& P_th_final,
122 const double fractionnal_timestep,
123 double& d_Pth_divise_par_gammamoins1) const;
124 // initialise lambda aux paroi, crash si appeller apres le dt Numero 0 ;
126
127 void ecrire_fichier_sauv(const char *fichier_sauvegarde,
128 const char *lata_name);
129 void sauvegarder_qc(const char *fichier_sauvegarde);
130 void reprendre_qc(const char *fichier_reprise);
132 void posttraiter_champs_instantanes(const char * lata_name, double time);
133 void save_raw_data(const char *lata_name, double current_time);
134 void save_stats(double current_time);
135
136 void fixer_reference_pression(double& reference_pression);
137 void translation_pression(const double& reference_pression);
138 void compute_rho_bulk(double& rho_bulk_);
139 void compute_t_bulk(double& t_bulk_);
140 void compute_rho_t_bulk(double& rho_bulk_, double& t_bulk_);
141
143 // taille des mailles de ce processeur en z, avec des mailles fantomes:
144 ArrOfDouble_with_ghost delta_z_local_;
145 // Cond.lim diffusion qdm, par defaut paroi fixe:
147 // -------------------------------------------------
148 // Champs inconnus (variables principales des equations differentielles
149 // qui doivent etre remplies au debut du pas de temps)
150 // Velocity field:
151 IJK_Field_vector3_double velocity_;
152 // masse volumique
153 IJK_Field_double rho_;
154 // pression thermodynamique
156 // terme source qdm pour pousser le fluide dans le canal (en m/s/s)
161 // when are we ?
163 // source term in spanwise direction
167
168 // -------------------------------------------------
169 // Statistiques temporelles
172
173 // Statistiques spectrale de la turbulence
176 bool reprise_spectrale_ = false;
178
179 // Sauvegarde des lata par plan
184 IJK_Field_vector3_double velocity_sauvegarde_;
185 IJK_Field_double temperature_sauvegarde_;
187 IJK_Field_double molecular_mu_sauvegarde_;
188 IJK_Field_double rho_sauvegarde_;
189 IJK_Field_double pressure_sauvegarde_;
193
194
195 // -------------------------------------------------
196 // Champs supplementaires (variables temporaires de calcul deduites des inconnues)
197 IJK_Field_double velocity_elem_X_;
198 // Vitesse aux elements
199 IJK_Field_double velocity_elem_Y_;
200 // Vitesse aux elements
201 IJK_Field_double velocity_elem_Z_;
202 // Vitesse aux elements
203 // momentum:
204 IJK_Field_vector3_double rho_v_;
205 // Temporary storage for the derivative
206 IJK_Field_vector3_double d_velocity_;
207 // Temporary storage for the RungeKutta algorithm
208 IJK_Field_vector3_double RK3_F_velocity_;
209 // Pressure field
210 IJK_Field_double pressure_;
211 // viscosite dynamique: div(mu*grad(v)) => d/dt (rho*v)
212 IJK_Field_double molecular_mu_;
213 // right hand side for pressure solver
214 IJK_Field_double pressure_rhs_;
215 // derivee de la masse volumique par rapport au temps
216 IJK_Field_double d_rho_;
217 // temperature
218 IJK_Field_double temperature_;
219 // temporary storage for the rk3 algorithm
220 IJK_Field_double RK3_F_rho_;
221 // conductivite thermique
222 IJK_Field_double molecular_lambda_;
223 // resultat de l'operateur diffusion temperature:
225 // tableau temporaire utilise par l'operateur de convection pour y stocker u*div(rho*u)
226 IJK_Field_double u_div_rho_u_;
227
228 // pour rajouter le terme en divergence a la diffusion
229 IJK_Field_double divergence_;
230
231 // Flux thermique au bord (integrale par face de bord)
232 IJK_Field_local_double boundary_flux_kmin_;
233 IJK_Field_local_double boundary_flux_kmax_;
234
235 // Operators and pressure solver
236 // DD,2017-04-27: diffusion modifie en vue de l'ajout de modeles
241
255 IJK_Field_double turbulent_mu_;
259 // M.D 10/2021
264 double pond_fr_;
265 double pond_ch_;
267
277 IJK_Field_double turbulent_kappa_;
278 IJK_Field_vector3_double turbulent_kappa_vector_;
280
288 IJK_Field_vector3_double velocity_filtre_;
289 IJK_Field_double rho_filtre_;
290 IJK_Field_double rho_velocity_i_filtre_ ;
291 IJK_Field_double rho_velocity_j_filtre_ ;
292 IJK_Field_double rho_velocity_k_filtre_ ;
293 IJK_Field_double temperature_filtre_;
294 IJK_Field_double turbulent_mu_filtre_;
296 IJK_Field_double turbulent_kappa_filtre_;
297 IJK_Field_vector3_double turbulent_kappa_filtre_vector_;
298 FixedVector<IJK_Field_double, 6> structural_uu_filtre_tensor_; // Vector with 6 components, 0:xx 1:xy 2:xz 3:yy 4:yz 5:zz
299 IJK_Field_vector3_double structural_uscalar_filtre_vector_;
307
313 FixedVector<IJK_Field_double, 6> structural_uu_tensor_; // Vector with 6 components, 0:xx 1:xy 2:xz 3:yy 4:yz 5:zz
315 FixedVector<IJK_Field_double, 6> structural_uu_tmp_tensor_; // Vector with 6 components, 0:xx 1:xy 2:xz 3:yy 4:yz 5:zz
316 bool structural_uu_ = false;
317
322 IJK_Field_vector3_double structural_uscalar_vector_;
324 IJK_Field_vector3_double structural_uscalar_tmp_vector_;
326
330 ArrOfDouble_with_ghost delta_z_local_pour_delta_;
333 ArrOfDouble_with_ghost delta_z_local_pour_delta_filtre_;
336 ArrOfDouble_with_ghost constante_modele_;
337 FixedVector<IJK_Field_local_double, 18> tmp_b_; // Temporary array used to compute the filter
338 FixedVector<IJK_Field_local_double, 18> tmp_a_; // Temporary array used to compute the filter
339 FixedVector<FixedVector<ArrOfDouble, 7>, 8> ml_; // Vector with 8 components, 0:l 1:m 2:h 3:mm 4:hh 5:ml 6:hl 7:mh. Each is a vector with 7 components, 0:xx 1:xy 2:xz 3:yy 4:yz 5:zz 6:sum
341 IJK_Field_vector3_double d_velocity_tmp_;
342
345
348
356
357 // Simulation parameters
358 // ----------------------------------------------
359 // Valeurs lues dans le jeu de donnees:
361
364 double timestep_;
367 Motcles liste_post_instantanes_; // liste des champs instantanes a postraiter
371
372 double dt_save_oscillating_cycle_raw_data_; // saves raw_data every physical dt
373 double dt_save_cycle_; // incremented timestep for saving
374 bool postraiter_sous_pas_de_temps_ = false; // drapeau 0 ou 1
377 // Pour numeroter les fichiers .lata il faut compter combien on en a ecrit:
379 bool calcul_2d_ = false; // drapeau 0 ou 1
380 Nom check_stop_file_; // Nom du fichier stop
381 bool check_divergence_ = false;
383 double puit_;
384
385 // Le jeu de donnees doit fournir soit des fichiers de reprise: ..
390 // ... soit des expressions f(x,y,z)
392 Noms expression_vitesse_initiale_; // on attend trois expressions
393
396 // F.A nouvelle source
400 // Variables needed for forcing T bulk
405 double rho_bulk_;
406 /* double sum_entering_flux_; */
407
411
415
416
417
418 // Nom expression_derivee_acceleration_;
419 // Parser parser_derivee_acceleration_;
420 // pour me simplifier la vie
421 double Lx_tot_ ;
422 double Ly_tot_ ;
423 double Lz_tot_ ;
424
427 double Cp_gaz_;
428 double gamma_;
429
430 // F.A 17/03/14 ajout diffs et convection negligeables
433
436
437 // DD,2016-10-14: ajout disable_solveur_poisson_
439
440 // F.A 17/03/14 ajout possibiltie de dt_start
441 double dt_start_;
442
443 // ----------------------------------------------
444 // Valeurs recalculees a partir des donnees:
451
452 // DD,2016-28-01: statistiques a partir de fichiers lata uniquement
460
461 // DD,2016-06-15: changement des pas de temps de stabilite,
462 // pour faciliter les tests, j'ajoute un parametre pour avoir l'ancienne version
463 bool old_dtstab_ = false;
464
465 // Adding expression for oscillating boundary condition
466 // Nom expression_oscillating_boundary;
470
471 // Saving each delta_t time
473};
474#endif
IJK_Field_double velocity_elem_Y_sauvegarde_
Definition DNS.h:191
bool disable_solveur_poisson_
Definition DNS.h:438
bool structural_uu_
Definition DNS.h:316
void run()
Definition DNS.cpp:9454
Entree & interpreter(Entree &) override
Definition DNS.cpp:7229
bool check_divergence_
Definition DNS.h:381
IJK_Field_double velocity_elem_X_
Definition DNS.h:197
bool diff_qdm_negligeable_
Definition DNS.h:431
bool sauvegarde_post_instantanes_
Definition DNS.h:454
IJK_Field_double pressure_sauvegarde_
Definition DNS.h:189
OpConvQuickSharpIJK_double velocity_convection_op_quicksharp_
Definition DNS.h:346
FixedVector< IJK_Field_double, 6 > turbulent_mu_tensor_
Definition DNS.h:256
OpDiffTensorialAnisotropicZeroatwallIJK_double velocity_turbulent_diffusion_op_simple_anisotropic_
Definition DNS.h:245
IJK_Field_double molecular_mu_
Definition DNS.h:212
double Re_tau_fr_
Definition DNS.h:262
IJK_Field_double rho_velocity_j_filtre_
Definition DNS.h:291
double smoothing_factor_fr_
Definition DNS.h:261
IJK_Field_vector3_double turbulent_kappa_vector_
Definition DNS.h:278
double T_paroi_impose_kmin_
Definition DNS.h:425
void rk3_time_step()
double timestep_max_
Definition DNS.h:362
double lambda_de_t_paroi_kmin_
Definition DNS.h:447
OpDiffStdWithLaminarTransposeAndDivergenceTensorialAnisotropicZeroatwallIJK_double velocity_turbulent_diffusion_op_full_anisotropic_
Definition DNS.h:247
Nom turbulent_viscosity_dynamic_type_
Definition DNS.h:250
int compteur_post_instantanes_
Definition DNS.h:378
bool formulation_favre_
Definition DNS.h:334
OpConvCentre2IJKScalar_double rho_convection_op_centre2_
Definition DNS.h:350
bool flag_rho_filtre_
Definition DNS.h:301
double pond_ch_
Definition DNS.h:265
bool flag_oscillating_boundary
Definition DNS.h:469
OpConvAmontIJK_double velocity_convection_op_amont_
Definition DNS.h:347
bool flag_nu_anisotropic_
Definition DNS.h:254
ArrOfDouble turbulent_viscosity_tensor_coefficients_
Definition DNS.h:252
int dt_post_spectral_
Definition DNS.h:175
OpDiffStdWithLaminarTransposeAndDivergenceTensorialZeroatwallIJK_double velocity_turbulent_diffusion_op_full_
Definition DNS.h:244
double constante_specifique_gaz_
Definition DNS.h:449
bool flag_structural_uu_tmp_
Definition DNS.h:314
bool calcul_2d_
Definition DNS.h:379
bool variation_cste_modele_fonctionnel_
Definition DNS.h:258
IJK_Field_local_double boundary_flux_kmin_
Definition DNS.h:232
IJK_Field_double velocity_elem_Z_
Definition DNS.h:201
IJK_Field_double temperature_filtre_
Definition DNS.h:293
double Cp_gaz_
Definition DNS.h:427
Nom structural_uu_model_
Definition DNS.h:309
Domaine_IJK post_splitting_
Definition DNS.h:177
IJK_Field_double turbulent_mu_filtre_
Definition DNS.h:294
IJK_Field_double turbulent_kappa_filtre_
Definition DNS.h:296
bool flag_u_filtre_
Definition DNS.h:300
double terme_source_acceleration_
Definition DNS.h:157
double dt_start_
Definition DNS.h:441
IJK_Field_double turbulent_kappa_
Definition DNS.h:277
bool diff_temp_negligeable_
Definition DNS.h:432
Filter_kernel_base * kernel_
Definition DNS.h:282
bool conv_rho_negligeable_
Definition DNS.h:435
Nom check_stop_file_
Definition DNS.h:380
void calculer_velocity_elem()
Definition DNS.cpp:8582
double smoothing_center_fr_
Definition DNS.h:260
IJK_Field_vector3_double turbulent_kappa_filtre_vector_
Definition DNS.h:297
IJK_Field_double div_lambda_grad_T_volume_
Definition DNS.h:224
bool turbulent_diffusivity_
Definition DNS.h:279
double debit_actuel_
Definition DNS.h:398
double facteur_delta_y_
Definition DNS.h:329
Noms expression_vitesse_initiale_
Definition DNS.h:392
IJK_Field_double pressure_rhs_
Definition DNS.h:214
Motcles liste_post_instantanes_
Definition DNS.h:367
FixedVector< IJK_Field_double, 6 > structural_uu_tensor_
Definition DNS.h:313
IJK_Field_double rho_sauvegarde_
Definition DNS.h:188
FixedVector< IJK_Field_double, 6 > turbulent_mu_filtre_tensor_
Definition DNS.h:295
IJK_Field_vector3_double velocity_filtre_
Definition DNS.h:288
double dt_save_cycle_
Definition DNS.h:373
Nom nom_sauvegarde_
Definition DNS.h:375
IJK_Field_double temperature_
Definition DNS.h:218
void compute_rho_bulk(double &rho_bulk_)
Definition DNS.cpp:12447
bool flag_filtrage_turbulent_diffusion_qdm_
Definition DNS.h:284
void calculer_convection_vitesse(IJK_Field_vector3_double &rho_v, IJK_Field_vector3_double &velocity, const ArrOfDouble_with_ghost &delta_z, const double facteur_delta_x, const double facteur_delta_y, const ArrOfDouble_with_ghost &delta_z_pour_delta, T &kernel, FixedVector< IJK_Field_local_double, 18 > &tmp_b, FixedVector< IJK_Field_local_double, 18 > &tmp_a, IJK_Field_vector3_double &d_velocity_tmp, IJK_Field_vector3_double &d_velocity, IJK_Field_double &u_div_rho_u)
Definition DNS.cpp:10767
void calculer_diffusion_scalar(const IJK_Field_double &rho, const IJK_Field_double &turbulent_kappa_x, const IJK_Field_double &turbulent_kappa_y, const IJK_Field_double &turbulent_kappa_z, IJK_Field_double &d_rho, const IJK_Field_local_double &boundary_flux_kmin, const IJK_Field_local_double &boundary_flux_kmax)
Definition DNS.cpp:11206
double lambda_de_t_paroi_kmax_
Definition DNS.h:448
bool structural_uscalar_
Definition DNS.h:325
int dt_raw_data_
Definition DNS.h:369
IJK_Field_double u_div_rho_u_
Definition DNS.h:226
int timestep_reprise_rho_
Definition DNS.h:387
OpDiffStructuralOnlyZeroatwallIJK_double velocity_turbulent_diffusion_op_structural_
Definition DNS.h:308
Statistiques_dns_qc_ijk statistiques_
Definition DNS.h:170
OpDiffTensorialZeroatwallIJK_double velocity_turbulent_diffusion_op_simple_
Definition DNS.h:242
Nom filter_kernel_name_
Definition DNS.h:281
Boundary_Conditions boundary_conditions_
Definition DNS.h:146
IJK_Field_vector3_double d_velocity_
Definition DNS.h:206
IJK_Field_double molecular_lambda_sauvegarde_
Definition DNS.h:186
OpConvCentre4IJK_double velocity_convection_op_
Definition DNS.h:343
IJK_Field_local_double boundary_flux_kmax_
Definition DNS.h:233
IJK_Field_double rho_
Definition DNS.h:153
OpDiffStdWithLaminarTransposeTensorialAnisotropicZeroatwallIJK_double velocity_turbulent_diffusion_op_simple_with_transpose_anisotropic_
Definition DNS.h:246
Nom structural_uu_dynamic_type_
Definition DNS.h:310
IJK_Field_double divergence_
Definition DNS.h:229
double terme_source_acceleration_constant_
Definition DNS.h:159
ArrOfDouble turbulent_diffusivity_vector_coefficients_
Definition DNS.h:274
OpDiffStdWithLaminarTransposeTensorialZeroatwallIJK_double velocity_turbulent_diffusion_op_simple_with_transpose_
Definition DNS.h:243
int nb_timesteps_
Definition DNS.h:360
bool flag_structural_uscalar_tmp_
Definition DNS.h:323
IJK_Field_vector3_double structural_uscalar_filtre_vector_
Definition DNS.h:299
double current_time_
Definition DNS.h:162
double turbulent_viscosity_model_constant_
Definition DNS.h:251
IJK_Field_double pressure_
Definition DNS.h:210
Domaine_IJK domaine_
Definition DNS.h:142
double old_timestep_
Definition DNS.h:365
bool flag_kappa_vectorial_
Definition DNS.h:275
void calculer_moyennes_flux()
Definition DNS.cpp:8407
Nom sauvegarde_splitting_name_
Definition DNS.h:181
FixedVector< IJK_Field_double, 6 > structural_uu_filtre_tensor_
Definition DNS.h:298
IJK_Field_double rho_filtre_
Definition DNS.h:289
IJK_Field_vector3_double velocity_sauvegarde_
Definition DNS.h:184
double facteur_delta_x_
Definition DNS.h:328
bool projection_initiale_demandee_
Definition DNS.h:382
bool lecture_post_instantanes_filtrer_p_
Definition DNS.h:458
void calculer_lambda_paroi_air(double &lambda_de_t_paroi_kmin_, double &lambda_de_t_paroi_kmax_) const
bool convection_velocity_centre2_
Definition DNS.h:413
double Re_tau_ch_
Definition DNS.h:263
int dt_stats_
Definition DNS.h:370
void save_stats(double current_time)
Definition DNS.cpp:9403
bool flag_save_each_delta_t_
Definition DNS.h:472
double rho_paroi_impose_kmin_
Definition DNS.h:445
bool flag_d_velocity_tmp_
Definition DNS.h:340
Multigrille_Adrien poisson_solver_
Definition DNS.h:355
void initialise()
Definition DNS.cpp:8032
bool lecture_post_instantanes_filtrer_rho_
Definition DNS.h:457
double Lx_tot_
Definition DNS.h:421
bool convection_rho_centre4_
Definition DNS.h:410
ArrOfDouble_with_ghost delta_z_local_pour_delta_filtre_
Definition DNS.h:333
double dump_factor_2_
Definition DNS.h:404
double aim_t_bulk_
Definition DNS.h:401
Nom expression_temperature_initiale_
Definition DNS.h:391
double t_debut_statistiques_
Definition DNS.h:171
IJK_Field_double rho_velocity_i_filtre_
Definition DNS.h:290
bool old_dtstab_
Definition DNS.h:463
bool flag_nu_tensorial_
Definition DNS.h:253
OpDiffIJK_double velocity_diffusion_op_simple_
Definition DNS.h:237
void ecrire_fichier_sauv(const char *fichier_sauvegarde, const char *lata_name)
Definition DNS.cpp:8494
double spanwise_mass_flux_now_
Definition DNS.h:166
bool formulation_velocity_
Definition DNS.h:335
OpDiffStdWithLaminarTransposeAndDivergenceIJK_double velocity_diffusion_op_full_
Definition DNS.h:239
IJK_Field_double turbulent_mu_
Definition DNS.h:255
bool conv_qdm_negligeable_
Definition DNS.h:434
double T_paroi_impose_kmax_
Definition DNS.h:426
void sauvegarder_qc(const char *fichier_sauvegarde)
Definition DNS.cpp:8517
IJK_Field_double temperature_sauvegarde_
Definition DNS.h:185
OpConvCentre2IJK_double velocity_convection_op_centre_2_
Definition DNS.h:344
Nom turbulent_diffusivity_model_
Definition DNS.h:271
bool flag_structural_uscalar_filtre_
Definition DNS.h:306
double structural_uu_model_constant_
Definition DNS.h:311
OpConvAmontIJK_double rho_convection_op_amont_
Definition DNS.h:352
double spanwise_acceleration_source_term_
Definition DNS.h:164
int timestep_reprise_vitesse_
Definition DNS.h:389
bool convection_rho_centre2_
Definition DNS.h:409
Parser parser_derivee_acceleration_
Definition DNS.h:395
OpDiffStructuralOnlyIJKScalar_double operateur_diffusion_temperature_structural_
Definition DNS.h:354
void compute_rho_t_bulk(double &rho_bulk_, double &t_bulk_)
Definition DNS.cpp:12500
OpConvCentre4IJK_double rho_convection_op_centre4_
Definition DNS.h:351
bool flag_turbulent_mu_filtre_
Definition DNS.h:303
double rho_paroi_impose_kmax_
Definition DNS.h:446
Nom large_eddy_simulation_formulation_
Definition DNS.h:327
FixedVector< IJK_Field_local_double, 18 > tmp_a_
Definition DNS.h:338
void save_raw_data(const char *lata_name, double current_time)
Definition DNS.cpp:9030
IJK_Field_vector3_double rho_v_
Definition DNS.h:204
double structural_uscalar_model_constant_
Definition DNS.h:320
Nom type_velocity_diffusion_
Definition DNS.h:240
bool flag_structural_uu_filtre_
Definition DNS.h:305
double center_constant_
Definition DNS.h:266
IJK_Field_double velocity_elem_X_sauvegarde_
Definition DNS.h:190
Noms statlata_namelist_
Definition DNS.h:453
Nom turbulent_viscosity_model_
Definition DNS.h:249
bool flag_kappa_anisotropic_
Definition DNS.h:276
void calculer_turbulent_diffusion_vitesse(IJK_Field_vector3_double &velocity, const IJK_Field_double &turbulent_mu_xx, const IJK_Field_double &turbulent_mu_xy, const IJK_Field_double &turbulent_mu_xz, const IJK_Field_double &turbulent_mu_yy, const IJK_Field_double &turbulent_mu_yz, const IJK_Field_double &turbulent_mu_zz, const ArrOfDouble_with_ghost &delta_z, const double facteur_delta_x, const double facteur_delta_y, const ArrOfDouble_with_ghost &delta_z_pour_delta, T &kernel, FixedVector< IJK_Field_local_double, 18 > &tmp_b, FixedVector< IJK_Field_local_double, 18 > &tmp_a, IJK_Field_vector3_double &d_velocity_tmp, IJK_Field_vector3_double &d_velocity)
Definition DNS.cpp:10898
Domaine_IJK sauvegarde_splitting_
Definition DNS.h:180
bool flag_temperature_filtre_
Definition DNS.h:302
double Lz_tot_
Definition DNS.h:423
OpDiffStdWithLaminarTransposeIJK_double velocity_diffusion_op_simple_with_transpose_
Definition DNS.h:238
ArrOfDouble_with_ghost constante_modele_
Definition DNS.h:336
double actual_t_bulk_
Definition DNS.h:402
Nom fichier_reprise_vitesse_
Definition DNS.h:388
Nom type_scalar_turbulent_diffusion_
Definition DNS.h:270
ArrOfDouble structural_uu_tensor_coefficients_
Definition DNS.h:312
Nom expression_derivee_acceleration_
Definition DNS.h:394
double dt_save_oscillating_cycle_raw_data_
Definition DNS.h:372
bool reprise_spectrale_
Definition DNS.h:176
bool lecture_post_instantanes_filtrer_tous_
Definition DNS.h:459
void calculer_structural_diffusion_vitesse(IJK_Field_vector3_double &velocity, const FixedVector< IJK_Field_double, 6 > &structural_uu_tensor, const ArrOfDouble_with_ghost &delta_z, const double facteur_delta_x, const double facteur_delta_y, const ArrOfDouble_with_ghost &delta_z_pour_delta, T &kernel, FixedVector< IJK_Field_local_double, 18 > &tmp_b, FixedVector< IJK_Field_local_double, 18 > &tmp_a, IJK_Field_vector3_double &d_velocity_tmp, IJK_Field_vector3_double &d_velocity)
Definition DNS.cpp:11142
double amplitude_oscillating_boundary_
Definition DNS.h:467
bool flag_convection_qdm_sans_divergence_
Definition DNS.h:287
double P_thermodynamique_
Definition DNS.h:155
double gamma_
Definition DNS.h:428
Nom turbulent_diffusivity_dynamic_type_
Definition DNS.h:272
Nom fichier_reprise_rho_
Definition DNS.h:386
Nom structural_uscalar_model_
Definition DNS.h:318
IJK_Field_vector3_double structural_uscalar_tmp_vector_
Definition DNS.h:324
bool convection_rho_amont_
Definition DNS.h:408
void compute_t_bulk(double &t_bulk_)
Definition DNS.cpp:12474
IJK_Field_double velocity_elem_Y_
Definition DNS.h:199
FixedVector< FixedVector< ArrOfDouble, 7 >, 8 > ml_
Definition DNS.h:339
IJK_Field_double rho_velocity_k_filtre_
Definition DNS.h:292
OpDiffVectorialAnisotropicIJKScalar_double operateur_diffusion_turbulent_scalar_anisotropic_
Definition DNS.h:269
double pond_fr_
Definition DNS.h:264
FixedVector< Redistribute_Field, 3 > redistribute_to_sauvegarde_splitting_faces_
Definition DNS.h:182
double timestep_
Definition DNS.h:364
bool postraiter_sous_pas_de_temps_
Definition DNS.h:374
int mode_terme_source_impose_
Definition DNS.h:160
double debit_cible_
Definition DNS.h:399
Nom nom_reprise_
Definition DNS.h:376
IJK_Field_double RK3_F_rho_
Definition DNS.h:220
double facteur_delta_filtre_y_
Definition DNS.h:332
double Ly_tot_
Definition DNS.h:422
void fixer_reference_pression(double &reference_pression)
Definition DNS.cpp:12405
int dt_sauvegarde_
Definition DNS.h:368
ArrOfDouble_with_ghost delta_z_local_pour_delta_
Definition DNS.h:330
bool flag_t_bulk_forced_
Definition DNS.h:403
void translation_pression(const double &reference_pression)
Definition DNS.cpp:12430
bool flag_convection_qdm_sans_rho_
Definition DNS.h:286
void rk3_sub_step(const int rk_step, const double total_timestep)
Definition DNS.cpp:11242
IJK_Field_double molecular_mu_sauvegarde_
Definition DNS.h:187
double puit_
Definition DNS.h:383
double dump_factor_
Definition DNS.h:397
bool flag_filtrage_structural_diffusion_qdm_
Definition DNS.h:285
void calcul_p_thermo_et_bilan(const IJK_Field_double &rho, IJK_Field_double &temperature, const int turbulent_diffusivity, const IJK_Field_double &lambda_turbulent, const int flag_lambda_anisotropic, const int structural_uscalar, const IJK_Field_double &structural_uscalar_z, const double P_th_initial, double &P_th_final, const double fractionnal_timestep, double &d_Pth_divise_par_gammamoins1) const
Definition DNS.cpp:10663
IJK_Field_vector3_double d_velocity_tmp_
Definition DNS.h:341
double frequency_oscillating_boundary_
Definition DNS.h:468
void compute_sum_entering_heat_flux(double &flux_sum)
double terme_source_acceleration_z_
Definition DNS.h:158
double turbulent_diffusivity_model_constant_
Definition DNS.h:273
bool lecture_post_instantanes_
Definition DNS.h:455
double timestep_facsec_
Definition DNS.h:363
OpDiffVectorialIJKScalar_double operateur_diffusion_turbulent_scalar_
Definition DNS.h:268
double spanwise_mass_flux_aim_
Definition DNS.h:165
Redistribute_Field redistribute_to_sauvegarde_splitting_elem_
Definition DNS.h:183
IJK_Field_vector3_double velocity_
Definition DNS.h:151
int dt_post_
Definition DNS.h:366
double facteur_delta_filtre_x_
Definition DNS.h:331
bool flag_filtrage_convection_qdm_
Definition DNS.h:283
IJK_Field_vector3_double RK3_F_velocity_
Definition DNS.h:208
FixedVector< IJK_Field_double, 6 > structural_uu_tmp_tensor_
Definition DNS.h:315
IJK_Field_vector3_double structural_uscalar_vector_
Definition DNS.h:322
double volume_total_domaine_
Definition DNS.h:450
Nom type_velocity_turbulent_diffusion_
Definition DNS.h:248
Fourier_trans partie_fourier_
Definition DNS.h:174
bool flag_turbulent_kappa_filtre_
Definition DNS.h:304
bool lecture_post_instantanes_filtrer_u_
Definition DNS.h:456
IJK_Field_double molecular_lambda_
Definition DNS.h:222
OpConvQuickIJKScalar_double rho_convection_op_
Definition DNS.h:349
void posttraiter_champs_instantanes(const char *lata_name, double time)
Definition DNS.cpp:8609
ArrOfDouble structural_uscalar_vector_coefficients_
Definition DNS.h:321
bool turbulent_viscosity_
Definition DNS.h:257
FixedVector< IJK_Field_local_double, 18 > tmp_b_
Definition DNS.h:337
Nom structural_uscalar_dynamic_type_
Definition DNS.h:319
ArrOfDouble_with_ghost delta_z_local_
Definition DNS.h:144
void reprendre_qc(const char *fichier_reprise)
Definition DNS.cpp:8558
IJK_Field_double velocity_elem_Z_sauvegarde_
Definition DNS.h:192
bool convection_velocity_amont_
Definition DNS.h:412
OpDiffIJKScalar_double operateur_diffusion_temperature_
Definition DNS.h:353
double rho_bulk_
Definition DNS.h:405
bool convection_velocity_quicksharp_
Definition DNS.h:414
IJK_Field_double d_rho_
Definition DNS.h:216
This class encapsulates all the information related to the eulerian mesh for TrioIJK.
Definition Domaine_IJK.h:47
Classe de base des objets "interprete".
Definition Interprete.h:38
Un tableau d'objets de la classe Motcle.
Definition Motcle.h:63
class Nom Une chaine de caractere pour nommer les objets de TRUST
Definition Nom.h:31
Un tableau de chaine de caracteres (VECT(Nom)).
Definition Noms.h:26
friend class Entree
Definition Objet_U.h:76
Representation des donnees de la classe Parser.
Definition Parser.h:39