16#include <Force_Centrifuge_VDF_Face_Axi.h>
17#include <Domaine_VDF.h>
18#include <Domaine_Cl_VDF.h>
19#include <Champ_Face_VDF.h>
20#include <Neumann_sortie_libre.h>
22#include <Dirichlet_homogene.h>
25#include <Equation_base.h>
26#include <Milieu_base.h>
58 Cerr <<
"Force_Centrifuge_VDF_Face_Axi::associer_pb" << finl;
67 le_dom_Cl_VDF = zclvdf;
73 porosite_surf.ref(le_dom_Cl_VDF->equation().milieu().porosite_face());
80 const DoubleTab& vitesse = la_vitesse->valeurs();
84 DoubleTrav vit_sum(nb_faces);
87 int fac0,fac1,fac2,fac3;
91 for (
int num_elem=0; num_elem<nb_elem; num_elem++)
98 V = 0.5*(vitesse(fac1)+vitesse(fac3));
99 U = 0.5*(vitesse(fac0)+vitesse(fac2));
101 vit_sum(fac0) += 0.5*(V*V);
102 vit_sum(fac2) += 0.5*(V*V);
104 vit_sum(fac1) += 0.5*(U*V);
105 vit_sum(fac3) += 0.5*(U*V);
110 int ndeb,nfin,ori,num_face;
112 for (
int n_bord=0; n_bord<zvdf.
nb_front_Cl(); n_bord++)
127 for (num_face=ndeb; num_face<nfin; num_face++)
133 secmem(num_face) += 0.5*(vit_sum(num_face)*coef);
138 secmem(num_face) -= 0.5*(vit_sum(num_face)*coef);
142 else if (sub_type(
Symetrie,la_cl.valeur()))
153 for (num_face=ndeb; num_face<nfin; num_face++)
159 secmem(num_face) += 0.5*(vit_sum(num_face)*coef);
164 secmem(num_face) -= 0.5*(vit_sum(num_face)*coef);
class Champ_Face_VDF Cette classe sert a representer un champ vectoriel dont on ne calcule
classe Cond_lim Classe generique servant a representer n'importe quelle classe
Classe Dirichlet_homogene Cette classe est la classe de base de la hierarchie des conditions aux limi...
classe Dirichlet Cette classe est la classe de base de la hierarchie des conditions aux limites de ty...
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
const Cond_lim & les_conditions_limites(int) const
Renvoie la i-ieme condition aux limites.
int orientation(int) const override
inline DoubleVect& Domaine_VDF::porosite_face() {
int nb_faces() const
renvoie le nombre global de faces.
DoubleVect & volumes_entrelaces()
double xv(int num_face, int k) const
int elem_faces(int i, int j) const
renvoie le numero de le ieme face de la maille num_elem la facon dont ces faces sont numerotees est
double xp(int num_elem, int k) const
int premiere_face_int() const
une face est interne ssi elle separe deux elements.
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Class defining operators and methods for all reading operation in an input flow (file,...
class Force_Centrifuge_VDF_Face_Axi
void completer() override
Met a jour les references internes a l'objet Source_base.
void associer_domaines(const Domaine_dis_base &, const Domaine_Cl_dis_base &) override
DoubleVect volume_entrelaces
void associer_pb(const Probleme_base &) override
void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl) const override
DoubleTab & calculer(DoubleTab &) const override
int num_premiere_face() const
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
classe Neumann_sortie_libre Cette classe represente une frontiere ouverte sans vitesse imposee
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.
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
Classe de base des flux de sortie.
classe Source_base Un objet Source_base est un terme apparaissant au second membre d'une
virtual void completer()
Met a jour les references internes a l'objet Source_base.
virtual DoubleTab & ajouter(DoubleTab &) const
classe Symetrie Sur les faces de symetrie on a les proprietes suivantes: