16#include <Milieu_Incompressible_Phase_Field.h>
17#include <Pb_Cahn_Hilliard.h>
18#include <Cahn_Hilliard.h>
19#include <Discret_Thyd.h>
20#include <Fermeture_Thermo_base.h>
23#include <Champ_Uniforme.h>
46 if (mot ==
"mu_coefficients")
48 int nb = fermeture_->nb_parametres_d_ordre();
51 for (
int i = 0; i <= nb; i++)
80 rho_->initialiser(temps);
87 ch_nu_->changer_temps(temps);
88 ch_nu_->valeurs().echange_espace_virtuel();
99 rho_->changer_temps(temps);
105 ch_nu_->changer_temps(temps);
106 ch_nu_->valeurs().echange_espace_virtuel();
114 int i = (init) ? 0 : 1;
119 DoubleTab& rhoTab = rho_->valeurs();
122 for (i = 0; i < nb_elem; i++)
125 for (
int j = 0; j < nb_param; j++)
127 rhoTab(i) += beta_co(ib, j) * c(i, j);
130 tab_multiply_any_shape(rhoTab, ch_rho_->valeurs());
137 int i = (init) ? 0 : 1;
141 DoubleTab& muTab = ch_mu_->valeurs();
144 for (i = 0; i < nb_elem; i++)
146 for (
int j = 0; j < nb_param; j++)
150 muTab(i) = 1./muTab(i);
152 ch_mu_->valeurs().echange_espace_virtuel();
DoubleTab & valeurs() override
Overrides Champ_base::valeurs() Returns the array of values.
DoubleTab & futur(int i=1) override
Returns field values at instant t+i.
class Discretisation_base This class represents a spatial discretization scheme, which
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
Class defining operators and methods for all reading operation in an input flow (file,...
class Equation_base The role of an equation is the calculation of one or more fields....
virtual const Champ_Inc_base & inconnue() const =0
Represents an incompressible fluid and its properties:
void set_param(Param ¶m) const override
virtual void calculer_nu()
const Champ_Don_base & beta_c() const
void discretiser(const Probleme_base &pb, const Discretisation_base &dis) override
void calculer_mu(const bool init=false)
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
int initialiser(const double temps) override
Initializes the fluid parameters.
void mettre_a_jour(double temps) override
Performs a time update of the medium and therefore of its characteristic parameters.
DoubleVect mu_coefficients_
void calculer_rho(const bool init=false)
void set_param(Param ¶m) const override
virtual int initialiser(const double temps)
virtual const Equation_base & equation(const std::string &nom_inc) const
virtual void mettre_a_jour(double temps)
virtual void discretiser(const Probleme_base &pb, const Discretisation_base &dis)
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
Champs_compris champs_compris_
const Nom & le_nom() const override
Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation.
A character string (Nom) in uppercase.
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.
Helper class to factorize the readOn method of Objet_U classes.
void ajouter(const char *keyword, const int *value, Param::Nature nat=Param::OPTIONAL)
Register an integer parameter.
void ajouter_non_std(const char *keyword, const Objet_U *value, Param::Nature nat=Param::OPTIONAL)
Register a keyword handled by Objet_U::lire_motcle_non_standard.
class Probleme_base It is a Probleme_U that is not a coupling.
const Domaine_dis_base & domaine_dis() const
Returns the discretized domain associated with the problem (const version).
Base class for output streams.
_SIZE_ dimension(int d) const
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")