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
Overrides Champ_base::valeurs() Returns the array of values.
: class Champ_Face_PolyMAC_MPFA
class Champ_Fonc_Elem_PolyMAC_MPFA_TC for the calculation of the shear rate
void associer_champ(const Champ_Face_PolyMAC_MPFA &ch)
class Champ_Fonc_Elem_PolyMAC_MPFA_rot for the calculation of the vorticity.
void associer_champ(const Champ_Face_PolyMAC_MPFA &cha)
int fixer_nb_valeurs_nodales(int n) override
Sets the number of degrees of freedom per component.
class Champ_Fonc_base Base class of fields that are functions of a calculated quantity
void associer_domaine_dis_base(const Domaine_dis_base &) override
const Domaine_dis_base & domaine_dis_base() const override
DoubleTab & valeurs() override
Returns the array of field values at the current time.
virtual double changer_temps(const double t)
Sets the time at which the field is defined.
double temps() const
Returns the time of the field.
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
Class defining operators and methods for all reading operation in an input flow (file,...
virtual void fixer_nb_comp(int i)
Sets the number of components of the field.
const Nom & le_nom() const override
Returns the name of the field.
void nommer(const Nom &) override
Gives a name to the field.
virtual const Nom & fixer_unite(const Nom &)
Specifies the unit of a scalar field or whose all components have the same unit.
virtual Nature_du_champ fixer_nature_du_champ(Nature_du_champ nat)
Sets the nature of a field: scalar, multiscalar, vectorial.
virtual const Nom & fixer_nom_compo(int, const Nom &)
Sets the name of the i-th component of the field.
A character string (Nom) in uppercase.
class Nom: a character string for naming TRUST objects.
virtual int debute_par(const char *const n) const
An array of character strings (VECT(Nom)).
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
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
Discretizes a field for PolyMAC_HFV based on a discretization directive.
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()
Abort routine for TRUST on a fatal error.
Base class for output streams.
class grad_Champ_Face_PolyMAC_MPFA for the calculation of the gradient.
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
Sets the number of degrees of freedom per component.