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
Renvoie le tableau des valeurs du champ au temps courant.
classe Discret_Thyd Cette classe est la classe de base representant une discretisation
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
creation d'un tableau parallele de valeurs aux elements.
const Domaine & domaine() const
virtual const Champ_Inc_base & inconnue() const =0
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
Une chaine de caractere (Nom) en majuscules.
int rang(const char *const ch) const
class Nom Une chaine de caractere pour nommer les objets de TRUST
Un tableau de chaine de caracteres (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_
classe Operateur_Diff_base Cette classe est la base de la hierarchie des operateurs representant
classe Pb_Multiphase Cette classe represente un probleme de thermohydraulique multiphase de type "3*N...
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
_SIZE_ dimension(int d) const