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 Cond_lim Generic class used to represent any class
Classe Dirichlet_homogene This class is the base class of the hierarchy of homogeneous Dirichlet-type...
Dirichlet This class is the base class of the hierarchy of Dirichlet-type boundary conditions.
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
const Cond_lim & les_conditions_limites(int) const
Returns the i-th boundary condition.
int orientation(int) const override
inline DoubleVect& Domaine_VDF::porosite_face() {
int nb_faces() const
Returns the total number of faces.
DoubleVect & volumes_entrelaces()
double xv(int num_face, int k) const
int elem_faces(int i, int j) const
Returns the index of the i-th face of element num_elem; the face numbering convention is.
double xp(int num_elem, int k) const
int premiere_face_int() const
A face is internal if and only if it separates two elements.
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
Class defining operators and methods for all reading operation in an input flow (file,...
class Force_Centrifuge_VDF_Face_Axi
void completer() override
Updates internal references of the Source_base object.
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
Returns the reference to the equation pointed to by MorEqn::mon_equation.
Neumann_sortie_libre This class represents an open boundary without imposed velocity.
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.
class Probleme_base It is a Probleme_U that is not a coupling.
Base class for output streams.
Source_base A Source_base object is a term appearing on the right-hand side of an.
virtual void completer()
Updates internal references of the Source_base object.
virtual DoubleTab & ajouter(DoubleTab &) const
Symetrie On symmetry faces, the following properties hold: