16#ifndef Transport_Marqueur_FT_included
17#define Transport_Marqueur_FT_included
19#include <Transport_Interfaces_FT_Disc.h>
20#include <Marqueur_FT.h>
22enum Methode_calcul_vp { INTERPOLEE, BILAN_QDM };
23enum Methode_couplage { SUIVI, ONE_WAY_COUPLING, TWO_WAY_COUPLING };
88 const int som,
int& face_bord,
111 inline int linject(
double temps)
const;
116 inline int ltransfo(
double temps)
const;
123 const int nb_compo_glob,
124 const DoubleTab& indic,
125 ArrOfDouble& volumes,
126 DoubleTab& positions);
129 const DoubleTab& positions,
130 ArrOfInt& flags_compo_a_supprimer);
136 const ArrOfInt& flags_compos_a_supprimer,
137 const DoubleTab& positions,
138 const ArrOfDouble& volumes);
172 inline const double&
dela_t()
const;
classe Champ_Fonc_base Classe de base des champs qui sont fonction d'une grandeur calculee
classe Champ_base Cette classe est la base de la hierarchie des champs.
Class defining operators and methods for all reading operation in an input flow (file,...
: class Maillage_FT_Disc Cette classe decrit un maillage:
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
Un tableau de chaine de caracteres (VECT(Nom)).
Helper class to factorize the readOn method of Objet_U classes.
Classe qui porte les proprietes de particules.
Classe de base des flux de sortie.
Transport_Interfaces_FT_Disc()
constructeur par defaut
const Maillage_FT_Disc & maillage_inject() const
OBS_PTR(Probleme_base) probleme_base_
void transformer_particules()
const DoubleTab & grad_pression() const
int linject(double temps) const
void creer_champ(const Motcle &motlu) override
DoubleTab visco_dyn_fluide_som_
int sauvegarder(Sortie &) const override
On sauvegarde l'inconnue, puis les sources sur un flot de sortie.
int get_champ_post_FT(const Motcle &champ, Postraitement_base::Localisation loc, DoubleTab *ftab=0) const override
Cherche le champ discret aux interfaces dont le nom est "champ", et verifie qu'il peut etre postraite...
int ltransfo(double temps) const
OWN_PTR(Champ_Fonc_base) volume_particules_
int reprendre(Entree &) override
On reprend l'inconnue a partir d'un flot d'entree.
Methode_couplage methode_couplage_
const DoubleTab & vitesse_fluide() const
void mettre_a_jour(double temps) override
La valeur de l'inconnue sur le pas de temps a ete calculee.
void calcul_proprietes_geometriques(const IntVect &num_compo, const int nb_compo_glob, const DoubleTab &indic, ArrOfDouble &volumes, DoubleTab &positions)
const double & dela_t() const
void construction_ensemble_proprietes(const IntVect &num_compo, const int nb_compo, Maillage_FT_Disc &ens_points, Proprietes_part_vol &propri, const ArrOfInt &flags_compos_a_supprimer, const DoubleTab &positions, const ArrOfDouble &volumes)
const DoubleTab & calculer_valeurs_densite(DoubleTab &val_densite) const
const DoubleTab & visco_dyn_fluide() const
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
Entree & lire_transformation(Entree &is)
void calcul_vitesse_p(DoubleTab &deplacement) const
Entree & lire_injection(Entree &is)
const DoubleTab & source_stockage() const
DoubleTab vit_fluide_som_
void injecter(double temps)
const Champ_Inc_base & inconnue() const override
OWN_PTR(Champ_Fonc_base) densite_particules_
const double & temps_debut_integration() const
void completer() override
Complete la construction (initialisation) des objets : maillage_interface et proprietes_particules_.
void integrer_ensemble_lagrange(const double temps) override
void discretiser() override
Discretisation des champs: - indicatrice_ : champ scalaire discretise aux elements.
void update_tableaux_apres_transport(Maillage_FT_Disc &maillage, Proprietes_part_vol &proprietes)
OWN_PTR(Champ_Inc_base) champ_bidon_
const int & resol_implicite() const
DoubleTab rho_fluide_som_
int preparer_calcul() override
Tout ce qui ne depend pas des autres problemes eventuels.
bool has_champ(const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override
void update_delta_v(int n_deb, int n_fin, const Maillage_FT_Disc &ens_points, int calc=1)
const DoubleTab & rho_fluide() const
void transformation(Maillage_FT_Disc &maillage, Proprietes_part_vol &proprietes)
const Champ_base & get_champ(const Motcle &nom) const override
bool initTimeStep(double dt) override
Allocation et initialisation de l'inconnue et des CLs jusqu'a present+dt.
Entree & lire_cond_init(Entree &is) override
Lecture des conditions initiales dans un flot d'entree.
void calculer_proprietes_fluide_pos_particules(const Maillage_FT_Disc &ens_points)
Entree & lire_cl(Entree &) override
Lecture des conditions limites sur un flot d'entree.
void transformer(double temps)
const DoubleTab & calculer_valeurs_volumes(DoubleTab &val_volume) const
void get_noms_champs_postraitables(Noms &nom, Option opt=NONE) const override
double t_derniere_transfo_
void ajouter_points(const Maillage_FT_Disc &maillage_inject)
void preparer_tableaux_avant_transport(Maillage_FT_Disc &maillage, Proprietes_part_vol &proprietes)
void detection_groupes_a_supprimer(const ArrOfDouble &volumes, const DoubleTab &positions, ArrOfInt &flags_compo_a_supprimer)
double t_derniere_inject_
void resoudre_edo(DoubleTab &vitesse_p, DoubleTab &source_stockage, const double delta_t)
static void appliquer_reflexion_vitesse(const double x, const double y, const double z, const int som, int &face_bord, const Domaine_VF &domaine_vf, DoubleTab &vitesse)
DoubleTab source_stockage_
void injection(const Maillage_FT_Disc &maill_inject, const Proprietes_part_vol &propr_inject)
void set_param(Param &titi) const override
Methode_calcul_vp methode_calcul_vp_