52 const IntTab& Face_sommets,
53 const IntTab& Face_voisins,
54 const IntTab& elem_faces,
55 const Domaine& domaine_geom)
const
64 int n0 = Face_sommets(num_Face,0);
65 int n1 = Face_sommets(num_Face,1);
66 x1 = les_coords(n0,0)-les_coords(n1,0);
67 y1 = les_coords(n0,1)-les_coords(n1,1);
70 int elem1=Face_voisins(num_Face,0);
71 int elem2=Face_voisins(num_Face,1);
81 x1g+=les_coords(Face_sommets(elem_faces(elem1,i),0),0);
82 x1g+=les_coords(Face_sommets(elem_faces(elem1,i),1),0);
83 y1g+=les_coords(Face_sommets(elem_faces(elem1,i),0),1);
84 y1g+=les_coords(Face_sommets(elem_faces(elem1,i),1),1);
85 x2g+=les_coords(Face_sommets(elem_faces(elem2,i),0),0);
86 x2g+=les_coords(Face_sommets(elem_faces(elem2,i),1),0);
87 y2g+=les_coords(Face_sommets(elem_faces(elem2,i),0),1);
88 y2g+=les_coords(Face_sommets(elem_faces(elem2,i),1),1);
111 x1g+=les_coords(Face_sommets(elem_faces(elem1,i),0),0);
112 x1g+=les_coords(Face_sommets(elem_faces(elem1,i),1),0);
113 y1g+=les_coords(Face_sommets(elem_faces(elem1,i),0),1);
114 y1g+=les_coords(Face_sommets(elem_faces(elem1,i),1),1);
118 x2g = les_coords(n0,0)+les_coords(n1,0);
119 y2g = les_coords(n0,1)+les_coords(n1,1);
120 grx=x2g*0.5-x1g*0.125;
121 gry=y2g*0.5-y1g*0.125;
132 const double r0 = les_coords(n0, 0);
133 const double r1 = les_coords(n1, 0);
134 const double r_bar = 0.5 * (r0 + r1);
135 scale = 2.0 * M_PI * ((r_bar <=1e-10) ? x1g / 8.0 : r_bar);
137 Face_normales(num_Face, 0) = sign * nx * scale;
138 Face_normales(num_Face, 1) = sign * ny * scale;
const DoubleTab_t & coord_sommets() const
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_xg(DoubleVect &, const DoubleTab &, const int, int &, int &, int &, int &) const override
Computes the coordinates xg of the centre of a non-standard element.