TrioCFD 1.9.9_beta
TrioCFD documentation
Loading...
Searching...
No Matches
TPPI.h
1/****************************************************************************
2* Copyright (c) 2025, CEA
3* All rights reserved.
4*
5* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9*
10* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
11* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
12* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13*
14*****************************************************************************/
15
16#ifndef TPPI_included
17#define TPPI_included
18
19#include <TPPI_tools.h>
20
21/*! @brief Common interface for TRUST and its baltiks to call EOS/CoolProp library methods.
22 *
23 * Methods are available as functions of temperature or enthalpy, and also for saturation.
24 *
25 */
26class TPPI
27{
28public:
29 TPPI() = default;
30 virtual ~TPPI() = default;
31
32 virtual void set_fluide_generique(const char *const , const char *const ) { return not_implemented<void>(__func__); }
33 virtual void set_saturation_generique(const char *const , const char *const ) { return not_implemented<void>(__func__); }
34 virtual void set_phase(const Motcle& ) { return not_implemented<void>(__func__); }
35 virtual void set_path_refprop() { return not_implemented<void>(__func__); }
36 virtual void verify_phase(const Motcle& ) { return not_implemented<void>(__func__); }
37
38 virtual void desactivate_handler(bool op = true) { return not_implemented<void>(__func__); }
39
40 virtual double tppi_get_p_min() const = 0;
41 virtual double tppi_get_p_max() const = 0;
42
43 virtual double tppi_get_h_min() const = 0;
44 virtual double tppi_get_h_max() const = 0;
45
46 virtual double tppi_get_T_min() const = 0;
47 virtual double tppi_get_T_max() const = 0;
48
49 virtual double tppi_get_rho_min() const = 0;
50 virtual double tppi_get_rho_max() const = 0;
51
52 virtual double tppi_get_p_crit() const = 0;
53 virtual double tppi_get_h_crit() const = 0;
54 virtual double tppi_get_T_crit() const = 0;
55 virtual double tppi_get_rho_crit() const = 0;
56
57 virtual MRange all_unknowns_range();
58
59 template <typename TYPE>
60 TYPE not_implemented(const char * nom_funct) const
61 {
62 cerr << "TPPI::" << nom_funct << " should be implemented in a derived class !" << endl;
63 throw;
64 }
65
66 /*
67 * ******************* *
68 * Laws in temperature
69 * ******************* *
70 */
71 virtual int tppi_get_rho_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
72 {
73 return tppi_get_single_property_T_(Loi_en_T::RHO, P, T, R, ncomp, ind);
74 }
75
76 virtual int tppi_get_rho_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
77 {
78 return tppi_get_single_property_T_(Loi_en_T::RHO_DP, P, T, R, ncomp, ind);
79 }
80
81 virtual int tppi_get_rho_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
82 {
83 return tppi_get_single_property_T_(Loi_en_T::RHO_DT, P, T, R, ncomp, ind);
84 }
85
86 virtual int tppi_get_h_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
87 {
88 return tppi_get_single_property_T_(Loi_en_T::H, P, T, R, ncomp, ind);
89 }
90
91 virtual int tppi_get_h_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
92 {
93 return tppi_get_single_property_T_(Loi_en_T::H_DP, P, T, R, ncomp, ind);
94 }
95
96 virtual int tppi_get_h_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
97 {
98 return tppi_get_single_property_T_(Loi_en_T::H_DT, P, T, R, ncomp, ind);
99 }
100
101 virtual int tppi_get_cp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
102 {
103 return tppi_get_single_property_T_(Loi_en_T::CP, P, T, R, ncomp, ind);
104 }
105
106 virtual int tppi_get_cp_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
107 {
108 return tppi_get_single_property_T_(Loi_en_T::CP_DP, P, T, R, ncomp, ind);
109 }
110
111 virtual int tppi_get_cp_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
112 {
113 return tppi_get_single_property_T_(Loi_en_T::CP_DT, P, T, R, ncomp, ind);
114 }
115
116 virtual int tppi_get_mu_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
117 {
118 return tppi_get_single_property_T_(Loi_en_T::MU, P, T, R, ncomp, ind);
119 }
120
121 virtual int tppi_get_mu_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
122 {
123 return tppi_get_single_property_T_(Loi_en_T::MU_DP, P, T, R, ncomp, ind);
124 }
125
126 virtual int tppi_get_mu_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
127 {
128 return tppi_get_single_property_T_(Loi_en_T::MU_DT, P, T, R, ncomp, ind);
129 }
130
131 virtual int tppi_get_lambda_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
132 {
133 return tppi_get_single_property_T_(Loi_en_T::LAMBDA, P, T, R, ncomp, ind);
134 }
135
136 virtual int tppi_get_lambda_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
137 {
138 return tppi_get_single_property_T_(Loi_en_T::LAMBDA_DP, P, T, R, ncomp, ind);
139 }
140
141 virtual int tppi_get_lambda_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
142 {
143 return tppi_get_single_property_T_(Loi_en_T::LAMBDA_DT, P, T, R, ncomp, ind);
144 }
145
146 virtual int tppi_get_sigma_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
147 {
148 return tppi_get_single_property_T_(Loi_en_T::SIGMA, P, T, R, ncomp, ind);
149 }
150
151 virtual int tppi_get_sigma_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
152 {
153 return tppi_get_single_property_T_(Loi_en_T::SIGMA_DP, P, T, R, ncomp, ind);
154 }
155
156 virtual int tppi_get_sigma_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
157 {
158 return tppi_get_single_property_T_(Loi_en_T::SIGMA_DT, P, T, R, ncomp, ind);
159 }
160
161 // simple call when needed: incompressible case
162 virtual int tppi_get_beta_pT(const SpanD P, const SpanD T, SpanD R, int ncomp = 1, int ind = 0) const
163 {
164 return tppi_get_single_property_T_(Loi_en_T::BETA, P, T, R, ncomp, ind);
165 }
166
167 /*
168 * ***************** *
169 * Laws in enthalpy
170 * ***************** *
171 */
172 virtual int tppi_get_rho_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
173 {
174 return tppi_get_single_property_h_(Loi_en_h::RHO, P, H, R, ncomp, ind);
175 }
176
177 virtual int tppi_get_rho_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
178 {
179 return tppi_get_single_property_h_(Loi_en_h::RHO_DP, P, H, R, ncomp, ind);
180 }
181
182 virtual int tppi_get_rho_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
183 {
184 return tppi_get_single_property_h_(Loi_en_h::RHO_DH, P, H, R, ncomp, ind);
185 }
186
187 virtual int tppi_get_T_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
188 {
189 return tppi_get_single_property_h_(Loi_en_h::T, P, H, R, ncomp, ind);
190 }
191
192 virtual int tppi_get_T_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
193 {
194 return tppi_get_single_property_h_(Loi_en_h::T_DP, P, H, R, ncomp, ind);
195 }
196
197 virtual int tppi_get_T_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
198 {
199 return tppi_get_single_property_h_(Loi_en_h::T_DH, P, H, R, ncomp, ind);
200 }
201
202 virtual int tppi_get_cp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
203 {
204 return tppi_get_single_property_h_(Loi_en_h::CP, P, H, R, ncomp, ind);
205 }
206
207 virtual int tppi_get_cp_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
208 {
209 return tppi_get_single_property_h_(Loi_en_h::CP_DP, P, H, R, ncomp, ind);
210 }
211
212 virtual int tppi_get_cp_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
213 {
214 return tppi_get_single_property_h_(Loi_en_h::CP_DH, P, H, R, ncomp, ind);
215 }
216
217 virtual int tppi_get_mu_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
218 {
219 return tppi_get_single_property_h_(Loi_en_h::MU, P, H, R, ncomp, ind);
220 }
221
222 virtual int tppi_get_mu_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
223 {
224 return tppi_get_single_property_h_(Loi_en_h::MU_DP, P, H, R, ncomp, ind);
225 }
226
227 virtual int tppi_get_mu_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
228 {
229 return tppi_get_single_property_h_(Loi_en_h::MU_DH, P, H, R, ncomp, ind);
230 }
231
232 virtual int tppi_get_lambda_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
233 {
234 return tppi_get_single_property_h_(Loi_en_h::LAMBDA, P, H, R, ncomp, ind);
235 }
236
237 virtual int tppi_get_lambda_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
238 {
239 return tppi_get_single_property_h_(Loi_en_h::LAMBDA_DP, P, H, R, ncomp, ind);
240 }
241
242 virtual int tppi_get_lambda_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
243 {
244 return tppi_get_single_property_h_(Loi_en_h::LAMBDA_DH, P, H, R, ncomp, ind);
245 }
246
247 virtual int tppi_get_sigma_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
248 {
249 return tppi_get_single_property_h_(Loi_en_h::SIGMA, P, H, R, ncomp, ind);
250 }
251
252 virtual int tppi_get_sigma_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
253 {
254 return tppi_get_single_property_h_(Loi_en_h::SIGMA_DP, P, H, R, ncomp, ind);
255 }
256
257 virtual int tppi_get_sigma_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp = 1, int ind = 0) const
258 {
259 return tppi_get_single_property_h_(Loi_en_h::SIGMA_DH, P, H, R, ncomp, ind);
260 }
261
262 // simple call when needed: incompressible case
263 virtual int tppi_get_beta_ph(const SpanD P, const SpanD H, SpanD R, int ncomp, int ind) const
264 {
265 return tppi_get_single_property_h_(Loi_en_h::BETA, P, H, R, ncomp, ind);
266 }
267
268 /*
269 * ****************** *
270 * Saturation laws
271 * ****************** *
272 */
273 virtual int tppi_get_T_sat_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
274 {
275 return tppi_get_single_sat_p_(SAT::T_SAT, P, res, ncomp, ind);
276 }
277
278 virtual int tppi_get_T_sat_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
279 {
280 return tppi_get_single_sat_p_(SAT::T_SAT_DP, P, res, ncomp, ind);
281 }
282
283 virtual int tppi_get_p_sat_T(const SpanD T, SpanD res, int ncomp = 1, int ind = 0) const
284 {
285 return tppi_get_single_sat_p_(SAT::P_SAT, T, res, ncomp, ind);
286 }
287
288 virtual int tppi_get_p_sat_d_T_T(const SpanD T, SpanD res, int ncomp = 1, int ind = 0) const
289 {
290 return tppi_get_single_sat_p_(SAT::P_SAT_DT, T, res, ncomp, ind);
291 }
292
293 virtual int tppi_get_h_l_sat_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
294 {
295 return tppi_get_single_sat_p_(SAT::HL_SAT, P, res, ncomp, ind);
296 }
297
298 virtual int tppi_get_h_l_sat_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
299 {
300 return tppi_get_single_sat_p_(SAT::HL_SAT_DP, P, res, ncomp, ind);
301 }
302
303 virtual int tppi_get_h_v_sat_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
304 {
305 return tppi_get_single_sat_p_(SAT::HV_SAT, P, res, ncomp, ind, false /* vapor */);
306 }
307
308 virtual int tppi_get_h_v_sat_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
309 {
310 return tppi_get_single_sat_p_(SAT::HV_SAT_DP, P, res, ncomp, ind, false /* vapor */);
311 }
312
313 virtual int tppi_get_lvap_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
314 {
315 return tppi_get_single_sat_p_(SAT::LV_SAT, P, res, ncomp, ind);
316 }
317
318 virtual int tppi_get_lvap_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
319 {
320 return tppi_get_single_sat_p_(SAT::LV_SAT_DP, P, res, ncomp, ind);
321 }
322
323 virtual int tppi_get_rho_l_sat_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
324 {
325 return tppi_get_single_sat_p_(SAT::RHOL_SAT, P, res, ncomp, ind);
326 }
327
328 virtual int tppi_get_rho_l_sat_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
329 {
330 return tppi_get_single_sat_p_(SAT::RHOL_SAT_DP, P, res, ncomp, ind);
331 }
332
333 virtual int tppi_get_rho_v_sat_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
334 {
335 return tppi_get_single_sat_p_(SAT::RHOV_SAT, P, res, ncomp, ind, false /* vapor */);
336 }
337
338 virtual int tppi_get_rho_v_sat_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
339 {
340 return tppi_get_single_sat_p_(SAT::RHOV_SAT_DP, P, res, ncomp, ind, false /* vapor */);
341 }
342
343 virtual int tppi_get_cp_l_sat_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
344 {
345 return tppi_get_single_sat_p_(SAT::CPL_SAT, P, res, ncomp, ind);
346 }
347
348 virtual int tppi_get_cp_l_sat_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
349 {
350 return tppi_get_single_sat_p_(SAT::CPL_SAT_DP, P, res, ncomp, ind);
351 }
352
353 virtual int tppi_get_cp_v_sat_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
354 {
355 return tppi_get_single_sat_p_(SAT::CPV_SAT, P, res, ncomp, ind, false /* vapor */);
356 }
357
358 virtual int tppi_get_cp_v_sat_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const
359 {
360 return tppi_get_single_sat_p_(SAT::CPV_SAT_DP, P, res, ncomp, ind, false /* vapor */);
361 }
362
363 virtual inline int tppi_get_lambda_l_sat_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const { return not_implemented<int>(__func__); }
364 virtual inline int tppi_get_lambda_l_sat_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const { return not_implemented<int>(__func__); }
365
366 virtual inline int tppi_get_lambda_v_sat_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const { return not_implemented<int>(__func__); }
367 virtual inline int tppi_get_lambda_v_sat_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const { return not_implemented<int>(__func__); }
368
369 virtual inline int tppi_get_mu_l_sat_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const { return not_implemented<int>(__func__); }
370 virtual inline int tppi_get_mu_l_sat_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const { return not_implemented<int>(__func__); }
371
372 virtual inline int tppi_get_mu_v_sat_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const { return not_implemented<int>(__func__); }
373 virtual inline int tppi_get_mu_v_sat_d_p_p(const SpanD P, SpanD res, int ncomp = 1, int ind = 0) const { return not_implemented<int>(__func__); }
374
375protected:
376 virtual int tppi_get_single_property_T_(Loi_en_T , const SpanD , const SpanD , SpanD , int , int ) const { return not_implemented<int>(__func__); }
377 virtual int tppi_get_single_property_h_(Loi_en_h , const SpanD , const SpanD , SpanD , int , int ) const { return not_implemented<int>(__func__); }
378 virtual int tppi_get_single_sat_p_(SAT , const SpanD , SpanD , int , int , bool is_liq = true) const { return not_implemented<int>(__func__); }
379
380public:
381 // application-specific methods to improve performance: used in Pb_Multiphase
382 virtual inline int tppi_get_CPMLB_pb_multiphase_pT(const MSpanD input, MLoiSpanD prop, int ncomp = 1, int id = 0) const { return not_implemented<int>(__func__); }
383 virtual inline int tppi_get_all_pb_multiphase_pT(const MSpanD input, MLoiSpanD inter, MLoiSpanD bord, int ncomp = 1, int id = 0) const { return not_implemented<int>(__func__); }
384
385 virtual inline int tppi_get_CPMLB_pb_multiphase_ph(const MSpanD input, MLoiSpanD_h prop, int ncomp = 1, int id = 0) const { return not_implemented<int>(__func__); }
386 virtual inline int tppi_get_all_pb_multiphase_ph(const MSpanD input, MLoiSpanD_h inter, MLoiSpanD_h bord, int ncomp = 1, int id = 0) const { return not_implemented<int>(__func__); }
387
388 virtual inline int tppi_get_all_flux_interfacial_pb_multiphase(const SpanD P, MSatSpanD, int ncomp = 1, int id = 0) const { return not_implemented<int>(__func__); }
389
390 // application-specific methods to improve performance: used in F5
391 virtual inline int tppi_get_all_prop_loi_F5(const MSpanD , MLoiSpanD_h , int ncomp = 1, int id = 0, bool is_liq = true) const { return not_implemented<int>(__func__); }
392 virtual inline int tppi_get_all_sat_loi_F5(const MSpanD input, MSatSpanD sats, int ncomp = 1, int id = 0) const { return not_implemented<int>(__func__); }
393
394 virtual void set_user_uniform_sigma(const double ) { /* Do nothing */ }
395
396};
397
398#endif /* TPPI_included */
A character string (Nom) in uppercase.
Definition Motcle.h:26
virtual double tppi_get_rho_crit() const =0
virtual int tppi_get_h_l_sat_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:298
virtual double tppi_get_h_max() const =0
TYPE not_implemented(const char *nom_funct) const
Definition TPPI.h:60
virtual int tppi_get_T_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:187
virtual int tppi_get_h_v_sat_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:308
TPPI()=default
virtual int tppi_get_lambda_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:242
virtual int tppi_get_p_sat_d_T_T(const SpanD T, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:288
virtual double tppi_get_rho_min() const =0
virtual int tppi_get_cp_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:212
virtual int tppi_get_beta_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:162
virtual void set_user_uniform_sigma(const double)
Definition TPPI.h:394
virtual double tppi_get_T_min() const =0
virtual int tppi_get_rho_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:182
virtual int tppi_get_cp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:202
virtual void desactivate_handler(bool op=true)
Definition TPPI.h:38
virtual int tppi_get_lambda_l_sat_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:364
virtual int tppi_get_lambda_v_sat_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:366
virtual int tppi_get_sigma_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:146
virtual int tppi_get_T_sat_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:278
virtual int tppi_get_CPMLB_pb_multiphase_pT(const MSpanD input, MLoiSpanD prop, int ncomp=1, int id=0) const
Definition TPPI.h:382
virtual int tppi_get_cp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:101
virtual int tppi_get_beta_ph(const SpanD P, const SpanD H, SpanD R, int ncomp, int ind) const
Definition TPPI.h:263
virtual int tppi_get_mu_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:217
virtual int tppi_get_rho_l_sat_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:328
virtual int tppi_get_sigma_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:257
virtual int tppi_get_sigma_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:247
virtual int tppi_get_cp_l_sat_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:343
virtual int tppi_get_CPMLB_pb_multiphase_ph(const MSpanD input, MLoiSpanD_h prop, int ncomp=1, int id=0) const
Definition TPPI.h:385
virtual int tppi_get_rho_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:177
virtual int tppi_get_mu_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:126
virtual double tppi_get_p_min() const =0
virtual int tppi_get_rho_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:172
virtual int tppi_get_p_sat_T(const SpanD T, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:283
virtual int tppi_get_lambda_v_sat_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:367
virtual void set_saturation_generique(const char *const, const char *const)
Definition TPPI.h:33
virtual int tppi_get_all_pb_multiphase_pT(const MSpanD input, MLoiSpanD inter, MLoiSpanD bord, int ncomp=1, int id=0) const
Definition TPPI.h:383
virtual int tppi_get_cp_v_sat_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:358
virtual int tppi_get_mu_v_sat_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:373
virtual double tppi_get_T_max() const =0
virtual int tppi_get_cp_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:111
virtual int tppi_get_single_property_T_(Loi_en_T, const SpanD, const SpanD, SpanD, int, int) const
Definition TPPI.h:376
virtual int tppi_get_lambda_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:237
virtual void set_fluide_generique(const char *const, const char *const)
Definition TPPI.h:32
virtual int tppi_get_mu_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:121
virtual int tppi_get_T_sat_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:273
virtual int tppi_get_h_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:86
virtual void verify_phase(const Motcle &)
Definition TPPI.h:36
virtual int tppi_get_h_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:96
virtual int tppi_get_single_sat_p_(SAT, const SpanD, SpanD, int, int, bool is_liq=true) const
Definition TPPI.h:378
virtual double tppi_get_p_crit() const =0
virtual int tppi_get_rho_v_sat_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:338
virtual int tppi_get_all_prop_loi_F5(const MSpanD, MLoiSpanD_h, int ncomp=1, int id=0, bool is_liq=true) const
Definition TPPI.h:391
virtual int tppi_get_lvap_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:318
virtual ~TPPI()=default
virtual int tppi_get_h_v_sat_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:303
virtual double tppi_get_p_max() const =0
virtual int tppi_get_lambda_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:131
virtual int tppi_get_sigma_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:156
virtual int tppi_get_rho_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:81
virtual int tppi_get_cp_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:106
virtual int tppi_get_rho_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:71
virtual double tppi_get_h_crit() const =0
virtual int tppi_get_lambda_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:232
virtual int tppi_get_sigma_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:151
virtual int tppi_get_T_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:197
virtual int tppi_get_lvap_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:313
virtual int tppi_get_all_sat_loi_F5(const MSpanD input, MSatSpanD sats, int ncomp=1, int id=0) const
Definition TPPI.h:392
virtual int tppi_get_all_flux_interfacial_pb_multiphase(const SpanD P, MSatSpanD, int ncomp=1, int id=0) const
Definition TPPI.h:388
virtual int tppi_get_cp_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:207
virtual int tppi_get_mu_l_sat_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:369
virtual int tppi_get_T_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:192
virtual int tppi_get_lambda_l_sat_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:363
virtual int tppi_get_mu_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:222
virtual int tppi_get_single_property_h_(Loi_en_h, const SpanD, const SpanD, SpanD, int, int) const
Definition TPPI.h:377
virtual int tppi_get_mu_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:116
virtual int tppi_get_h_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:91
virtual double tppi_get_rho_max() const =0
virtual int tppi_get_rho_l_sat_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:323
virtual int tppi_get_mu_v_sat_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:372
virtual int tppi_get_rho_v_sat_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:333
virtual int tppi_get_rho_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:76
virtual int tppi_get_cp_v_sat_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:353
virtual double tppi_get_T_crit() const =0
virtual void set_path_refprop()
Definition TPPI.h:35
virtual int tppi_get_lambda_dp_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:136
virtual MRange all_unknowns_range()
Definition TPPI.cpp:18
virtual double tppi_get_h_min() const =0
virtual void set_phase(const Motcle &)
Definition TPPI.h:34
virtual int tppi_get_all_pb_multiphase_ph(const MSpanD input, MLoiSpanD_h inter, MLoiSpanD_h bord, int ncomp=1, int id=0) const
Definition TPPI.h:386
virtual int tppi_get_h_l_sat_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:293
virtual int tppi_get_cp_l_sat_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:348
virtual int tppi_get_lambda_dT_pT(const SpanD P, const SpanD T, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:141
virtual int tppi_get_mu_l_sat_d_p_p(const SpanD P, SpanD res, int ncomp=1, int ind=0) const
Definition TPPI.h:370
virtual int tppi_get_mu_dh_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:227
virtual int tppi_get_sigma_dp_ph(const SpanD P, const SpanD H, SpanD R, int ncomp=1, int ind=0) const
Definition TPPI.h:252