16#ifndef IJK_Thermal_cut_cell_included
17#define IJK_Thermal_cut_cell_included
19#include <IJK_Thermal_base.h>
20#include <IJK_Field_vector.h>
22#include <Boundary_Conditions_Thermique.h>
23#include <Domaine_IJK.h>
26#include <IJK_Lata_writer.h>
27#include <OpConvQuickIJKScalar.h>
28#include <OpConvCentre2IJKScalar.h>
29#include <Ouvrir_fichier.h>
31#include <Operateur_IJK_elem_diff_base.h>
32#include <OpConvAmontIJK.h>
33#include <OpConvDiscQuickIJKScalar.h>
34#include <OpConvCentre4IJK.h>
35#include <Cut_cell_correction_petites_cellules.h>
36#include <Cut_cell_convection_auxiliaire.h>
37#include <Cut_cell_diffusion_auxiliaire.h>
56 void rk3_sub_step(
const int rk_step,
const double total_timestep,
const double time)
override;
61 Cerr <<
"I want to make sure the function compute_global_energy is not used." << finl;
65 void print_Tmin_Tmax_cut_cell(
const Cut_field_double& cut_field_temperature,
bool next,
double current_time,
const std::string& heading);
70 Cut_field_double& cut_field_temperature =
static_cast<Cut_field_double&
>(*temperature_);
92 Cut_field_double& cut_field_temperature =
static_cast<Cut_field_double&
>(*temperature_);
114 Cut_field_double& cut_field_temperature =
static_cast<Cut_field_double&
>(*temperature_);
136 Cut_field_double& cut_field_temperature =
static_cast<Cut_field_double&
>(*temperature_);
158 Cut_field_double& cut_field_temperature =
static_cast<Cut_field_double&
>(*temperature_);
void copie_pure_vers_diph_sans_interpolation()
void remplir_tableau_pure_cellules_diphasiques(bool next_time)
void vide_phase_invalide_cellules_diphasiques()
void echange_pure_vers_diph_cellules_initialement_pures()
void echange_diph_vers_pure_cellules_finalement_pures()
This class encapsulates all the information related to the eulerian mesh for TrioIJK.
bool postraiter_champs_intermediaires_
FixedVector< Cut_cell_double, 3 > cut_cell_flux_convection_
bool deactivate_diffusion_interface_
void copie_pure_vers_diph_sans_interpolation() override
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_
void correct_temperature_for_eulerian_fluxes() override
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 calculer_flux_interface()
void euler_time_step(const double timestep) override
double compute_global_energy() 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_
friend class Postprocessing_IJK
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
OBS_PTR(Probleme_FTD_IJK_cut_cell) ref_ijk_ft_cut_cell_
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)
void echange_pure_vers_diph_cellules_initialement_pures() override
Cut_field_double temperature_post_diff_regular_
void rk3_sub_step(const int rk_step, const double total_timestep, const double time) override
void remplir_tableau_pure_cellules_diphasiques(bool next_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_
void echange_diph_vers_pure_cellules_finalement_pures() override
IJK_Field_double div_rho_cp_T_
void compute_diffusion_increment() override
void vide_phase_invalide_cellules_diphasiques() override
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
Helper class to factorize the readOn method of Objet_U classes.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.