16#include <Op_Dift_Multiphase_proto.h>
17#include <Transport_turbulent_base.h>
18#include <Convection_Diffusion_std.h>
19#include <Pb_Multiphase.h>
20#include <Discret_Thyd.h>
25 le_chmp_compris_ = ch;
30void Op_Dift_Multiphase_proto::ajout_champs_(
const bool is_face)
39 for (
int i = 0; i < nb_phases; i++)
41 (
is_pbm_ ?
Nom(
"conductivite_turbulente_") + ref_cast(
Pb_Multiphase, pbm_.valeur()).nom_phase(i) :
Nom(
"conductivite_turbulente"));
49 for (
int i = 0; i < nb_phases; i++)
51 (
is_pbm_ ?
Nom(
"diffusivite_turbulente_") + ref_cast(
Pb_Multiphase, pbm_.valeur()).nom_phase(i) :
Nom(
"diffusivite_turbulente"));
58 for (
int i = 0; i < nb_phases; i++)
64 if (opt == DESCRIPTION)
65 Cerr << classe <<
" : " << noms_compris << finl;
67 nom.add(noms_compris);
70void Op_Dift_Multiphase_proto::creer_champ_(
const Motcle& motlu,
const bool is_face)
79 Noms noms(1), unites(1);
91 const Discret_Thyd& dis = ref_cast(Discret_Thyd, pbm_->discretisation());
92 Noms noms(1), unites(1);
104 if (corr_ && ref_cast(Viscosite_turbulente_base, corr_.valeur()).gradu_required())
105 pbm_->creer_champ(
"gradient_vitesse");
109 if (corr_ && ref_cast(Transport_turbulent_base, corr_.valeur()).gradu_required())
110 pbm_->creer_champ(
"gradient_vitesse");
123void Op_Dift_Multiphase_proto::mettre_a_jour_(
const double temps,
const bool is_face)
125 const int N =
is_pbm_ ? ref_cast(Pb_Multiphase, pbm_.valeur()).nb_phases() : 1;
126 for (
int n = 0; n < N; n++)
135 for (
int i = 0; i < nl; i++)
147 const DoubleTab& rho = pbm_->milieu().masse_volumique().passe();
151 for (
int i = 0; i < nl; i++)
156 const DoubleTab& cp = pbm_->milieu().capacite_calorifique().passe();
158 for (
int i = 0; i < nl; i++)
DoubleTab & valeurs() override
Returns the array of field values at the current time.
class Discret_Thyd This class is the base class representing a discretization
void discretiser_champ(const Motcle &directive, const Domaine_dis_base &z, const Nom &nom, const Nom &unite, int nb_comp, int nb_pas_dt, double temps, OWN_PTR(Champ_Inc_base)&champ, const Nom &sous_type=NOM_VIDE) const
virtual void creer_tableau_elements(Array_base &, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT) const
Creates a parallel array of values at elements.
const Domaine & domaine() const
virtual const Champ_Inc_base & inconnue() const =0
Domaine_dis_base & domaine_dis()
Returns the discretized domain associated with the equation.
const Equation_base & equation() const
Returns the reference to the equation pointed to by MorEqn::mon_equation.
A character string (Nom) in uppercase.
int rang(const char *const ch) const
class Nom: a character string for naming TRUST objects.
An array of character strings (VECT(Nom)).
void associer_proto(const Probleme_base &, Champs_compris &)
Motcles noms_nu_ou_lambda_turb_post_
DoubleTab nu_ou_lambda_turb_
Motcles noms_mu_ou_alpha_turb_post_
void get_noms_champs_postraitables_proto(const Nom &, Noms &nom, Option opt) const
std::vector< OWN_PTR(Champ_Fonc_base)> nu_ou_lambda_turb_post_
std::vector< OWN_PTR(Champ_Fonc_base)> mu_ou_alpha_turb_post_
Operateur_Diff_base This class is the base of the hierarchy of operators representing.
Multiphase thermohydraulics problem of type "3*N equations":
class Probleme_base It is a Probleme_U that is not a coupling.
_SIZE_ dimension(int d) const