16#ifndef distances_EF_inclus
17#define distances_EF_inclus
18#include <Domaine_EF.h>
19double norm_vit_lp_k(
const DoubleTab& vit,
int face,
int face_b,
const Domaine_EF& domaine,ArrOfDouble& val,
int is_defilante);
20double norm_vit_lp(
const ArrOfDouble& vit,
int face,
const Domaine_EF& domaine,ArrOfDouble& val);
21double norm_3D_vit1(
const DoubleTab& vit,
int fac,
int num1,
23 double& val1,
double& val2,
double& val3);
24double norm_2D_vit1_k(
const DoubleTab& vit,
int fac,
int num1,
26 double& val1,
double& val2);
27double norm_3D_vit2(
const DoubleTab& vit,
int fac,
int num1,
29 double& val1,
double& val2,
double& val3);
30double norm_2D_vit2_k(
const DoubleTab& vit,
int fac,
int num1,
32 double& val1,
double& val2);
33double distance_2D(
int fac,
int elem,
const Domaine_EF& domaine);
35double distance_3D(
int fac,
int elem,
const Domaine_EF& domaine);
36double distance_face_elem(
int fac,
int elem,
const Domaine_EF& domaine);
39inline double vitesse_tangentielle(
const double& v0,
const double& v1,
const double& r0,
const double& r1)
42 return sqrt(std::fabs(carre(v0)+carre(v1)-carre(v0*r0+v1*r1)));
44inline double vitesse_tangentielle(
const double& v0,
const double& v1,
const double& v2,
const double& r0,
const double& r1,
const double& r2)
47 return sqrt(std::fabs(carre(v0)+carre(v1)+carre(v2)-carre(v0*r0+v1*r1+v2*r2)));
50inline void calcule_r0r1(
const DoubleTab& face_normale,
int& fac,
double& r0,
double& r1)
52 r0=face_normale(fac,0);
53 r1=face_normale(fac,1);
54 double tmp=1/sqrt(r0*r0+r1*r1);
59inline void calcule_r0r1r2(
const DoubleTab& face_normale,
int& fac,
double& r0,
double& r1,
double& r2)
61 r0=face_normale(fac,0);
62 r1=face_normale(fac,1);
63 r2=face_normale(fac,2);
64 double tmp=1/sqrt(r0*r0+r1*r1+r2*r2);
70inline double distance_face(
int fac,
int fac1,
const Domaine_EF& domaine)
73 const DoubleTab& xv = domaine.xv();
74 const DoubleTab& face_normale = domaine.face_normales();
85 calcule_r0r1r2(face_normale,fac,r0,r1,r2);
86 return std::fabs(r0*(x1-x0)+r1*(y1-y0)+r2*(z1-z0));
90 calcule_r0r1(face_normale,fac,r0,r1);
91 return std::fabs(r0*(x1-x0)+r1*(y1-y0));