16#include <Domaine_ALE.h>
18#include <Probleme_base.h>
19#include <Schema_Temps_base.h>
20#include <Porosites_champ.h>
21#include <Convection_tools.h>
23#include <Champ_P1NC.h>
24#include <CL_Types_include.h>
25#include <Op_Conv_ALE_VEF.h>
50 la_vitesse_relative_faces_->associer_eqn(
equation());
53void Op_Conv_ALE_VEF::update_relative_velocity()
const
58 if (w.
nb_dim() == 1)
return;
59 la_vitesse_relative_faces_->valeurs() -= w;
64 update_relative_velocity();
65 return ajouter_gen(transporte, la_vitesse_relative_faces_.valeur(), resu);
70 update_relative_velocity();
78 const Domaine_VEF& domaine_VEF = le_dom_vef.valeur();
83 const DoubleTab& tab_vitesse_faces_ALE = ref_cast(
Domaine_ALE,
equation().inconnue().domaine()).vitesse_faces();
86 const int nb_faces = domaine_VEF.
nb_faces();
96 for(
int num_face=0; num_face<nb_faces; num_face++)
100 psc+=tab_vitesse(num_face,i)*face_normales(num_face,i);
101 fluent_(num_face)=std::fabs(psc);
108 for(
int num_face=0; num_face<nb_faces; num_face++)
112 psc+=(tab_vitesse(num_face,i)-tab_vitesse_faces_ALE(num_face,i))*face_normales(num_face,i);
113 fluent_(num_face)=std::fabs(psc);
virtual int nb_valeurs_temporelles() const
Renvoie le nombre de valeurs temporelles actuellement conservees.
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
static void creer_champ(OWN_PTR(Champ_Inc_base)&ch, const Domaine_dis_base &z, const Nom &type, const Nom &nom, const Nom &unite, int nb_comp, int nb_ddl, int nb_pas_dt, double temps, const Nom &directive=NOM_VIDE, const Nom &nom_discretisation=NOM_VIDE)
Methode statique qui cree un OWN_PTR(Champ_Inc_base) du type specifie.
DoubleTab & vitesse_faces()
int nb_faces() const
renvoie le nombre global de faces.
virtual double face_normales(int face, int comp) const
Class defining operators and methods for all reading operation in an input flow (file,...
const Discretisation_base & discretisation() const
Renvoie la discretisation associee a l'equation.
virtual const Champ_Inc_base & inconnue() const =0
Classe Matrice_Morse Represente une matrice M (creuse), non necessairement carree.
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
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.
void remplir_fluent() const override
DoubleTab & ajouter(const DoubleTab &, DoubleTab &) const override
void ajouter_contribution(const DoubleTab &, Matrice_Morse &) const override
void completer() override
Associe l'operateur au domaine_dis, le domaine_Cl_dis, et a l'inconnue de son equation.
void ajouter_contribution_gen(const DoubleTab &transporte, const Champ_Inc_base &la_vitesse, Matrice_Morse &matrice) const
DoubleTab & ajouter_gen(const DoubleTab &transporte, const Champ_Inc_base &la_vitesse, DoubleTab &resu) const
void completer() override
Associe l'operateur au domaine_dis, le domaine_Cl_dis, et a l'inconnue de son equation.
const Champ_Inc_base & vitesse() const
Classe de base des flux de sortie.
_SIZE_ dimension(int d) const
_TYPE_ mp_norme_vect() const
_SIZE_ size_reelle_ok() const