16#include <Champ_Fonc_Elem_PolyMAC_MPFA_TC.h>
17#include <Champ_Fonc_Elem_PolyMAC_MPFA_rot.h>
18#include <Champ_Fonc_Tabule_Elem_PolyMAC_CDO.h>
19#include <grad_Champ_Face_PolyMAC_MPFA.h>
20#include <PolyMAC_MPFA_discretisation.h>
21#include <Champ_Fonc_Elem_PolyMAC_CDO.h>
22#include <Domaine_Cl_PolyMAC_family.h>
23#include <Domaine_PolyMAC_MPFA.h>
24#include <Champ_Fonc_Tabule.h>
25#include <Schema_Temps_base.h>
26#include <Champ_Uniforme.h>
27#include <Equation_base.h>
28#include <DescStructure.h>
29#include <Milieu_base.h>
66 ch.typer(
"grad_Champ_Face_PolyMAC_MPFA");
73 ch_grad_u.
nommer(
"gradient_vitesse");
76 for (
int n = 0; n < ch_grad_u.
valeurs().line_size(); n++)
118 ch.typer(
"Champ_Fonc_Elem_PolyMAC_MPFA_TC");
123 ch_grad_u.
nommer(
"Taux_cisaillement");
126 for (
int n = 0; n < N; n++)
164 ch.typer(
"Champ_Fonc_Elem_PolyMAC_MPFA_rot");
169 ch_rot_u.
nommer(
"vorticite");
180 std::string nom_compo =
"vorticite";
183 std::vector<std::string> dir = {
"x",
"y",
"z" };
189 for (
int n = 0; n < N; n++)
194 ch_rot_u.
fixer_nom_compo(offset, nom_compo +
"_" + std::to_string(offset));
225 ch_name +=
"_residu";
226 Cerr <<
"Discretization of " << ch_name << finl;
231 Motcle loc =
"champ_face";
232 Noms nom(1), unites(1);
234 unites[0] =
"units_not_defined";
240 DoubleTab& tab = ch_fonc.
valeurs();
242 Cerr <<
"[Information] Discretisation_base::residu : the residue is set to -10000.0 at initial time" << finl;
DoubleTab & valeurs() override
Surcharge Champ_base::valeurs() Renvoie le tableau des valeurs.
: class Champ_Face_PolyMAC_MPFA
class Champ_Fonc_Elem_PolyMAC_MPFA_TC for the calculation of the shear rate (taux de cisaillement)
void associer_champ(const Champ_Face_PolyMAC_MPFA &ch)
class Champ_Fonc_Elem_PolyMAC_MPFA_rot for the calculation of the vorticity This field is a Champ_Fon...
void associer_champ(const Champ_Face_PolyMAC_MPFA &cha)
int fixer_nb_valeurs_nodales(int n) override
Fixe le nombre de degres de liberte par composante.
classe Champ_Fonc_base Classe de base des champs qui sont fonction d'une grandeur calculee
void associer_domaine_dis_base(const Domaine_dis_base &) override
const Domaine_dis_base & domaine_dis_base() const override
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
virtual double changer_temps(const double t)
Fixe le temps auquel se situe le champ.
double temps() const
Renvoie le temps du champ.
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Class defining operators and methods for all reading operation in an input flow (file,...
virtual void fixer_nb_comp(int i)
Fixe le nombre de composantes du champ.
const Nom & le_nom() const override
Renvoie le nom du champ.
void nommer(const Nom &) override
Donne un nom au champ.
virtual const Nom & fixer_unite(const Nom &)
Specifie l'unite d'un champ scalaire ou dont toutes les composantes ont la meme unite.
virtual Nature_du_champ fixer_nature_du_champ(Nature_du_champ nat)
Fixer la nature d'un champ: scalaire, multiscalaire, vectoriel.
virtual const Nom & fixer_nom_compo(int, const Nom &)
Fixe le nom de la i-eme composante du champ.
Une chaine de caractere (Nom) en majuscules.
class Nom Une chaine de caractere pour nommer les objets de TRUST
virtual int debute_par(const char *const n) const
Un tableau de chaine de caracteres (VECT(Nom)).
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
void residu(const Domaine_dis_base &z, const Champ_Inc_base &ch_inco, OWN_PTR(Champ_Fonc_base)&champ) const override
void discretiser_champ(const Motcle &directive, const Domaine_dis_base &z, Nature_du_champ nature, const Noms &nom, const Noms &unite, int nb_comp, int nb_pas_dt, double temps, OWN_PTR(Champ_Inc_base)&champ, const Nom &sous_type=NOM_VIDE) const override
Discretisation d'un champ pour le PolyMAC_HFV en fonction d'une directive de discretisation.
void grad_u(const Domaine_dis_base &z, const Domaine_Cl_dis_base &zcl, const Champ_Inc_base &ch_vitesse, OWN_PTR(Champ_Fonc_base)&ch) const override
Creates a velocity gradient field for PolyMAC_MPFA discretization.
void residu(const Domaine_dis_base &z, const Champ_Inc_base &ch_inco, OWN_PTR(Champ_Fonc_base)&champ) const override
Creates a residue field for equation solving diagnostics.
void creer_champ_vorticite(const Schema_Temps_base &, const Champ_Inc_base &, OWN_PTR(Champ_Fonc_base)&) const override
Creates a vorticity field for PolyMAC_MPFA discretization.
void taux_cisaillement(const Domaine_dis_base &, const Domaine_Cl_dis_base &, const Champ_Inc_base &, OWN_PTR(Champ_Fonc_base)&) const override
Creates a shear rate field for PolyMAC_MPFA discretization.
static void abort()
Routine de sortie de Trio-U sur une erreur abort().
Classe de base des flux de sortie.
class grad_Champ_Face_PolyMAC_MPFA for the calculation of the gradient This field is a Champ_Fonc_Fac...
void associer_champ(const Champ_Face_PolyMAC_MPFA &ch)
void associer_domaine_Cl_dis_base(const Domaine_Cl_dis_base &le_dom_Cl_dis_base)
int fixer_nb_valeurs_nodales(int n) override
Fixe le nombre de degres de liberte par composante.