16#ifndef IJK_Thermal_base_included
17#define IJK_Thermal_base_included
20#include <IJK_Field_vector.h>
22#include <Boundary_Conditions_Thermique.h>
23#include <Domaine_IJK.h>
25#include <IJK_Lata_writer.h>
26#include <Operateur_IJK_elem_conv.h>
27#include <Operateur_IJK_elem_diff.h>
28#include <OpGradCentre2IJKScalar.h>
29#include <OpHessCentre2IJKScalar.h>
30#include <OpGradQuickIJKScalar.h>
31#include <Ouvrir_fichier.h>
32#include <Corrige_flux_FT_base.h>
34#include <IJK_Ghost_Fluid_Fields.h>
35#include <IJK_One_Dimensional_Subproblems_Interfaces_Fields.h>
36#include <Fluide_Diphasique_IJK.h>
84 void retrieve_ghost_fluid_params(
int& compute_distance,
int& compute_curvature,
int& n_iter_distance,
int& avoid_gfm_parallel_calls);
85 void get_boundary_fluxes(IJK_Field_local_double& boundary_flux_kmin, IJK_Field_local_double& boundary_flux_kmax);
88 const double total_timestep,
94 const double fractionnal_timestep,
const double time) { };
102 const double lambda_de_t_paroi,
103 const double T_paroi_impose,
104 IJK_Field_local_double& flux_bord,
105 const bool bord_kmax);
107 const double flux_paroi_impose,
108 IJK_Field_local_double& flux_bord,
109 const bool bord_kmax);
413 int& fill_rising_velocities,
414 int& use_bubbles_velocities_from_interface,
415 int& use_bubbles_velocities_from_barycentres);
417 virtual double get_rho_cp_u_ijk(
const IJK_Field_double& vx,
int i,
int j,
int k)
const;
436 ArrOfDouble& interfacial_temperature,
437 ArrOfDouble& flux_normal_interp);
450 const Nom& shell_quantities_thermal_probes,
451 const Nom& overall_bubbles_quantities,
452 const Nom& local_quantities_thermal_probes_time_index_folder) { }
458 const char *lata_name,
469 void post_process_std_thermal_field(
const Motcles& liste_post_instantanes,
const char *lata_name,
const int latastep,
const double current_time,
const int idx,
const Motcles& tested_names,
const Nom& name_field,
const Motcle& lata_suffix,
const IJK_Field_double& field, std::ostringstream& oss,
int& counter,
const int& first_thermal_rank = 0);
482 void thermal_subresolution_outputs(
const Nom& interfacial_quantities_thermal_probes,
const Nom& shell_quantities_thermal_probes,
const Nom& overall_bubbles_quantities,
const Nom& local_quantities_thermal_probes_time_index_folder,
const Nom& local_quantities_thermal_slices_time_index_folder,
const Nom& local_quantities_thermal_lines_time_index_folder);
503 void calculer_dT(
const IJK_Field_vector3_double& velocity);
549 IJK_Field_vector3_double& grad_T);
568 const IJK_Interfaces& interfaces,
double nb_diam,
int upstream_dir,
569 int gravity_dir,
int upstream_stencil);
639 double kl_ = -100000000000000.;
640 double kv_ = -200000000000000.;
: class Boundary_Conditions_Thermique
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
Same as Champs_compris, but specialised for IJK fields and also supports quering for vectorial fields...
const Noms liste_noms_compris() const
: class Corrige_flux_FT API pour modifier un champ de flux à partir de donnees à l'interface....
This class encapsulates all the information related to the eulerian mesh for TrioIJK.
Class defining operators and methods for all reading operation in an input flow (file,...
Operateur_IJK_elem_conv rho_cp_convection_op_
virtual void set_thermal_subresolution_outputs(const Nom &interfacial_quantities_thermal_probes, const Nom &shell_quantities_thermal_probes, const Nom &overall_bubbles_quantities, const Nom &local_quantities_thermal_probes_time_index_folder)
virtual void compute_ghost_cell_numbers_for_subproblems(const Domaine_IJK &splitting, int ghost_init)
const IJK_Field_vector3_double & get_gradient_temperature_elem() const
const IJK_Field_vector3_double & get_tangential_gradient_temperature_elem_smooth() const
const IJK_Field_vector3_double & get_hessian_diag_temperature_elem() const
bool has_champ(const Motcle &nom, OBS_PTR(Champ_base)&ref_champ) const
virtual void echange_pure_vers_diph_cellules_initialement_pures()
virtual const IJK_Field_vector3_double & get_cell_faces_neighbours_corrected_convective_frame_of_ref() const
void set_fichier_reprise(const char *lataname)
virtual double compute_global_energy()
virtual const IJK_Field_vector3_double & get_cell_faces_neighbours_corrected_diffusive() const
IJK_Field_vector3_double div_coeff_grad_T_raw_
virtual void calculer_ecart_T_ana()
const int & get_latastep_reprise() const
int posttraiter_champs_instantanes_thermal(const Motcles &liste_post_instantanes, const char *lata_name, const int latastep, const double current_time, const int idx)
IJK_Field_double dummy_double_field_
const IJK_Field_double * eulerian_rising_velocities_
const IJK_Field_vector3_double & get_normal_vector_ft() const
const IJK_Field_double & get_grad_T_interface_ns() const
OpHessFluxCentre2IJKScalar_double temperature_hess_flux_op_centre_
static void typer_lire_thermal_equation(OWN_PTR(IJK_Thermal_base)&, Entree &)
virtual const IJK_Field_double & get_neighbours_temperature_colinearity_weighting() const
void compute_eulerian_curvature()
const IJK_Field_double * eulerian_interfacial_area_ns_
const DoubleTab * bubbles_barycentres_old_
int posttraiter_champs_instantanes_thermal_interface_ref(const Motcles &liste_post_instantanes, const char *lata_name, const int latastep, const double current_time, const int idx)
bool gfm_vapour_liquid_vapour_
void add_temperature_source()
const Noms noms_compris() const
const IJK_Field_int * eulerian_compo_connex_from_interface_ghost_int_ns_
bool store_flux_operators_for_energy_balance_
const IJK_Field_double * eulerian_curvature_ns_
virtual void correct_temperature_for_eulerian_fluxes()=0
const IJK_Field_double & get_eulerian_compo_connex_ft() const
const IJK_Field_double * eulerian_compo_connex_from_interface_ns_
const Motcles & get_thermal_suffix() const
void compute_mixed_cells_number(const IJK_Field_double &indicator)
const IJK_Field_int * eulerian_compo_connex_from_interface_int_ns_
std::shared_ptr< IJK_Field_double > div_coeff_grad_T_volume_
void calculer_Nusselt(const IJK_Field_double &vx)
IJK_Field_vector3_double grad_T_elem_smooth_
IJK_Field_double d_source_Tv_
void compute_eulerian_bounding_box_fill_compo()
virtual const IJK_Field_vector3_double & get_interfacial_heat_flux_dispatched() const
int type_temperature_convection_form_
virtual double get_rho_cp_u_ijk(const IJK_Field_double &vx, int i, int j, int k) const
virtual void initialize_switch(const Domaine_IJK &splitting, const int idx)
Nom thermal_problem_type_
const DoubleTab * bounding_box_
virtual const IJK_Field_vector3_double & get_cell_faces_corrected_diffusive() const
const IJK_Field_vector3_double & get_gradient_temperature_elem_smooth() const
virtual const IJK_Field_double & get_debug_lrs_cells() const
const Vecteur3 * liquid_velocity_
virtual void rk3_sub_step(const int rk_step, const double total_timestep, const double time)
const IJK_Field_double & get_eulerian_compo_connex_ghost_ns() const
const IJK_Field_double & get_temperature_adim_theta() const
int compute_grad_T_interface_
bool use_bubbles_velocities_from_barycentres_
const DoubleTab * min_max_larger_box_
bool gfm_recompute_field_ini_
virtual void compute_convective_fluxes_face_centre()
const DoubleTab * bubbles_barycentres_new_
virtual void compute_diffusion_increment()=0
bool use_bubbles_velocities_from_interface_
Champs_compris_IJK champs_compris_
virtual const IJK_Field_vector3_double & get_cell_faces_neighbours_corrected_velocity_temperature() const
Operateur_IJK_elem_conv temperature_convection_op_
int fill_rising_velocities_
const IJK_Field_double & get_eulerian_compo_connex_ns() const
const IJK_Field_double & get_ecart_t_ana() const
virtual bool get_conserv_energy_global()
const IJK_Field_double * eulerian_compo_connex_from_interface_ghost_ns_
IJK_Field_double temperature_ft_
virtual const IJK_Field_int & get_cell_neighbours_corrected() const
const IJK_Field_double & get_eulerian_compo_connex_ghost_ft() const
virtual void compute_diffusive_fluxes_face_centre()
void compute_temperature_diffusive_fluxes()
IJK_Field_vector3_double hess_diag_T_elem_
IJK_Field_double u_T_convective_volume_
void propagate_eulerian_grad_T_interface()
const IJK_Field_double & get_IJK_field(const Motcle &nom) override
IJK_Field_int dummy_int_field_
void associer_interface_intersections(const Intersection_Interface_ijk_cell &intersection_ijk_cell, const Intersection_Interface_ijk_face &intersection_ijk_face)
virtual const IJK_Field_vector3_double & get_cell_faces_corrected_convective() const
void associer_post(const Postprocessing_IJK &ijk_ft_post)
Operateur_IJK_elem_conv temperature_convection_op_uncorrected_
IJK_Field_vector3_double grad_T_
virtual void compute_convective_diffusive_fluxes_face_centre()
void calculer_temperature_physique_T(const IJK_Field_double &vx, const double dTm)
const IJK_Field_double * eulerian_distance_ns_
virtual void correct_temperature_for_visu()
virtual const IJK_Field_double & get_temperature_cell_neighbours_debug() const
virtual void compute_temperature_init()
int gfm_vapour_mixed_only_
void set_fichier_sauvegarde(const char *lataname)
Operateur_IJK_elem_diff temperature_diffusion_op_
void compute_temperature_hessian_diag_elem()
virtual const IJK_Field_vector3_int & get_cell_faces_neighbours_corrected_min_max_bool() const
Nom get_field_name_with_rank(Nom basename) const
const IJK_Field_double & get_grad_T_interface_ft() const
OBS_PTR(Intersection_Interface_ijk_face) ref_intersection_ijk_face_
virtual void update_thermal_properties()
void retrieve_ghost_fluid_params(int &compute_distance, int &compute_curvature, int &n_iter_distance, int &avoid_gfm_parallel_calls)
virtual void post_process_thermal_downstream_lines(const Nom &local_quantities_thermal_lines_time_index_folder)
int rank_reprise_temperature_
Nom expression_source_temperature_
const IJK_Field_vector3_double & get_gradient_temperature() const
const IJK_Field_double * eulerian_compo_connex_from_interface_ft_
virtual void clip_temperature_values()
double compute_variable_wall_temperature(const int kmin, const int kmax)
int posttraiter_champs_instantanes_thermal_interface(const Motcles &liste_post_instantanes, const char *lata_name, const int latastep, const double current_time, const int idx)
const IJK_Field_double * eulerian_compo_connex_ft_
int compute_hess_diag_T_elem_
OBS_PTR(Postprocessing_IJK) ref_ijk_ft_post_
OWN_PTR(Corrige_flux_FT_base) corrige_flux_
IJK_Field_double u_T_convective_
const IJK_Field_double & get_interfacial_area_ns() const
virtual void store_temperature_before_extrapolation()
virtual void compute_temperature_cell_centres(const int first_corr)
const IJK_Field_double & get_eulerian_curvature_ns() const
virtual void echange_diph_vers_pure_cellules_finalement_pures()
IJK_Field_double rho_cp_T_
OBS_PTR(Intersection_Interface_ijk_cell) ref_intersection_ijk_cell_
IJK_Field_double div_rho_cp_T_
virtual double get_div_lambda_ijk(int i, int j, int k) const
void ecrire_statistiques_bulles(int reset, const Nom &nom_cas, const double current_time, const ArrOfDouble &surface, const int idx)
const DoubleTab * rising_vectors_from_barycentres_
void get_noms_champs_postraitables(Noms &noms, Option opt=NONE) const
virtual void vide_phase_invalide_cellules_diphasiques()
const IJK_Field_vector3_double * eulerian_facets_barycentre_ft_
IJK_Field_vector3_double grad_T_elem_tangential_
const IJK_Field_double & get_u_T_convective() const
const IJK_Field_double * eulerian_compo_connex_ghost_ns_
double gaussian_smoothing_factors_[3][3][3]
const IJK_Field_double * eulerian_compo_connex_ghost_ft_
Motcles liste_post_instantanes_
bool avoid_gfm_parallel_calls_
void copy_previous_interface_state()
virtual void post_process_thermal_wake_slices(const Nom &local_quantities_thermal_slices_time_index_folder)
virtual const IJK_Field_vector3_double & get_neighbours_faces_weighting_colinearity() const
virtual const IJK_Field_vector3_double & get_cell_faces_neighbours_corrected_convective() const
const double & get_E0() const
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ghost_ft() const
IJK_Field_double d_source_Tl_
IJK_Field_double source_temperature_v_
double sharpen_smoothing_factors_[3][3][3]
virtual void compute_thermal_subproblems()
IJK_Field_double temperature_ana_
const int & get_ghost_cells() const
OpGradFluxQuickIJKScalar_double temperature_grad_flux_op_quick_
std::shared_ptr< IJK_Field_double > RK3_F_temperature_
IJK_Field_double & get_temperature_ft()
virtual const IJK_Field_vector3_double & get_interfacial_heat_flux_current() const
const IJK_Field_vector3_double * eulerian_facets_barycentre_ns_
virtual void initialize(const Domaine_IJK &splitting)
virtual void clean_thermal_subproblems()
bool compute_eulerian_compo_
void compute_eulerian_curvature_from_interface()
friend class IJK_One_Dimensional_Subproblem
void calculer_temperature_adim_bulles()
virtual const IJK_Field_double & get_probe_collision_debug_field() const
const IJK_Field_double & get_eulerian_rising_velocities() const
const int & get_latastep_reprise_ini() const
const IJK_Field_vector3_double * eulerian_normal_vectors_ns_normed_
bool gfm_zero_neighbour_value_mean_
IJK_Field_local_double boundary_flux_kmax_
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ft() const
virtual int get_first_step_thermals_post()
IJK_Field_local_double boundary_flux_kmin_
const IJK_Field_vector3_double & get_normal_vector_ns() const
void associer_milieu_base(const Milieu_base &, const int &idth)
double compute_timestep(const double timestep, const double dxmin)
const IJK_Field_double & get_ecart_t_ana_rel() const
virtual const IJK_Field_vector3_int & get_cell_faces_neighbours_corrected_all_bool() const
void thermal_subresolution_outputs(const Nom &interfacial_quantities_thermal_probes, const Nom &shell_quantities_thermal_probes, const Nom &overall_bubbles_quantities, const Nom &local_quantities_thermal_probes_time_index_folder, const Nom &local_quantities_thermal_slices_time_index_folder, const Nom &local_quantities_thermal_lines_time_index_folder)
virtual void enforce_periodic_temperature_boundary_value()
OBS_PTR(Milieu_base) le_fluide_
IJK_Field_double ecart_source_t_ana_
const IJK_Field_double * eulerian_interfacial_area_ft_
const IJK_Field_int & get_eulerian_compo_connex_int_from_interface_ns() const
const IJK_Field_double & get_div_lambda_grad_T() const
virtual void compute_temperature_convection_conservative(const IJK_Field_vector3_double &velocity)
virtual void clean_ijk_intersections()
const IJK_Field_double & get_temperature_ana() const
const IJK_Field_vector3_double * eulerian_normal_vectors_ft_
void calculer_source_temperature_ana()
virtual void prepare_ij_fluxes_k_layers()
virtual void compute_interfacial_temperature2(ArrOfDouble &interfacial_temperature, ArrOfDouble &flux_normal_interp)
IJK_Field_vector3_double grad_T_elem_
void compute_temperature_gradient_elem()
virtual const IJK_Field_vector3_double & get_interfacial_heat_flux_contrib() const
const IJK_Field_int & get_eulerian_compo_connex_int_from_interface_ghost_ns() const
void calculer_temperature_adimensionnelle_theta(const IJK_Field_double &vx, const double qw)
const Fluide_Diphasique_IJK & milieu_ijk() const
virtual void set_param(Param ¶m) const override
void calculer_dT(const IJK_Field_vector3_double &velocity)
void compute_eulerian_distance()
const Champs_compris_IJK & champs_compris() const
IJK_Field_vector3_int dummy_int_vect_
int latastep_reprise_ini_
virtual void set_field_T_ana()
void post_process_std_thermal_field(const Motcles &liste_post_instantanes, const char *lata_name, const int latastep, const double current_time, const int idx, const Motcles &tested_names, const Nom &name_field, const Motcle &lata_suffix, const IJK_Field_double &field, std::ostringstream &oss, int &counter, const int &first_thermal_rank=0)
IJK_Field_vector3_double hess_cross_T_elem_
const DoubleTab * rising_vectors_
virtual void clip_max_temperature_values()
OpGradCentre2IJKScalar_double temperature_grad_op_centre_
const char * get_fichier_sauvegarde() const
const Nom & get_fichier_reprise() const
void compute_min_cell_delta()
IJK_Field_double temperature_before_extrapolation_
virtual void rk3_rustine_sub_step(const int rk_step, const double total_timestep, const double fractionnal_timestep, const double time)
int compute_rising_velocities_
OBS_PTR(Probleme_FTD_IJK_base) ref_ijk_ft_
const IJK_Field_vector3_double & get_bary() const
double get_rhocp_v() const
IJK_One_Dimensional_Subproblems_Interfaces_Fields thermal_local_subproblems_interfaces_fields_
IJK_Field_double & set_temperature()
bool has_champ_vectoriel(const Motcle &nom) const override
const IJK_Field_double * eulerian_compo_connex_ns_
bool smoothing_remove_normal_compo_
const int & get_rank() const
const Vecteur3 * rising_velocity_overall_
Boundary_Conditions_Thermique boundary_conditions_
IJK_Field_double temperature_adimensionnelle_theta_
void enforce_zero_value_eulerian_curvature()
const std::shared_ptr< IJK_Field_double > & get_temperature() const
const DoubleTab * bubbles_barycentre_
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)
void force_upstream_temperature(IJK_Field_double &temperature, double T_imposed, const IJK_Interfaces &interfaces, double nb_diam, int upstream_dir, int gravity_dir, int upstream_stencil)
bool conv_temperature_negligible_
void associer_ghost_fluid_fields(const IJK_Ghost_Fluid_Fields &ghost_fluid_fields)
void associer_switch(const Switch_FT_double &ijk_ft_switch)
virtual void recompute_temperature_init()
const IJK_Ghost_Fluid_Fields * ghost_fluid_fields_
double get_rhocp_l() const
IJK_Field_double div_coeff_grad_T_volume_uncorrected_
virtual const IJK_Field_int & get_cell_neighbours_corrected_trimmed() const
IJK_Field_double eulerian_grad_T_interface_ns_
virtual void correct_operators_for_visu()
const IJK_Field_double * eulerian_compo_connex_from_interface_ghost_ft_
void set_latastep_reprise(const int latastep)
virtual void euler_time_step(const double timestep)
OBS_PTR(Switch_FT_double) ref_ijk_ft_switch_
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)
const Milieu_base & milieu() const
const IJK_Field_double & get_temperature_adim_bulles() const
const ArrOfDouble * bubbles_volume_
virtual const IJK_Field_double & get_temperature_cell_neighbours() const
std::shared_ptr< IJK_Field_double > d_temperature_
virtual void euler_rustine_step(const double timestep)
virtual void compare_fluxes_thermal_subproblems()
virtual const IJK_Field_vector3_int & get_cell_faces_corrected_bool() const
static void Fill_postprocessable_fields(std::vector< FieldInfo_t > &chps)
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)
const IJK_Field_double & get_eulerian_curvature_ft() const
void compute_temperature_hessian_cross_elem()
virtual void clip_min_temperature_values()
virtual double compute_rho_cp_u_mean(const IJK_Field_double &vx)
const Motcles & get_thermal_words() const
void enforce_zero_value_eulerian_distance()
virtual int get_disable_post_processing_probes_out_files() const
bool conserv_energy_global_
void get_boundary_fluxes(IJK_Field_local_double &boundary_flux_kmin, IJK_Field_local_double &boundary_flux_kmax)
Nom & get_thermal_problem_type()
virtual void lire_temperature(const Domaine_IJK &splitting)
const IJK_Field_vector3_double & get_normal_vector_ns_normed() const
Nom fichier_reprise_temperature_
Fluide_Diphasique_IJK & milieu_ijk()
virtual const IJK_Field_vector3_int & get_cell_faces_neighbours_corrected_diag_bool() const
const IJK_Field_double & get_temperature_before_extrapolation() const
bool diff_temperature_negligible_
void compute_cell_volume()
virtual void post_process_after_temperature_increment()
double direct_smoothing_factors_[7]
virtual void set_subproblems_interfaces_fields(const Domaine_IJK &splitting)
virtual void add_temperature_diffusion()
const IJK_Field_double * eulerian_distance_ft_
virtual void set_zero_temperature_increment()
IJK_Field_double source_temperature_l_
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ns() const
int calculate_local_energy_
IJK_Field_double div_coeff_grad_T_
virtual void sauvegarder_temperature(Nom &lata_name, int idx, const int &stop=0)
IJK_Field_double tmp_smoothing_field_
virtual void remplir_tableau_pure_cellules_diphasiques(bool next_time)
void compute_eulerian_grad_T_interface(const int on_splitting_ns=0)
double upstream_temperature_
virtual double get_modified_time()
void compute_temperature_convection(const IJK_Field_vector3_double &velocity)
Champs_compris_IJK_interface::FieldInfo_t FieldInfo_t
const ArrOfDouble * rising_velocities_
IJK_Field_vector3_double dummy_double_vect_
IJK_Field_double temperature_physique_T_
Operateur_IJK_elem_diff temperature_diffusion_op_uncorrected_
IJK_Field_double ecart_t_ana_rel_
IJK_Field_double source_temperature_
const IJK_Field_vector3_double & get_IJK_field_vector(const Motcle &nom) override
int timestep_reprise_temperature_
const IJK_Field_double & get_u_T_convective_volume() const
bool has_champ(const Motcle &nom) const override
const IJK_Field_double & get_eulerian_distance_ns() const
IJK_Field_double temperature_gaussian_filtered_
void compute_temperature_convective_fluxes(const IJK_Field_vector3_double &velocity)
void calculer_gradient_temperature(const IJK_Field_double &temperature, IJK_Field_vector3_double &grad_T)
const IJK_Field_double & get_interfacial_area_ft() const
bool disable_relative_velocity_energy_balance_
IJK_Field_double ecart_t_ana_
bool smoothing_use_unique_phase_
void calculer_energies(double &E_liq_pure, double &E_liq, double &E_vap_pure, double &E_vap, double &E_mixt, double &E_tot)
void enforce_max_value_eulerian_curvature()
void posttraiter_tous_champs_thermal(Motcles &liste, const int idx) const
IJK_Field_double d_temperature_uncorrected_
OpHessCentre2IJKScalar_double temperature_hess_op_centre_
virtual void copie_pure_vers_diph_sans_interpolation()
const IJK_Field_vector3_double & get_rho_cp_u_T_convective_fluxes() const
const std::shared_ptr< IJK_Field_double > & get_div_lambda_grad_T_volume() const
const IJK_Field_vector3_double & get_div_coeff_grad_T_diffusive_fluxes() const
void compute_boundary_conditions_thermal()
const IJK_Field_vector3_double & get_grad_T() const
const IJK_Field_double * eulerian_curvature_ft_
void associer(const Probleme_FTD_IJK_base &ijk_ft)
bool get_ghost_fluid_flag() const
IJK_Field_vector3_double facets_barycentre
IJK_Field_double source_temperature_ana_
IJK_Field_double temperature_adim_bulles_
void compute_rising_velocities()
void compute_eulerian_temperature_ghost(const int on_splitting_ns=0)
IJK_Field_vector3_double rho_cp_u_T_convective_raw_
virtual void correct_temperature_increment_for_interface_leaving_cell()
virtual double compute_temperature_dimensionless_theta_mean(const IJK_Field_double &vx)
const IJK_Field_vector3_double & get_hessian_cross_temperature_elem() const
std::shared_ptr< IJK_Field_double > temperature_
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ghost_ns() const
IJK_Field_double temperature_for_ini_per_bubble_
const IJK_Field_vector3_double * eulerian_normal_vectors_ns_
IJK_Field_double eulerian_grad_T_interface_ft_
void compute_cell_diagonal(const Domaine_IJK &splitting)
IJK_Field_vector3_double storage_
const IJK_Field_double & get_eulerian_distance_ft() const
const ArrOfDouble * rising_velocities_from_barycentres_
friend class IJK_One_Dimensional_Subproblems
const IJK_Field_double & get_temperature_elem_smooth() const
virtual void update_intersections()
int compute_hess_cross_T_elem_
int calculer_k_pour_bord(const IJK_Field_double &temperature, const bool bord_kmax)
int post_process_quantities_from_subresolution(const Motcles &liste_post_instantanes, const char *lata_name, const int latastep)
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)).
Objet_U()
Default constructor: assigns a unique identifier to the object (object_id_) and registers the object ...
Helper class to factorize the readOn method of Objet_U classes.