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
Returns the number of temporal values currently kept.
DoubleTab & valeurs() override
Returns the array of field values at the current time.
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)
Static method that creates an OWN_PTR(Champ_Inc_base) of the specified type.
DoubleTab & vitesse_faces()
int nb_faces() const
Returns the total number of 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
Returns the discretization associated with the equation.
virtual const Champ_Inc_base & inconnue() const =0
Matrice_Morse class - Represents a (sparse) matrix M, not necessarily square,.
const Equation_base & equation() const
Returns the reference to the equation pointed to by MorEqn::mon_equation.
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.
void remplir_fluent() const override
DoubleTab & ajouter(const DoubleTab &, DoubleTab &) const override
void ajouter_contribution(const DoubleTab &, Matrice_Morse &) const override
void completer() override
Associates the operator with the domaine_dis, the domaine_Cl_dis, and the unknown of its 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
Associates the operator with the domaine_dis, the domaine_Cl_dis, and the unknown of its equation.
const Champ_Inc_base & vitesse() const
Base class for output streams.
_SIZE_ dimension(int d) const
_TYPE_ mp_norme_vect() const
_SIZE_ size_reelle_ok() const