37 template<Type_Flux_Fa7 Fa7_Type,
typename Type_Double>
inline std::enable_if_t< Fa7_Type == Type_Flux_Fa7::SORTIE_LIBRE, void>
40 template<Type_Flux_Fa7 Fa7_Type,
typename Type_Double>
inline std::enable_if_t< Fa7_Type == Type_Flux_Fa7::ELEM, void>
41 flux_fa7(
const DoubleTab&,
const DoubleTab*,
int,
int,
int, Type_Double& )
const;
43 template<Type_Flux_Arete Arete_Type,
typename Type_Double>
inline std::enable_if_t< Arete_Type == Type_Flux_Arete::INTERNE, void>
44 flux_arete(
const DoubleTab&,
const DoubleTab*,
int,
int,
int,
int, Type_Double& )
const ;
46 template<Type_Flux_Arete Arete_Type,
typename Type_Double>
inline std::enable_if_t< Arete_Type == Type_Flux_Arete::MIXTE, void>
47 flux_arete(
const DoubleTab&,
const DoubleTab*,
int,
int,
int,
int, Type_Double& )
const ;
49 template<Type_Flux_Arete Arete_Type,
typename Type_Double>
50 inline std::enable_if_t<(Arete_Type == Type_Flux_Arete::PAROI || Arete_Type == Type_Flux_Arete::NAVIER || Arete_Type == Type_Flux_Arete::NAVIER_PAROI),
void>
51 flux_arete(
const DoubleTab&,
const DoubleTab*,
int,
int,
int,
int, Type_Double& )
const { }
53 template<Type_Flux_Arete Arete_Type,
typename Type_Double>
54 inline std::enable_if_t<Arete_Type == Type_Flux_Arete::FLUIDE || Arete_Type == Type_Flux_Arete::NAVIER_FLUIDE || Arete_Type == Type_Flux_Arete::PAROI_FLUIDE, void>
55 flux_arete(
const DoubleTab&,
const DoubleTab*,
int,
int,
int,
int, Type_Double&, Type_Double& )
const;
57 template<Type_Flux_Arete Arete_Type,
typename Type_Double>
inline std::enable_if_t< Arete_Type == Type_Flux_Arete::PERIODICITE, void>
58 flux_arete(
const DoubleTab&,
const DoubleTab*,
int,
int,
int,
int, Type_Double&, Type_Double& )
const ;
60 template<Type_Flux_Arete Arete_Type,
typename Type_Double>
inline std::enable_if_t< Arete_Type == Type_Flux_Arete::COIN_FLUIDE, void>
61 flux_arete(
const DoubleTab&,
const DoubleTab*,
int,
int,
int,
int, Type_Double&, Type_Double&)
const;
67 template<Type_Flux_Fa7 Fa7_Type,
typename Type_Double>
inline std::enable_if_t< Fa7_Type == Type_Flux_Fa7::SORTIE_LIBRE, void>
70 template<Type_Flux_Fa7 Fa7_Type,
typename Type_Double>
inline std::enable_if_t< Fa7_Type == Type_Flux_Fa7::ELEM, void>
71 coeffs_fa7(
const DoubleTab*,
int,
int,
int, Type_Double& , Type_Double& )
const;
73 template<Type_Flux_Arete Arete_Type,
typename Type_Double>
74 inline std::enable_if_t< Arete_Type == Type_Flux_Arete::INTERNE || Arete_Type == Type_Flux_Arete::MIXTE || Arete_Type == Type_Flux_Arete::PERIODICITE, void>
75 coeffs_arete(
const DoubleTab*,
int,
int,
int,
int, Type_Double& , Type_Double& )
const;
77 template<Type_Flux_Arete Arete_Type,
typename Type_Double>
78 inline std::enable_if_t< Arete_Type == Type_Flux_Arete::FLUIDE || Arete_Type == Type_Flux_Arete::NAVIER_FLUIDE || Arete_Type == Type_Flux_Arete::PAROI_FLUIDE || Arete_Type == Type_Flux_Arete::COIN_FLUIDE, void>
79 coeffs_arete(
const DoubleTab*,
int,
int,
int,
int, Type_Double& , Type_Double& , Type_Double& )
const;
81 template<Type_Flux_Arete Arete_Type,
typename Type_Double>
inline
82 std::enable_if_t<(Arete_Type == Type_Flux_Arete::PAROI || Arete_Type == Type_Flux_Arete::NAVIER || Arete_Type == Type_Flux_Arete::NAVIER_PAROI),
void>
83 coeffs_arete(
const DoubleTab*,
int,
int,
int,
int, Type_Double& , Type_Double& , Type_Double& )
const { }
86 template <
typename Type_Double>
87 inline void fill_coeffs_proto(
const int,
const double ,
const double, Type_Double& , Type_Double& )
const;
90 inline int premiere_face_bord()
const {
return static_cast<const DERIVED_T *
>(
this)->get_premiere_face_bord(); }
91 inline int orientation(
int face)
const {
return static_cast<const DERIVED_T *
>(
this)->get_orientation(face); }
92 inline int elem_(
int i,
int j)
const {
return static_cast<const DERIVED_T *
>(
this)->get_elem(i,j); }
93 inline int face_amont_princ_(
int num_face,
int i)
const {
return static_cast<const DERIVED_T *
>(
this)->face_amont_princ(num_face,i); }
94 inline int face_amont_conj_(
int num_face,
int i,
int k)
const {
return static_cast<const DERIVED_T *
>(
this)->face_amont_conj(num_face,i,k); }
95 inline double dt_vitesse(
int face,
int comp = 0)
const {
return static_cast<const DERIVED_T *
>(
this)->get_dt_vitesse(face, comp); }
96 inline double surface_porosite(
int face)
const {
return static_cast<const DERIVED_T *
>(
this)->get_surface_porosite(face); }
97 inline double surface(
int face)
const {
return static_cast<const DERIVED_T *
>(
this)->get_surface(face); }
98 inline double porosite(
int face)
const {
return static_cast<const DERIVED_T *
>(
this)->get_porosite(face); }
99 inline double dim_face_(
int n1,
int k)
const {
return static_cast<const DERIVED_T *
>(
this)->dim_face(n1,k); }
100 inline double dim_elem_(
int n1,
int k)
const {
return static_cast<const DERIVED_T *
>(
this)->dim_elem(n1,k); }
101 inline double dist_face_(
int n1,
int n2,
int k)
const {
return static_cast<const DERIVED_T *
>(
this)->dist_face(n1,n2,k); }
102 inline double dist_face_period_(
int n1,
int n2,
int k)
const {
return static_cast<const DERIVED_T *
>(
this)->dist_face_period(n1,n2,k); }
103 inline double dist_elem_period_(
int n1,
int n2,
int k)
const {
return static_cast<const DERIVED_T *
>(
this)->dist_elem_period(n1,n2,k); }
104 inline const Domaine_Cl_VDF& la_zcl()
const {
return static_cast<const DERIVED_T *
>(
this)->get_la_zcl(); }
106 inline double conv_quick_sharp_plus_(
const double psc,
const double vit_0,
const double vit_1,
const double vit_0_0,
const double dx,
const double dm,
const double dxam)
const
107 {
return static_cast<const DERIVED_T *
>(
this)->conv_quick_sharp_plus(psc,vit_0,vit_1,vit_0_0,dx,dm,dxam); }
109 inline double conv_quick_sharp_moins_(
const double psc,
const double vit_0,
const double vit_1,
const double vit_1_1,
const double dx,
const double dm,
const double dxam)
const
110 {
return static_cast<const DERIVED_T *
>(
this)->conv_quick_sharp_moins(psc,vit_0,vit_1,vit_1_1,dx,dm,dxam); }
112 inline double conv_centre_(
const double psc,
const double vit_0_0,
const double vit_0,
const double vit_1,
const double vit1_1,
double g1,
double g2,
double g3,
double g4)
const
113 {
return static_cast<const DERIVED_T *
>(
this)->conv_centre(psc,vit_0_0,vit_0,vit_1,vit1_1,g1,g2,g3,g4); }
115 inline void calcul_g_(
const double dxam,
const double dx,
const double dxav,
double& g1,
double& g2,
double& g3,
double& g4)
const
116 {
static_cast<const DERIVED_T *
>(
this)->calcul_g(dxam,dx,dxav,g1,g2,g3,g4); }