16#ifndef Cut_cell_schema_auxiliaire_included
17#define Cut_cell_schema_auxiliaire_included
19#include <FixedVector.h>
23#include <Cut_cell_correction_petites_cellules.h>
24#include <Maillage_FT_IJK.h>
29enum class METHODE_TEMPERATURE_REMPLISSAGE :
int
34 PONDERATION_DIRECTIONNELLE_VOISIN,
36 SEMI_LAGRANGIEN_INTERPOLATE
48 virtual double dying_cells_flux(
int num_face,
int phase,
int n,
const Cut_field_vector3_double& cut_field_total_velocity,
const Cut_field_double& cut_field_temperature) = 0;
49 virtual double small_nascent_cells_flux(
int num_face,
int phase,
int n,
const Cut_field_vector3_double& cut_field_total_velocity,
const Cut_field_double& cut_field_temperature) = 0;
51 void compute_flux_dying_cells(
const Cut_field_vector3_double& cut_field_total_velocity,
const Cut_field_double& cut_field_temperature);
55 void calcule_valeur_remplissage(
double timestep,
double lambda_liquid,
double lambda_vapour,
const IJK_Field_double& flux_interface_ns,
const ArrOfDouble& interfacial_temperature,
const IJK_Field_double& temperature_ft,
const Cut_field_vector3_double& cut_field_total_velocity,
const Cut_field_double& cut_field_temperature);
57 void add_dying_cells(
const Cut_field_vector3_double& cut_field_total_velocity, Cut_field_double& cut_field_temperature,
bool write_flux, Cut_field_vector3_double& cut_field_current_fluxes);
58 void add_small_nascent_cells(
const Cut_field_vector3_double& cut_field_total_velocity, Cut_field_double& cut_field_temperature,
bool write_flux, Cut_field_vector3_double& cut_field_current_fluxes);
62 void calcule_valeur_remplissage_ponderation_voisin(
bool est_directionnel,
const Cut_field_vector3_double& cut_field_total_velocity,
const Cut_field_double& cut_field_temperature, DoubleTabFT_cut_cell_scalar& valeur_remplissage);
63 void calcule_valeur_remplissage_semi_lagrangien(
double timestep,
double lambda_liquid,
double lambda_vapour,
const IJK_Field_double& flux_interface_ns,
const Cut_field_double& cut_field_temperature, DoubleTabFT_cut_cell_scalar& valeur_remplissage);
CORRECTION_PETITES_CELLULES correction_petites_cellules_
virtual double small_nascent_cells_flux(int num_face, int phase, int n, const Cut_field_vector3_double &cut_field_total_velocity, const Cut_field_double &cut_field_temperature)=0
DoubleTabFT_cut_cell_scalar temperature_remplissage_
void set_param(Param ¶m) const override
void compute_flux_dying_cells(const Cut_field_vector3_double &cut_field_total_velocity, const Cut_field_double &cut_field_temperature)
void add_dying_cells(const Cut_field_vector3_double &cut_field_total_velocity, Cut_field_double &cut_field_temperature, bool write_flux, Cut_field_vector3_double &cut_field_current_fluxes)
METHODE_TEMPERATURE_REMPLISSAGE methode_valeur_remplissage_
void initialise(Cut_cell_FT_Disc &cut_cell_disc)
virtual double dying_cells_flux(int num_face, int phase, int n, const Cut_field_vector3_double &cut_field_total_velocity, const Cut_field_double &cut_field_temperature)=0
void compute_flux_small_nascent_cells(const Cut_field_vector3_double &cut_field_total_velocity, Cut_field_double &cut_field_temperature)
void calcule_valeur_remplissage_semi_lagrangien_interpolate(double timestep, const ArrOfDouble &interfacial_temperature, const IJK_Field_double &temperature_ft, const Cut_field_double &cut_field_temperature, DoubleTabFT_cut_cell_scalar &valeur_remplissage)
int tolerate_not_within_tetrahedron_
DoubleTabFT_cut_cell_vector6 flux_naive_
void calcule_valeur_remplissage_copie_directe(const Cut_field_double &cut_field_temperature, DoubleTabFT_cut_cell_scalar &valeur_remplissage)
void calcule_valeur_remplissage_semi_lagrangien(double timestep, double lambda_liquid, double lambda_vapour, const IJK_Field_double &flux_interface_ns, const Cut_field_double &cut_field_temperature, DoubleTabFT_cut_cell_scalar &valeur_remplissage)
void calcule_valeur_remplissage(double timestep, double lambda_liquid, double lambda_vapour, const IJK_Field_double &flux_interface_ns, const ArrOfDouble &interfacial_temperature, const IJK_Field_double &temperature_ft, const Cut_field_vector3_double &cut_field_total_velocity, const Cut_field_double &cut_field_temperature)
void calcule_valeur_remplissage_ponderation_voisin(bool est_directionnel, const Cut_field_vector3_double &cut_field_total_velocity, const Cut_field_double &cut_field_temperature, DoubleTabFT_cut_cell_scalar &valeur_remplissage)
void add_small_nascent_cells(const Cut_field_vector3_double &cut_field_total_velocity, Cut_field_double &cut_field_temperature, bool write_flux, Cut_field_vector3_double &cut_field_current_fluxes)
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
Helper class to factorize the readOn method of Objet_U classes.