16#ifndef IJK_Ghost_Fluid_Fields_included
17#define IJK_Ghost_Fluid_Fields_included
20#include <IJK_Field_vector.h>
22#include <Champs_compris_IJK_interface.h>
23#include <Champs_compris_IJK.h>
62 const int& compute_curvature,
63 const int& n_iter_distance,
64 const int& avoid_gfm_parallel_calls,
65 const IJK_Field_local_double& boundary_flux_kmin,
66 const IJK_Field_local_double& boundary_flux_kmax)
classe Champ_base Cette classe est la base de la hierarchie des champs.
Similar to Champs_compris_interface but for IJK scalar and vector fields.
Same as Champs_compris, but specialised for IJK fields and also supports quering for vectorial fields...
This class encapsulates all the information related to the eulerian mesh for TrioIJK.
void enforce_zero_value_eulerian_curvature()
const IJK_Field_double & get_eulerian_distance_ns() const
const IJK_Field_double & get_IJK_field(const Motcle &nom) override
IJK_Field_local_double boundary_flux_kmin_
void get_noms_champs_postraitables(Noms &noms, Option opt=NONE) const
IJK_Field_double tmp_new_curv_val_
bool has_champ_vectoriel(const Motcle &nom) const override
IJK_Field_int tmp_propagated_cells_
IJK_Field_vector3_double tmp_old_vector_val_
IJK_Field_vector3_double dummy_double_vect_
IJK_Field_double eulerian_distance_ns_
IJK_Field_double eulerian_distance_ft_
const IJK_Field_double & get_dummy_double_field() const
static void Fill_postprocessable_fields(std::vector< FieldInfo_t > &chps)
IJK_Field_vector3_double eulerian_normal_vectors_ns_
const IJK_Field_double & get_eulerian_rising_velocities() const
IJK_Field_double eulerian_curvature_ft_
const IJK_Field_int & get_dummy_int_field() const
IJK_Field_vector3_double tmp_new_vector_val_
const IJK_Field_double & get_eulerian_distance_ft() const
const IJK_Field_vector3_double & get_eulerian_normal_vectors_ns_normed() const
IJK_Field_vector3_double eulerian_facets_barycentre_ft_
void enforce_zero_value_eulerian_distance()
IJK_Field_local_double boundary_flux_kmax_
IJK_Field_vector3_double eulerian_facets_barycentre_ns_
bool has_computed_distance_
IJK_Field_int tmp_interf_cells_
const IJK_Field_vector3_double & get_dummy_double_vect() const
const IJK_Field_double & get_eulerian_curvature_ns() const
IJK_Field_double tmp_old_curv_val_
IJK_Field_double eulerian_interfacial_area_ft_
bool has_champ(const Motcle &nom, OBS_PTR(Champ_base)&ref_champ) const
void reset_field_computations()
const IJK_Field_double & get_eulerian_interfacial_area_ft() const
IJK_Field_double tmp_new_dist_val_
int nb_cells_gfm_parallel_calls_
const IJK_Field_vector3_double & get_eulerian_facets_barycentre_ft() const
int avoid_gfm_parallel_calls_
IJK_Field_int dummy_int_field_
IJK_Field_double eulerian_rising_velocities_
void associer(const Probleme_FTD_IJK_base &ijk_ft)
void initialize(const Domaine_IJK &splitting)
FixedVector< ArrOfInt, 3 > propagated_cells_indices_
void enforce_max_value_eulerian_curvature()
void compute_eulerian_curvature()
IJK_Field_vector3_double eulerian_normal_vectors_ns_normed_
const IJK_Field_vector3_double & get_IJK_field_vector(const Motcle &nom) override
const IJK_Field_vector3_double & get_eulerian_normal_vectors_ns() const
OBS_PTR(Probleme_FTD_IJK_base) ref_ijk_ft_
IJK_Field_double eulerian_curvature_ns_
const IJK_Field_vector3_int & get_dummy_int_vect() const
void compute_eulerian_distance()
void compute_eulerian_curvature_from_interface()
IJK_Field_vector3_double eulerian_normal_vectors_ft_
bool has_champ(const Motcle &nom) const override
IJK_Field_double dummy_double_field_
IJK_Field_vector3_int dummy_int_vect_
IJK_Field_double tmp_old_dist_val_
const IJK_Field_vector3_double & get_eulerian_normal_vectors_ft() const
void retrieve_ghost_fluid_params(const int &compute_distance, const int &compute_curvature, const int &n_iter_distance, const int &avoid_gfm_parallel_calls, const IJK_Field_local_double &boundary_flux_kmin, const IJK_Field_local_double &boundary_flux_kmax)
FixedVector< ArrOfInt, 3 > gfm_first_cells_indices_
bool has_computed_curvature_
Champs_compris_IJK champs_compris_
const IJK_Field_vector3_double & get_eulerian_facets_barycentre_ns() const
const IJK_Field_double & get_eulerian_curvature_ft() const
const IJK_Field_double & get_eulerian_interfacial_area_ns() const
void enforce_distance_curvature_values_for_post_processings()
FixedVector< ArrOfInt, 3 > interf_cells_indices_
IJK_Field_double eulerian_interfacial_area_ns_
Une chaine de caractere (Nom) en majuscules.
Un tableau de chaine de caracteres (VECT(Nom)).
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...