16#ifndef Masse_Multiphase_included
17#define Masse_Multiphase_included
19#include <Convection_Diffusion_std.h>
20#include <Operateur_Evanescence.h>
21#include <Operateur_Grad.h>
63 void dimensionner_blocs(matrices_t matrices,
const tabs_t& semi_impl = {})
const override;
81 return champ_convecte_.valeur();
85 return bool(champ_convecte_);
101 void verifier_somme_alpha();
Convection_Diffusion_std This class is the base for equations modelling the transport.
Base class for an incompressible fluid and its properties:
Specialisation of Convection_Diffusion_std for multiphase flows where the transported scalar is the v...
OWN_PTR(Champ_Inc_base) l_inco_ch_
std::pair< std::string, fonc_calc_t > get_fonc_champ_conserve() const override
int lire_motcle_non_standard(const Motcle &, Entree &) override
Reads non-simple-type parameters of an Objet_U from an input stream.
static void calculer_alpha_rho(const Objet_U &obj, DoubleTab &val, DoubleTab &bval, tabs_t &deriv)
int has_champ_convecte() const override
const Operateur & operateur(int) const override
Returns the operator at the given index: returns terme_diffusif if i = 0,.
void discretiser() override
Discretizes the equation.
const Motcle & domaine_application() const override
Returns the name of the application domain of the equation.
Operateur_Evanescence evanescence_
static void calculer_alpha_rho_conv(const Objet_U &obj, DoubleTab &val, DoubleTab &bval, tabs_t &deriv)
const Champ_Inc_base & inconnue() const override
Returns the unknown field representing the unknown (alpha) (const version).
const Milieu_base & milieu() const override
Returns the physical medium associated with the equation.
void associer_milieu_base(const Milieu_base &) override
Associates a physical medium to the equation; the medium is cast to Fluide_base.
int has_interface_blocs() const override
void dimensionner_matrice_sans_mem(Matrice_Morse &matrice) override
void associer_fluide(const Fluide_base &)
Associates a fluid of type Fluide_base with the equation.
OBS_PTR(Fluide_base) le_fluide_
void init_champ_convecte() const override
void assembler_blocs_avec_inertie(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl={}) override
const Operateur_Grad & operateur_gradient_inconnue() const
int nombre_d_operateurs() const override
Returns the number of operators in the equation: 2 for a diffusion equation.
void completer() override
Associates the unknown of the equation to the state law.
const Fluide_base & fluide() const
Returns the incompressible fluid associated with the equation (const version).
Champ_Inc_base & champ_convecte() const override
void dimensionner_blocs(matrices_t matrices, const tabs_t &semi_impl={}) const override
std::pair< std::string, fonc_calc_t > get_fonc_champ_convecte() const
void set_param(Param ¶m) const override
Matrice_Morse class - Represents a (sparse) matrix M, not necessarily square,.
Milieu_base This class is the base of the (physical) medium hierarchy.
A character string (Nom) in uppercase.
Base class for TRUST objects (Objet_U).
Objet_U()
Default constructor: assigns a unique identifier to the object (object_id_) and registers the object ...
Operateur_Evanescence class: generic class in the operator hierarchy representing a term.
Classe Operateur_Grad Generic class of the hierarchy of operators computing the gradient.
class Operateur Generic class of the operator hierarchy.
Helper class to factorize the readOn method of Objet_U classes.