43 const DoubleTab&
get_Tsat_tab()
const {
return ch_Tsat_->valeurs(); }
45 void Tsat(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const;
46 void dP_Tsat(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const;
47 void Psat(
const SpanD T, SpanD res,
int ncomp = 1,
int ind = 0)
const;
48 void dT_Psat(
const SpanD T, SpanD res,
int ncomp = 1,
int ind = 0)
const;
49 void Lvap(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const;
50 void dP_Lvap(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const;
51 void Hls(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const;
52 void dP_Hls(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const;
53 void Hvs(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const;
54 void dP_Hvs(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const;
56 virtual void get_sigma(
const SpanD T,
const SpanD P, SpanD sig ,
int ncomp = 1,
int ind = 0) const final;
57 virtual
void get_sigma_h(const SpanD H, const SpanD P, SpanD sig ,
int ncomp = 1,
int ind = 0) const final;
63 double Tsat(const
double P)
const {
return double_to_span<&Saturation_base::Tsat_>(P); }
64 double dP_Tsat(
const double P)
const {
return double_to_span<&Saturation_base::dP_Tsat_>(P); }
65 double Psat(
const double T)
const {
return double_to_span<&Saturation_base::Psat_>(T); }
66 double dT_Psat(
const double T)
const {
return double_to_span<&Saturation_base::dT_Psat_>(T); }
67 double Lvap(
const double P)
const {
return double_to_span<&Saturation_base::Lvap_>(P); }
68 double dP_Lvap(
const double P)
const {
return double_to_span<&Saturation_base::dP_Lvap_>(P); }
69 double Hls(
const double P)
const {
return double_to_span<&Saturation_base::Hls_>(P); }
70 double dP_Hls(
const double P)
const {
return double_to_span<&Saturation_base::dP_Hls_>(P); }
71 double Hvs(
const double P)
const {
return double_to_span<&Saturation_base::Hvs_>(P); }
72 double dP_Hvs(
const double P)
const {
return double_to_span<&Saturation_base::dP_Hvs_>(P); }
79 typedef void(
Saturation_base::*function_span_generic)(
const SpanD , SpanD , int , int )
const;
81 template <function_span_
generic FUNC>
82 void double_to_span(
const double T_ou_P, SpanD res,
int ncomp,
int ind)
const
84 ArrayD Pp = {T_ou_P}, res_ = {0.};
85 (this->*FUNC)(SpanD(Pp), SpanD(res_),1,0);
86 for (
int i =0; i < (int)res.size()/ncomp; i++) res[i * ncomp + ind] = res_[0];
89 template <function_span_
generic FUNC>
90 double double_to_span(
const double T_ou_P)
const
92 ArrayD Pp = {T_ou_P}, res_ = {0.};
93 (this->*FUNC)(SpanD(Pp), SpanD(res_),1,0);
97 virtual void Tsat_(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const = 0;
98 virtual void dP_Tsat_(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const = 0;
99 virtual void Psat_(
const SpanD T, SpanD res,
int ncomp = 1,
int ind = 0)
const = 0;
100 virtual void dT_Psat_(
const SpanD T, SpanD res,
int ncomp = 1,
int ind = 0)
const = 0;
101 virtual void Lvap_(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const = 0;
102 virtual void dP_Lvap_(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const = 0;
103 virtual void Hls_(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const = 0;
104 virtual void dP_Hls_(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const = 0;
105 virtual void Hvs_(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const = 0;
106 virtual void dP_Hvs_(
const SpanD P, SpanD res,
int ncomp = 1,
int ind = 0)
const = 0;
108 void _Tsat_(
const double P, SpanD res,
int ncomp = 1,
int ind = 0)
const { double_to_span<&Saturation_base::Tsat_>(P,res,ncomp,ind); }
109 void _dP_Tsat_(
const double P, SpanD res,
int ncomp = 1,
int ind = 0)
const { double_to_span<&Saturation_base::dP_Tsat_>(P,res,ncomp,ind); }
110 void _Psat_(
const double T, SpanD res,
int ncomp = 1,
int ind = 0)
const { double_to_span<&Saturation_base::Psat_>(T,res,ncomp,ind); }
111 void _dT_Psat_(
const double T, SpanD res,
int ncomp = 1,
int ind = 0)
const { double_to_span<&Saturation_base::dT_Psat_>(T,res,ncomp,ind); }
112 void _Lvap_(
const double P, SpanD res,
int ncomp = 1,
int ind = 0)
const { double_to_span<&Saturation_base::Lvap_>(P,res,ncomp,ind); }
113 void _dP_Lvap_(
const double P, SpanD res,
int ncomp = 1,
int ind = 0)
const { double_to_span<&Saturation_base::dP_Lvap_>(P,res,ncomp,ind); }
114 void _Hls_(
const double P, SpanD res,
int ncomp = 1,
int ind = 0)
const { double_to_span<&Saturation_base::Hls_>(P,res,ncomp,ind); }
115 void _dP_Hls_(
const double P, SpanD res,
int ncomp = 1,
int ind = 0)
const { double_to_span<&Saturation_base::dP_Hls_>(P,res,ncomp,ind); }
116 void _Hvs_(
const double P, SpanD res,
int ncomp = 1,
int ind = 0)
const { double_to_span<&Saturation_base::Hvs_>(P,res,ncomp,ind); }
117 void _dP_Hvs_(
const double P, SpanD res,
int ncomp = 1,
int ind = 0)
const { double_to_span<&Saturation_base::dP_Hvs_>(P,res,ncomp,ind); }