16#include <Convection_Diffusion_Espece_Binaire_base.h>
17#include <Navier_Stokes_Fluide_Dilatable_base.h>
18#include <Fluide_Dilatable_base.h>
19#include <Op_Conv_negligeable.h>
20#include <Discretisation_base.h>
21#include <Probleme_base.h>
23#include <Perf_counters.h>
36 terme_convectif.set_description((Nom)
"Convective flux =Integral(-rho*Y*u*ndS) [kg/s] if SI units used");
38 terme_diffusif.set_description((Nom)
"Diffusive flux=Integral(rho*D*grad(Y)*ndS) [kg/s] if SI units used");
41 if (le_fluide->type_fluide()==
"Melange_Binaire") l_inco_ch->nommer(
"fraction_massique");
44 Cerr <<
"Error in your data file !" << finl;
45 Cerr <<
"The equation " <<
que_suis_je() <<
" should only be used with the EOS Melange_Binaire";
66 Cerr <<
"Reading and typing of the diffusion operator : " << finl;
80 return le_fluide->nu_sur_Schmidt();
92 zcl_modif_->les_conditions_limites().set_modifier_val_imp(0);
114 statistics().begin_count(STD_COUNTERS::ajouter_blocs,statistics().get_last_opened_counter_level()+1);
120 Matrice_Morse *mat = matrices.count(nom_inco) ? matrices.at(nom_inco) :
nullptr;
123 statistics().end_count(STD_COUNTERS::ajouter_blocs);
classe Champ_base Cette classe est la base de la hierarchie des champs.
classe Convection_Diffusion_Espece_Binaire_base Cas particulier de Convection_Diffusion_Espece_Fluide...
void set_param(Param &titi) const override
const Champ_base & vitesse_pour_transport() const override
const Champ_base & diffusivite_pour_pas_de_temps() const override
void completer() override
Complete la construction (initialisation) des objets associes a l'equation.
void assembler_blocs_avec_inertie(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl) override
int preparer_calcul() override
Tout ce qui ne depend pas des autres problemes eventuels.
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
void assembler(Matrice_Morse &mat_morse, const DoubleTab &present, DoubleTab &secmem) override
DoubleTab & derivee_en_temps_inco(DoubleTab &) override
Returns the time derivative of the unknown I of the equation: dI/dt = M-1*(sum(operators(I) + sources...
classe Convection_Diffusion_Espece_Fluide_Dilatable_base Cas particulier de Convection_Diffusion_std ...
int preparer_calcul() override
Tout ce qui ne depend pas des autres problemes eventuels.
DoubleTab & derivee_en_temps_inco_sans_solveur_masse_impl(Convection_Diffusion_Fluide_Dilatable_base &eqn, DoubleTab &derivee, const bool is_expl)
Renvoie la derivee en temps de l'inconnue de l'equation.
public_for_cuda void assembler_impl(Convection_Diffusion_Fluide_Dilatable_base &eqn, Matrice_Morse &mat_morse, const DoubleTab &present, DoubleTab &secmem)
void assembler_blocs(Convection_Diffusion_Fluide_Dilatable_base &eqn, matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl)
const Champ_Don_base & diffusivite_pour_transport() const override
const Champ_Inc_base & inconnue() const override
Operateur_Diff terme_diffusif
Operateur_Conv terme_convectif
Class defining operators and methods for all reading operation in an input flow (file,...
virtual void set_param(Param &titi) const override
const Discretisation_base & discretisation() const
Renvoie la discretisation associee a l'equation.
virtual void completer()
Complete la construction (initialisation) des objets associes a l'equation.
virtual void modifier_pour_Cl(Matrice_Morse &mat_morse, DoubleTab &secmem) const
Probleme_base & probleme()
Renvoie le probleme associe a l'equation.
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
Schema_Temps_base & schema_temps()
Renvoie le schema en temps associe a l'equation.
Champs_compris champs_compris_
const Nom & le_nom() const override
Renvoie le nom du champ.
Classe Matrice_Morse Represente une matrice M (creuse), non necessairement carree.
Une chaine de caractere (Nom) en majuscules.
classe Navier_Stokes_std Cette classe porte les termes de l'equation de la dynamique
virtual const Champ_Inc_base & rho_la_vitesse() const
const std::string & getString() const
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
Helper class to factorize the readOn method of Objet_U classes.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
virtual void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const Equation_base &eqn, const tabs_t &semi_impl={}) const
Classe de base des flux de sortie.