16#ifndef IJK_Thermals_included
17#define IJK_Thermals_included
19#include <Champs_compris_IJK_interface.h>
20#include <Champs_compris_IJK.h>
21#include <IJK_Thermal_base.h>
22#include <TRUST_List.h>
91 void rk3_sub_step(
const int rk_step,
const double total_timestep,
const double time);
93 const double fractionnal_timestep,
const double time);
97 const char *lata_name,
99 const double current_time,
121 int& fill_rising_velocities,
122 int& use_bubbles_velocities_from_interface,
123 int& use_bubbles_velocities_from_barycentres);
131 const Nom& lata_name,
145 int size()
const {
return (
int)liste_thermique_.size(); }
146 int est_vide()
const {
return liste_thermique_.est_vide(); }
class Champ_base This class is the base of the fields hierarchy.
Similar to Champs_compris_interface but for IJK scalar and vector fields.
std::tuple< Motcle, Entity, Nature_du_champ, bool > FieldInfo_t
This class encapsulates all the information related to the eulerian mesh for TrioIJK.
class Equation_base The role of an equation is the calculation of one or more fields....
OWN_PTR(Parametre_equation_base) ¶metre_equation()
void thermal_subresolution_outputs(const int &dt_post_thermals_probes=0)
std::vector< int > lata_step_reprise_
void set_first_step_thermals_post(int &first_step_thermals_post)
void associer_switch(const Switch_FT_double &ijk_ft_switch)
void prepare_thermals(const char *lataname)
void associer_post(const Postprocessing_IJK &ijk_ft_post)
OBS_PTR(Postprocessing_IJK) ref_ijk_ft_post_
void create_folders_for_probes()
int preparer_calcul() override
Everything that does not depend on other possible problems.
void compute_ghost_cell_numbers_for_subproblems(const Domaine_IJK &splitting, int ghost_init)
const Fluide_Diphasique_IJK & milieu_ijk() const
void retrieve_ghost_fluid_params()
int get_disable_post_processing_probes_out_files() const
void ecrire_statistiques_bulles(int reset, const Nom &nom_cas, const double current_time, const ArrOfDouble &surface)
bool has_champ_vectoriel(const Motcle &nom) const override
void rk3_rustine_sub_step(const int rk_step, const double total_timestep, const double fractionnal_timestep, const double time)
void update_intersections()
Nom local_quantities_thermal_lines_time_index_folder_
void get_noms_champs_postraitables(Noms &noms, Option opt=NONE) const override
void set_post_pro_first_call()
void set_fichier_reprise(const char *lataname)
void vide_phase_invalide_cellules_diphasiques()
void set_temperature_ini()
void echange_diph_vers_pure_cellules_finalement_pures()
void get_rising_velocities_parameters(int &compute_rising_velocities, int &fill_rising_velocities, int &use_bubbles_velocities_from_interface, int &use_bubbles_velocities_from_barycentres)
OBS_PTR(Probleme_FTD_IJK_base) ref_ijk_ft_
Champs_compris_IJK_interface::FieldInfo_t FieldInfo_t
Nom local_quantities_thermal_probes_folder_
Nom shell_quantities_thermal_probes_folder_
void echange_pure_vers_diph_cellules_initialement_pures()
void set_param(Param &titi) const override
int get_probes_ghost_cells(int ghost_init)
Nom overall_bubbles_quantities_folder_
System make_dir_for_out_files_
void remplir_tableau_pure_cellules_diphasiques(bool next_time)
void associer_interface_intersections(const Intersection_Interface_ijk_cell &intersection_ijk_cell_, const Intersection_Interface_ijk_face &intersection_ijk_face_)
void associer_milieu_base(const Milieu_base &) override
int ini_folder_out_files_
const IJK_Field_vector3_double & get_IJK_field_vector(const Motcle &nom) override
bool has_champ(const Motcle &nom) const override
LIST(Nom) thermal_rank_folder_
void clean_ijk_intersections()
void sauvegarder_temperature(Nom &lata_name, const int &stop)
void initialize(const Domaine_IJK &splitting)
void euler_rustine_step(const double timestep)
void set_latastep_reprise(const bool stop)
void ecrire_fichier_reprise(SFichier &fichier, const char *lata_name)
void posttraiter_tous_champs_thermal(Motcles &liste_post_instantanes_)
void init_switch_thermals(const Domaine_IJK &splitting)
void copy_previous_interface_state()
const Champ_Inc_base & inconnue() const override
const Nom & get_fichier_reprise()
const LIST(OWN_PTR(IJK_Thermal_base)) &get_liste_eqs() const
Nom local_quantities_thermal_probes_time_index_folder_
const Operateur & operateur(int) const override
LIST(OWN_PTR(IJK_Thermal_base)) liste_thermique_
const IJK_Field_double & get_IJK_field(const Motcle &nom) override
Nom local_quantities_thermal_slices_folder_
static void Fill_postprocessable_fields(std::vector< FieldInfo_t > &chps)
std::vector< int > lata_step_reprise_ini_
OBS_PTR(Milieu_base) le_fluide_
void sauvegarder_thermals(SFichier &fichier)
Nom local_quantities_thermal_slices_time_index_folder_
int nombre_d_operateurs() const override
void split_name(const Motcle &nom, Nom &var, int &rank) const
OBS_PTR(Intersection_Interface_ijk_cell) ref_intersection_ijk_cell_
Operateur & operateur(int) override
int size_thermal_problem(Nom thermal_problem)
double get_modified_time()
OBS_PTR(Intersection_Interface_ijk_face) ref_intersection_ijk_face_
IJK_Ghost_Fluid_Fields ghost_fluid_fields_
Champ_Inc_base & inconnue() override
bool has_champ(const Motcle &nom, OBS_PTR(Champ_base)&ref_champ) const override
void posttraiter_champs_instantanes_thermal(const Motcles &liste_post_instantanes, const char *lata_name, const int latastep, const double current_time, int &n)
void update_thermal_properties()
void compute_new_thermal_field(Switch_FT_double &switch_double_ft, const Domaine_IJK &new_mesh, const Nom &lata_name, DoubleTab &coeff_i, IntTab Indice_i, DoubleTab &coeff_j, IntTab Indice_j, DoubleTab &coeff_k, IntTab Indice_k)
void compute_eulerian_distance_curvature()
Fluide_Diphasique_IJK & milieu_ijk()
void completer() override
Completes the construction (initialization) of objects associated with the equation.
void rk3_sub_step(const int rk_step, const double total_timestep, const double time)
void associer_pb_base(const Probleme_base &) override
Associates with the Problem passed as parameter.
void create_folders(Nom folder_name_base)
void compute_eulerian_curvature()
void compute_timestep(double &dt_thermals, const double dxmin)
Nom local_quantities_thermal_lines_folder_
Nom interfacial_quantities_thermal_probes_folder_
void compute_eulerian_distance()
void discretiser() override
Discretizes the equation.
LIST(OWN_PTR(IJK_Thermal_base)) &get_liste_eqs()
OBS_PTR(Switch_FT_double) ref_ijk_ft_switch_
void recompute_temperature_init()
void compute_eulerian_curvature_from_interface()
const Milieu_base & milieu() const override
void euler_time_step(const double timestep)
void copie_pure_vers_diph_sans_interpolation()
Milieu_base This class is the base of the (physical) medium hierarchy.
A character string (Nom) in uppercase.
An array of Motcle objects.
class Nom: a character string for naming TRUST objects.
An array of character strings (VECT(Nom)).
class Operateur Generic class of the operator hierarchy.
Helper class to factorize the readOn method of Objet_U classes.
class Probleme_base It is a Probleme_U that is not a coupling.
SFichier is to the C++ ofstream class what Sortie is to the C++ ostream class.