16#include <Cut_cell_tools.h>
19#include <Cut_cell_FT_Disc.h>
20#include <IJK_Lata_writer.h>
22void dumplata_scalar_cut_cell(
int cut_cell_activated,
23 const char *filename,
const char *fieldname,
24 const std::shared_ptr<IJK_Field_double>& f,
int step)
26 if (cut_cell_activated)
28 Cut_field_double& cut_field_f =
static_cast<Cut_field_double&
>(*f);
33 dumplata_scalar(filename, fieldname, *f, step);
35 if (cut_cell_activated)
37 Cut_field_double& cut_field_f =
static_cast<Cut_field_double&
>(*f);
48void lire_dans_lata_cut_cell(
int cut_cell_activated,
49 const char *filename_with_path,
int tstep,
const char *geometryname,
const char *fieldname,
50 std::shared_ptr<IJK_Field_double>& f)
52 lire_dans_lata(filename_with_path, tstep, geometryname, fieldname, *f);
54 if (cut_cell_activated)
56 Cut_field_double& cut_field_f =
static_cast<Cut_field_double&
>(*f);
69void allocate_velocity(Cut_field_vector3_double& v,
const Domaine_IJK& s,
int ghost,
double DU)
71 v.
get_ptr(0) = std::make_shared<Cut_field_double>();
72 v.
get_ptr(1) = std::make_shared<Cut_field_double>();
73 v.
get_ptr(2) = std::make_shared<Cut_field_double>();
78 v[0].get_shear_BC_helpler().set_dU_(DU);
79 v[1].get_shear_BC_helpler().set_dU_(0.);
80 v[2].get_shear_BC_helpler().set_dU_(0.);
83void allocate_velocity_persistant(
Cut_cell_FT_Disc& cut_cell_disc, Cut_field_vector3_double& v,
const Domaine_IJK& s,
int ghost,
double DU)
85 allocate_velocity(v, s, ghost, DU);
87 v[0].associer_persistant(cut_cell_disc);
88 v[1].associer_persistant(cut_cell_disc);
89 v[2].associer_persistant(cut_cell_disc);
92void allocate_velocity_ephemere(
Cut_cell_FT_Disc& cut_cell_disc, Cut_field_vector3_double& v,
const Domaine_IJK& s,
int ghost,
double DU)
94 allocate_velocity(v, s, ghost, DU);
96 v[0].associer_ephemere(cut_cell_disc);
97 v[1].associer_ephemere(cut_cell_disc);
98 v[2].associer_ephemere(cut_cell_disc);
101void allocate_velocity_paresseux(
Cut_cell_FT_Disc& cut_cell_disc, Cut_field_vector3_double& v,
const Domaine_IJK& s,
int ghost,
double DU)
103 allocate_velocity(v, s, ghost, DU);
105 v[0].associer_paresseux(cut_cell_disc);
106 v[1].associer_paresseux(cut_cell_disc);
107 v[2].associer_paresseux(cut_cell_disc);
void fill_buffer_with_variable(const TRUSTTabFT< T > &array, int component=0) const
void fill_variable_with_buffer(TRUSTTabFT< T > &array, int component=0) const
IJK_Field_double & get_write_buffer() const
const Cut_cell_FT_Disc & get_cut_cell_disc() const
void remplir_tableau_pure_cellules_diphasiques(bool next_time)
TRUSTTabFT_cut_cell< _TYPE_ > diph_l_
void echange_pure_vers_diph_cellules_initialement_pures()
void echange_diph_vers_pure_cellules_finalement_pures()
TRUSTTabFT_cut_cell< _TYPE_ > diph_v_
This class encapsulates all the information related to the eulerian mesh for TrioIJK.
std::shared_ptr< IJK_Field_template< T, TRUSTArray< T > > > & get_ptr(int i)
class Nom Une chaine de caractere pour nommer les objets de TRUST