18#include <Domaine_EF.h>
19#include <Champ_P1_EF.h>
20#include <Equation_base.h>
21#include <Milieu_base.h>
52 const IntTab& Face_sommets,
53 const IntTab& Face_voisins,
54 const IntTab& elem_faces,
55 const Domaine& domaine_geom)
const
63 int n0 = Face_sommets(num_Face,0);
64 int n1 = Face_sommets(num_Face,1);
65 x1 = les_coords(n0,0)-les_coords(n1,0);
66 y1 = les_coords(n0,1)-les_coords(n1,1);
72 int elem1 = Face_voisins(num_Face,0);
73 if ( (f0 = elem_faces(elem1,0)) == num_Face )
74 f0 = elem_faces(elem1,1);
75 if ( (no3 = Face_sommets(f0,0)) != n0 && no3 != n1 )
78 no3 = Face_sommets(f0,1);
80 x1 = les_coords(no3,0) - les_coords(n0,0);
81 y1 = les_coords(no3,1) - les_coords(n0,1);
83 if ( (nx*x1+ny*y1) > 0 )
85 Face_normales(num_Face,0) = - nx;
86 Face_normales(num_Face,1) = - ny;
90 Face_normales(num_Face,0) = nx;
91 Face_normales(num_Face,1) = ny;
99 const ArrOfDouble& vs,
const DoubleTab& vsom,
115 vc[0]= vitesse.
valeurs()(Face[2],0)*porosite_face[Face[2]];
116 vc[1]= vitesse.
valeurs()(Face[2],1)*porosite_face[Face[2]];
124 vc[0]= vitesse.
valeurs()(Face[1],0)*porosite_face[Face[1]];
125 vc[1]= vitesse.
valeurs()(Face[1],1)*porosite_face[Face[1]];
133 vc[0]= vitesse.
valeurs()(Face[0],0)*porosite_face[Face[0]];
134 vc[1]= vitesse.
valeurs()(Face[0],1)*porosite_face[Face[0]];
176 const int type_elem_Cl,
int& idirichlet,
int& n1,
int& ,
int& )
const
185 for (j=0; j<dim; j++)
186 xg[j]=(x(0,j)+x(1,j)+x(2,j))/3;
196 for (j=0; j<dim; j++)
197 xg[j]=(x(0,j)+x(1,j))/2;
207 for (j=0; j<dim; j++)
208 xg[j]=(x(0,j)+x(2,j))/2;
218 for (j=0; j<dim; j++)
219 xg[j]=(x(1,j)+x(2,j))/2;
229 for (j=0; j<dim; j++)
242 for (j=0; j<dim; j++)
255 for (j=0; j<dim; j++)
DoubleTab & valeurs() override
Returns the array of field values at the current time.
const DoubleTab_t & coord_sommets() const
Class defining operators and methods for all reading operation in an input flow (file,...
virtual const Milieu_base & milieu() const =0
DoubleVect & porosite_face()
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.
Base class for output streams.
void calcul_xg(DoubleVect &, const DoubleTab &, const int, int &, int &, int &, int &) const override
Computes the coordinates xg of the centre of a non-standard element.
void normale(int, DoubleTab &, const IntTab &, const IntTab &, const IntTab &, const Domaine &) const override
Fills the face_normales array in the Domaine_EF.
void calcul_vc(const ArrOfInt &, ArrOfDouble &, const ArrOfDouble &, const DoubleTab &, const Champ_Inc_base &, int) const override