15#include <LoiParUtil.h>
19static double valmin_ss_couche_log=20;
20static double valmax_ss_couche_log=100;
22static inline double fn_uplus(
double dplus)
24 static double chi=1./0.41;
25 static double beta=5.5;
31 return chi*log(dplus)+beta;
35static inline double fn_uplus_dplus(
double dplus)
37 return dplus*fn_uplus(dplus);
39static double fn_uplus_dplus_inv(
double uplusdplus)
41 double b=(fn_uplus_dplus(valmax_ss_couche_log)-fn_uplus_dplus(valmin_ss_couche_log))/(valmax_ss_couche_log-valmin_ss_couche_log);
42 static double a=fn_uplus_dplus(0.5*(valmin_ss_couche_log+valmax_ss_couche_log))-b*0.5*(valmin_ss_couche_log+valmax_ss_couche_log);
43 static double seuil=1.e-12;
44 double x=(uplusdplus-a)/b;
45 double err=uplusdplus-fn_uplus_dplus(x);
46 double fx=fn_uplus_dplus(x);
47 while(std::fabs(err/b)>seuil*x)
49 b=fn_uplus_dplus(x+1)-fx;
64double calculer_u_tau(
double nu,
double us,
double delta,
int& type_couche)
66 double uplusdplus=us*delta/nu;
72 double dplus=sqrt(uplusdplus);
78 double uplus=uplusdplus/dplus;
85 double dplus=fn_uplus_dplus_inv(uplusdplus);
93 double uplus=uplusdplus/dplus;