16#include <Navier_Stokes_std.h>
17#include <Assembleur_base.h>
18#include <Probleme_base.h>
19#include <Simpler_Base.h>
20#include <Domaine_VF.h>
40 if (motlu ==
"no_qdm")
42 Cerr << motlu << finl;
45 else if (motlu ==
"facsec_diffusion_for_sets")
47 Cerr << motlu << finl;
52 Cerr <<
"Keyword : " << motlu <<
" is not undertood in " <<
que_suis_je() << finl;
61 const auto& tab1 = matrice.
get_tab1();
78 for (
int i=0; i<ns; i++)
80 auto idiag = tab1[i*nb_comp]-1;
81 double ref = coeff[idiag];
82 for (
int c=1; c<nb_comp; c++)
83 if (!est_egal(ref,coeff[tab1[i*nb_comp+c]-1]))
85 Cerr<<
"Pb dans Piso sur la diagonale case"<<i<<
" comp "<< c<<
" ref "<<ref<<
" valeurs "<<coeff[tab1[i*nb_comp+c]-1]<<finl;
88 vol2[i] = coeff[idiag];
91 eqnNS.assembleur_pression()->assembler_mat(matrice_en_pression_2,vol2,1,1);
95 DoubleTab vol2(present);
97 for (
int i=0; i<ns; i++)
98 for (
int c=0; c<nb_comp; c++)
99 vol2(i,c) = matrice(i*nb_comp+c,i*nb_comp+c);
102 eqnNS.assembleur_pression()->assembler_mat(matrice_en_pression_2,vol2,1,1);
106 solveur_pression_->reinit();
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
DoubleVect & volumes_entrelaces()
Class defining operators and methods for all reading operation in an input flow (file,...
classe Equation_base Le role d'une equation est le calcul d'un ou plusieurs champs....
virtual const Champ_Inc_base & inconnue() const =0
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
Classe Matrice_Morse Represente une matrice M (creuse), non necessairement carree.
const auto & get_tab1() const
const auto & get_coeff() const
Classe Matrice Classe generique de la hierarchie des matrices.
Une chaine de caractere (Nom) en majuscules.
classe Navier_Stokes_std Cette classe porte les termes de l'equation de la dynamique
SolveurSys & solveur_pression()
Renvoie le solveur en pression (version 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.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Entree & lire(const Motcle &, Entree &) override
void assembler_matrice_pression_implicite(Equation_base &eqn_NS, const Matrice_Morse &matrice, Matrice &matrice_en_pression_2)
double facsec_diffusion_for_sets_
class SolveurSys Un SolveurSys represente n'importe qu'elle classe
int is_seuil_convg_variable
class Solveur_non_lineaire
Classe de base des flux de sortie.
_SIZE_ dimension_tot(int) const override
_SIZE_ dimension(int d) const
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")