16#include <IJK_Thermal_cut_cell.h>
17#include <Probleme_FTD_IJK_cut_cell.h>
18#include <Cut_cell_tools.h>
19#include <Probleme_FTD_IJK.h>
21#include <IJK_Navier_Stokes_tools.h>
22#include <IJK_Navier_Stokes_tools_cut_cell.h>
23#include <Cut_cell_tools.h>
24#include <Cut_cell_convection_auxiliaire.h>
25#include <Cut_cell_diffusion_auxiliaire.h>
26#include <OpConvQuickIJKScalar_cut_cell.h>
27#include <Cut_cell_diffusion_flux_interface.h>
31IJK_Thermal_cut_cell::IJK_Thermal_cut_cell()
52 os<<
" lambda_variable \n";
54 os<<
" conserv_energy_global \n";
90 param.
dictionnaire(
"quick_ou_centre2_stencil", (
int)CUT_CELL_SCHEMA_CONVECTION::QUICK_OU_CENTRE2_STENCIL);
91 param.
dictionnaire(
"quick_ou_centre2_perpendicular_distance", (
int)CUT_CELL_SCHEMA_CONVECTION::QUICK_OU_CENTRE2_PERPENDICULAR_DISTANCE);
92 param.
dictionnaire(
"quick_ou_lineaire2_stencil", (
int)CUT_CELL_SCHEMA_CONVECTION::QUICK_OU_LINEAIRE2_STENCIL);
93 param.
dictionnaire(
"quick_ou_lineaire2_perpendicular_distance", (
int)CUT_CELL_SCHEMA_CONVECTION::QUICK_OU_LINEAIRE2_PERPENDICULAR_DISTANCE);
94 param.
dictionnaire(
"quick_ou_amont_stencil", (
int)CUT_CELL_SCHEMA_CONVECTION::QUICK_OU_AMONT_STENCIL);
95 param.
dictionnaire(
"quick_ou_amont_perpendicular_distance", (
int)CUT_CELL_SCHEMA_CONVECTION::QUICK_OU_AMONT_PERPENDICULAR_DISTANCE);
96 param.
dictionnaire(
"centre2", (
int)CUT_CELL_SCHEMA_CONVECTION::CENTRE2);
97 param.
dictionnaire(
"lineaire2", (
int)CUT_CELL_SCHEMA_CONVECTION::LINEAIRE2);
98 param.
dictionnaire(
"amont", (
int)CUT_CELL_SCHEMA_CONVECTION::AMONT);
101 param.
dictionnaire(
"non_initialise", (
int)METHODE_FLUX_INTERFACE::NON_INITIALISE);
102 param.
dictionnaire(
"interp_pure", (
int)METHODE_FLUX_INTERFACE::INTERP_PURE);
103 param.
dictionnaire(
"interp_pure_no_jump", (
int)METHODE_FLUX_INTERFACE::INTERP_PURE_NO_JUMP);
104 param.
dictionnaire(
"interp_cut_cell", (
int)METHODE_FLUX_INTERFACE::INTERP_CUT_CELL);
105 param.
dictionnaire(
"interp_cut_cell_no_jump", (
int)METHODE_FLUX_INTERFACE::INTERP_CUT_CELL_NO_JUMP);
117 Cut_field_double& cut_field_temperature =
static_cast<Cut_field_double&
>(*temperature_);
122 allocate_velocity_persistant(*ref_ijk_ft_cut_cell_->get_cut_cell_disc(),
current_fluxes_conv_, splitting, 2);
123 allocate_velocity_persistant(*ref_ijk_ft_cut_cell_->get_cut_cell_disc(),
RK3_F_fluxes_conv_, splitting, 2);
128 allocate_velocity_persistant(*ref_ijk_ft_cut_cell_->get_cut_cell_disc(),
current_fluxes_diff_, splitting, 2);
129 allocate_velocity_persistant(*ref_ijk_ft_cut_cell_->get_cut_cell_disc(),
RK3_F_fluxes_diff_, splitting, 2);
156 for (
int next_time = 0; next_time < 2; next_time++)
173 Cut_field_double& cut_field_div_coeff_grad_T_volume =
static_cast<Cut_field_double&
>(*div_coeff_grad_T_volume_);
176 Cut_field_double& cut_field_d_temperature =
static_cast<Cut_field_double&
>(*d_temperature_);
203 Cerr <<
"Please provide initial conditions for temperature, either by an expression or a field for restart. "
204 <<
"You should consider using either fichier_reprise_temperature or expression_T_init keywords. " << finl;
216 Cerr <<
"conserv_energy_global_ is used." << finl;
224 Cout <<
"End of " <<
que_suis_je() <<
"::initialize()" << finl;
230 const IJK_Field_double& indic = ref_ijk_ft_cut_cell_->get_interface().I();
232 const int nx = indic.
ni();
233 const int ny = indic.
nj();
234 const int nz = indic.
nk();
235 const double rho_l = ref_ijk_ft_cut_cell_->milieu_ijk().get_rho_liquid();
236 const double rho_v = ref_ijk_ft_cut_cell_->milieu_ijk().get_rho_vapour();
237 for (
int k=0; k < nz ; k++)
238 for (
int j=0; j< ny; j++)
239 for (
int i=0; i < nx; i++)
241 double chi_l = indic(i,j,k);
252 Cut_field_double& cut_field_temperature =
static_cast<Cut_field_double&
>(*temperature_);
260 Cout <<
"Temperature initialization from expression \nTini = " <<
expression_T_init_ << finl;
267 Cut_field_double& cut_field_temperature =
static_cast<Cut_field_double&
>(*temperature_);
275 Cout <<
"Temperature initialization from expression \nTini = " <<
expression_T_init_ << finl;
287 double fractional_timestep = (flag_rk) ? compute_fractionnal_timestep_rk3(total_timestep, rk_step) : total_timestep;
290 Cerr <<
"Thermal Euler time-step" << finl;
292 Cut_field_double& cut_field_temperature =
static_cast<Cut_field_double&
>(*temperature_);
293 Cut_field_double& cut_field_d_temperature =
static_cast<Cut_field_double&
>(*d_temperature_);
335 const Cut_field_vector3_double& cut_field_total_velocity = ref_ijk_ft_cut_cell_->get_cut_field_velocity();
337 const double current_time = ref_ijk_ft_cut_cell_->schema_temps_ijk().get_current_time();
377 euler_explicit_update_cut_cell_transport(fractional_timestep, cut_field_d_temperature, cut_field_temperature);
388 print_Tmin_Tmax_cut_cell(cut_field_temperature, 1, current_time,
"Temperature Min/Max apres la convection principale");
408 print_Tmin_Tmax_cut_cell(cut_field_temperature, 1, current_time,
"Temperature Min/Max apres la convection des cellules mourrantes");
430 print_Tmin_Tmax_cut_cell(cut_field_temperature, 1, current_time,
"Temperature Min/Max apres la convection des cellules naissantes");
440 diffusive_correction_.compute_flux_small_nascent_cells(cut_field_total_velocity, cut_field_temperature);
467 euler_explicit_update_cut_cell_notransport(fractional_timestep,
true, cut_field_d_temperature, cut_field_temperature);
478 print_Tmin_Tmax_cut_cell(cut_field_temperature, 1, current_time,
"Temperature Min/Max apres la diffusion principale");
494 print_Tmin_Tmax_cut_cell(cut_field_temperature, 1, current_time,
"Temperature Min/Max apres la diffusion des cellules mourrantes");
509 Cerr <<
"dT_budget, overall time: " << current_time <<
" dT_conv: " << d_ene_Conv.
overall <<
" dT_diff: " << d_ene_Diffu.
overall << finl;
513 Cerr <<
"dT_budget, overall_l time: " << current_time <<
" dT_conv: " << d_ene_Conv.
overall_l <<
" dT_diff: " << d_ene_Diffu.
overall_l << finl;
514 Cerr <<
"dT_budget, overall_v time: " << current_time <<
" dT_conv: " << d_ene_Conv.
overall_v <<
" dT_diff: " << d_ene_Diffu.
overall_v << finl;
515 Cerr <<
"dT_budget, pure.......... time: " << current_time <<
" dT_conv: " << d_ene_Conv.
pure <<
" dT_diff: " << d_ene_Diffu.
pure << finl;
516 Cerr <<
"dT_budget, diph_l........ time: " << current_time <<
" dT_conv: " << d_ene_Conv.
diph_l <<
" dT_diff: " << d_ene_Diffu.
diph_l << finl;
517 Cerr <<
"dT_budget, diph_v........ time: " << current_time <<
" dT_conv: " << d_ene_Conv.
diph_v <<
" dT_diff: " << d_ene_Diffu.
diph_v << finl;
518 Cerr <<
"dT_budget, diph_small.... time: " << current_time <<
" dT_conv: " << d_ene_Conv.
diph_small <<
" dT_diff: " << d_ene_Diffu.
diph_small << finl;
519 Cerr <<
"dT_budget, diph_regular.. time: " << current_time <<
" dT_conv: " << d_ene_Conv.
diph_regular <<
" dT_diff: " << d_ene_Diffu.
diph_regular << finl;
520 Cerr <<
"dT_budget, diph_nascent.. time: " << current_time <<
" dT_conv: " << d_ene_Conv.
diph_nascent <<
" dT_diff: " << d_ene_Diffu.
diph_nascent << finl;
521 Cerr <<
"dT_budget, diph_dying.... time: " << current_time <<
" dT_conv: " << d_ene_Conv.
diph_dying <<
" dT_diff: " << d_ene_Diffu.
diph_dying << finl;
526 Cerr <<
"T_Budget, overall time: " << current_time <<
" initial: " << ene_ini.
overall <<
" post_conv_dying: " << ene_postconv_dying.
overall <<
" post_conv_switch: " << ene_postconv_switch.
overall <<
" post_conv_small_nascent: " << ene_postconv_small_nascent.
overall <<
" post_diff_regular: " << ene_postdiff_regular.
overall <<
" post_diff_dying: " << ene_postdiff_dying.
overall <<
" post_diff_small: " << ene_postdiff_small.
overall << finl;
530 Cerr <<
"T_Budget, overall_l time: " << current_time <<
" initial: " << ene_ini.
overall_l <<
" post_conv_switch: " << ene_postconv_switch.
overall_l <<
" post_conv_dying: " << ene_postconv_dying.
overall_l <<
" post_conv_small_nascent: " << ene_postconv_small_nascent.
overall_l <<
" post_diff_regular: " << ene_postdiff_regular.
overall_l <<
" post_diff_dying: " << ene_postdiff_dying.
overall_l <<
" post_diff_small: " << ene_postdiff_small.
overall_l << finl;
531 Cerr <<
"T_Budget, overall_v time: " << current_time <<
" initial: " << ene_ini.
overall_v <<
" post_conv_switch: " << ene_postconv_switch.
overall_v <<
" post_conv_dying: " << ene_postconv_dying.
overall_v <<
" post_conv_small_nascent: " << ene_postconv_small_nascent.
overall_v <<
" post_diff_regular: " << ene_postdiff_regular.
overall_v <<
" post_diff_dying: " << ene_postdiff_dying.
overall_v <<
" post_diff_small: " << ene_postdiff_small.
overall_v << finl;
532 Cerr <<
"T_Budget, pure.......... time: " << current_time <<
" initial: " << ene_ini.
pure <<
" post_conv_switch: " << ene_postconv_switch.
pure <<
" post_conv_dying: " << ene_postconv_dying.
pure <<
" post_conv_small_nascent: " << ene_postconv_small_nascent.
pure <<
" post_diff_regular: " << ene_postdiff_regular.
pure <<
" post_diff_dying: " << ene_postdiff_dying.
pure <<
" post_diff_small: " << ene_postdiff_small.
pure << finl;
533 Cerr <<
"T_Budget, diph_l........ time: " << current_time <<
" initial: " << ene_ini.
diph_l <<
" post_conv_switch: " << ene_postconv_switch.
diph_l <<
" post_conv_dying: " << ene_postconv_dying.
diph_l <<
" post_conv_small_nascent: " << ene_postconv_small_nascent.
diph_l <<
" post_diff_regular: " << ene_postdiff_regular.
diph_l <<
" post_diff_dying: " << ene_postdiff_dying.
diph_l <<
" post_diff_small: " << ene_postdiff_small.
diph_l << finl;
534 Cerr <<
"T_Budget, diph_v........ time: " << current_time <<
" initial: " << ene_ini.
diph_v <<
" post_conv_switch: " << ene_postconv_switch.
diph_v <<
" post_conv_dying: " << ene_postconv_dying.
diph_v <<
" post_conv_small_nascent: " << ene_postconv_small_nascent.
diph_v <<
" post_diff_regular: " << ene_postdiff_regular.
diph_v <<
" post_diff_dying: " << ene_postdiff_dying.
diph_v <<
" post_diff_small: " << ene_postdiff_small.
diph_v << finl;
535 Cerr <<
"T_Budget, diph_small.... time: " << current_time <<
" initial: " << ene_ini.
diph_small <<
" post_conv_switch: " << ene_postconv_switch.
diph_small <<
" post_conv_dying: " << ene_postconv_dying.
diph_small <<
" post_conv_small_nascent: " << ene_postconv_small_nascent.
diph_small <<
" post_diff_regular: " << ene_postdiff_regular.
diph_small <<
" post_diff_dying: " << ene_postdiff_dying.
diph_small <<
" post_diff_small: " << ene_postdiff_small.
diph_small << finl;
536 Cerr <<
"T_Budget, diph_regular.. time: " << current_time <<
" initial: " << ene_ini.
diph_regular <<
" post_conv_switch: " << ene_postconv_switch.
diph_regular <<
" post_conv_dying: " << ene_postconv_dying.
diph_regular <<
" post_conv_small_nascent: " << ene_postconv_small_nascent.
diph_regular <<
" post_diff_regular: " << ene_postdiff_regular.
diph_regular <<
" post_diff_dying: " << ene_postdiff_dying.
diph_regular <<
" post_diff_small: " << ene_postdiff_small.
diph_regular << finl;
537 Cerr <<
"T_Budget, diph_nascent.. time: " << current_time <<
" initial: " << ene_ini.
diph_nascent <<
" post_conv_switch: " << ene_postconv_switch.
diph_nascent <<
" post_conv_dying: " << ene_postconv_dying.
diph_nascent <<
" post_conv_small_nascent: " << ene_postconv_small_nascent.
diph_nascent <<
" post_diff_regular: " << ene_postdiff_regular.
diph_nascent <<
" post_diff_dying: " << ene_postdiff_dying.
diph_nascent <<
" post_diff_small: " << ene_postdiff_small.
diph_nascent << finl;
538 Cerr <<
"T_Budget, diph_dying.... time: " << current_time <<
" initial: " << ene_ini.
diph_dying <<
" post_conv_switch: " << ene_postconv_switch.
diph_dying <<
" post_conv_dying: " << ene_postconv_dying.
diph_dying <<
" post_conv_small_nascent: " << ene_postconv_small_nascent.
diph_dying <<
" post_diff_regular: " << ene_postdiff_regular.
diph_dying <<
" post_diff_dying: " << ene_postdiff_dying.
diph_dying <<
" post_diff_small: " << ene_postdiff_small.
diph_dying << finl;
560 Cut_field_double& cut_field_temperature =
static_cast<Cut_field_double&
>(*temperature_);
563 Cerr <<
"Thermal Runge-Kutta3 time-step" << finl;
568 print_Tmin_Tmax_cut_cell(cut_field_temperature, 1, time,
"Temperature Min/Max apres etape Runge-Kutta (= etat final)");
575 dumplata_scalar_cut_cell(
true, lata_name,
Nom(
"TEMPERATURE_") +
Nom(idx) ,
temperature_, 0 );
581void cut_cell_reinit_streamObj(std::ostringstream& streamObj,
const double& param)
585 streamObj << (double) param;
590 const Cut_field_double& cut_field_temperature =
static_cast<const Cut_field_double&
>(*temperature_);
602 cut_field_total_velocity[0],
603 cut_field_total_velocity[1],
604 cut_field_total_velocity[2],
605 cut_field_d_temperature);
616 const Cut_field_double& cut_field_temperature =
static_cast<const Cut_field_double&
>(*temperature_);
617 Cut_field_double& cut_field_div_coeff_grad_T_volume =
static_cast<Cut_field_double&
>(*div_coeff_grad_T_volume_);
618 Cut_field_double& cut_field_d_temperature =
static_cast<Cut_field_double&
>(*d_temperature_);
680 cut_field_d_temperature,
688 cut_field_div_coeff_grad_T_volume.
copy_from(cut_field_d_temperature);
690 const double rho_l = ref_ijk_ft_cut_cell_->milieu_ijk().get_rho_liquid();
691 const double rho_v = ref_ijk_ft_cut_cell_->milieu_ijk().get_rho_vapour();
705 Cerr << heading << finl;
709 Cerr <<
"T_MinMax, overall time: " << current_time <<
" Tmin: " << Tmin.
overall <<
" Tmax: " << Tmax.
overall << finl;
713 Cerr <<
"T_MinMax, overall_l time: " << current_time <<
" Tmin: " << Tmin.
overall_l <<
" Tmax: " << Tmax.
overall_l << finl;
714 Cerr <<
"T_MinMax, overall_v time: " << current_time <<
" Tmin: " << Tmin.
overall_v <<
" Tmax: " << Tmax.
overall_v << finl;
715 Cerr <<
"T_MinMax, pure.......... time: " << current_time <<
" Tmin: " << Tmin.
pure <<
" Tmax: " << Tmax.
pure << finl;
716 Cerr <<
"T_MinMax, diph_l........ time: " << current_time <<
" Tmin: " << Tmin.
diph_l <<
" Tmax: " << Tmax.
diph_l << finl;
717 Cerr <<
"T_MinMax, diph_v........ time: " << current_time <<
" Tmin: " << Tmin.
diph_v <<
" Tmax: " << Tmax.
diph_v << finl;
718 Cerr <<
"T_MinMax, diph_small.... time: " << current_time <<
" Tmin: " << Tmin.
diph_small <<
" Tmax: " << Tmax.
diph_small << finl;
719 Cerr <<
"T_MinMax, diph_regular.. time: " << current_time <<
" Tmin: " << Tmin.
diph_regular <<
" Tmax: " << Tmax.
diph_regular << finl;
720 Cerr <<
"T_MinMax, diph_nascent.. time: " << current_time <<
" Tmin: " << Tmin.
diph_nascent <<
" Tmax: " << Tmax.
diph_nascent << finl;
721 Cerr <<
"T_MinMax, diph_dying.... time: " << current_time <<
" Tmin: " << Tmin.
diph_dying <<
" Tmax: " << Tmax.
diph_dying << finl;
748 ArrOfDouble& flux_normal_interp)
750 const int nb_facettes = ref_ijk_ft_->get_interface().maillage_ft_ijk().nb_facettes();
759 ref_ijk_ft_->get_interface().maillage_ft_ijk().desc_facettes().echange_espace_virtuel(
interfacial_phin_ai_);
766 for (
int fa7 = 0; fa7 < nb_facettes; fa7++)
768 interfacial_temperature(fa7) = 0.;
769 flux_normal_interp(fa7) = 0.;
772 else if (dimension_temp == nb_facettes)
774 for (
int fa7 = 0; fa7 < nb_facettes; fa7++)
782 Cerr <<
"IJK_Thermal_cut_cell::compute_interfacial_temperature2: Unexpected discrepancy in the number of facets." << finl;
@ Paroi_Temperature_imposee
CutCell_GlobalInfo compute_d_global_energy_cut_cell(bool next) const
void echange_espace_virtuel(int ghost)
void divide_by_scalar(_TYPE_ scalar_l, _TYPE_ scalar_v)
CutCell_GlobalInfo compute_min_cut_cell(bool next) const
const Cut_cell_FT_Disc & get_cut_cell_disc() const
void allocate_ephemere(Cut_cell_FT_Disc &cut_cell_disc, const Domaine_IJK &splitting, Domaine_IJK::Localisation loc, int ghost_size, int additional_k_layers=0, int nb_compo=1, bool external_storage=false, int monofluide=0, double rov=0., double rol=0., int use_inv_rho_in_pressure_solver=0)
void remplir_tableau_pure_cellules_diphasiques(bool next_time)
void allocate_persistant(Cut_cell_FT_Disc &cut_cell_disc, const Domaine_IJK &splitting, Domaine_IJK::Localisation loc, int ghost_size, int additional_k_layers=0, int nb_compo=1, bool external_storage=false, int monofluide=0, double rov=0., double rol=0., int use_inv_rho_in_pressure_solver=0)
void set_to_uniform_value(_TYPE_ valeur)
CutCell_GlobalInfo compute_max_cut_cell(bool next) const
void copy_from(const Cut_field_template< _TYPE_, _TYPE_ARRAY_ > &data)
void set_field_data(const Nom &parser_expression_of_x_y_z_and_t, const IJK_Field_template< _TYPE_, _TYPE_ARRAY_ > &input_f, const double current_time)
void echange_diph_vers_pure_cellules_finalement_pures()
CutCell_GlobalInfo compute_global_energy_cut_cell(bool next, double constant_l, double constant_v) const
Nom get_value_location(_TYPE_ T) const
static void verifier(const char *msg, const IJK_Field_float &)
This class encapsulates all the information related to the eulerian mesh for TrioIJK.
const Nom & le_nom() const override
Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
Class defining operators and methods for all reading operation in an input flow (file,...
std::shared_ptr< IJK_Field_double > div_coeff_grad_T_volume_
int type_temperature_convection_form_
Operateur_IJK_elem_conv temperature_convection_op_
IJK_Field_double temperature_ft_
IJK_Field_double u_T_convective_volume_
virtual void compute_temperature_init()
Operateur_IJK_elem_diff temperature_diffusion_op_
int rank_reprise_temperature_
IJK_Field_double rho_cp_T_
virtual void initialize(const Domaine_IJK &splitting)
IJK_Field_local_double boundary_flux_kmax_
IJK_Field_local_double boundary_flux_kmin_
virtual void set_param(Param ¶m) const override
int latastep_reprise_ini_
double get_rhocp_v() const
Boundary_Conditions_Thermique boundary_conditions_
bool conv_temperature_negligible_
virtual void recompute_temperature_init()
double get_rhocp_l() const
int imposer_flux_thermique_bord(const IJK_Field_double &temperature, const double flux_paroi_impose, IJK_Field_local_double &flux_bord, const bool bord_kmax)
std::shared_ptr< IJK_Field_double > d_temperature_
int calculer_flux_thermique_bord(const IJK_Field_double &temperature, const double lambda_de_t_paroi, const double T_paroi_impose, IJK_Field_local_double &flux_bord, const bool bord_kmax)
bool conserv_energy_global_
Nom fichier_reprise_temperature_
bool diff_temperature_negligible_
int timestep_reprise_temperature_
std::shared_ptr< IJK_Field_double > temperature_
bool postraiter_champs_intermediaires_
FixedVector< Cut_cell_double, 3 > cut_cell_flux_convection_
bool deactivate_diffusion_interface_
bool runge_kutta_fluxes_diffusion_
bool runge_kutta_fluxes_convection_
void compute_interfacial_temperature2(ArrOfDouble &interfacial_temperature, ArrOfDouble &flux_normal_interp) override
void compute_temperature_init() override
Cut_field_vector3_double current_fluxes_diff_
IJK_Field_double flux_interface_ft_scalar_old_
int runge_kutta_restriction_leniency_convection_
void recompute_temperature_init() override
void sauvegarder_temperature(Nom &lata_name, int idx, const int &stop=0) override
DoubleTabFT interfacial_phin_ai_
Cut_field_double temperature_post_convection_
FixedVector< Cut_cell_double, 3 > cut_cell_flux_diffusion_
bool runge_kutta_fluxes_pas_de_correction_convection_
void euler_time_step(const double timestep) override
IJK_Field_double flux_interface_ns_scalar_next_
void set_param(Param ¶m) const override
Cut_cell_diffusion_auxiliaire diffusive_correction_
Cut_field_int cellule_rk_restreint_conv_
DoubleTabFT_cut_cell_scalar flux_interface_efficace_scalar_
DoubleTabFT interfacial_temperature_
Cut_field_vector3_double RK3_F_fluxes_diff_
void print_Tmin_Tmax_cut_cell(const Cut_field_double &cut_field_temperature, bool next, double current_time, const std::string &heading)
void lire_temperature(const Domaine_IJK &splitting) override
Cut_field_double temperature_post_dying_
Cut_field_double temperature_post_regular_
Cut_field_int cellule_rk_restreint_diff_
int runge_kutta_restriction_leniency_diffusion_
void perform_thermal_step(double total_timestep, int flag_rk, int rk_step)
void add_temperature_diffusion() override
void update_thermal_properties() override
METHODE_FLUX_INTERFACE methode_flux_interface_
void initialize(const Domaine_IJK &splitting) override
Cut_cell_conv_scheme cut_cell_conv_scheme_
void compute_temperature_convection_cut_cell(const Cut_field_vector3_double &cut_field_total_velocity, Cut_field_double &cut_field_d_temperature)
Cut_field_double temperature_post_diff_regular_
void rk3_sub_step(const int rk_step, const double total_timestep, const double time) override
bool runge_kutta_fluxes_pas_de_correction_diffusion_
Cut_field_vector3_double RK3_F_fluxes_conv_
IJK_Field_double flux_interface_ns_scalar_old_
IJK_Field_double div_rho_cp_T_
IJK_Field_double flux_interface_ft_scalar_next_
Cut_cell_convection_auxiliaire convective_correction_
Cut_field_vector3_double current_fluxes_conv_
class Nom Une chaine de caractere pour nommer les objets de TRUST
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
Helper class to factorize the readOn method of Objet_U classes.
void ajouter_flag(const char *keyword, const bool *value)
Register a boolean flag whose mere presence switches it to true.
void dictionnaire(const char *option_name, int value)
Add an (option name, integer value) entry to the dictionary attached to a previously registered integ...
void ajouter(const char *keyword, const int *value, Param::Nature nat=Param::OPTIONAL)
Register an integer parameter.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
void resize_array(_SIZE_ new_size, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)