TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Fluide_generique_TPPI_base.h
1/****************************************************************************
2* Copyright (c) 2024, 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 Fluide_generique_TPPI_base_included
17#define Fluide_generique_TPPI_base_included
18
19#include <Fluide_reel_base.h>
20#include <TPPI.h>
21
23{
24 Declare_base( Fluide_generique_TPPI_base ) ;
25public :
26
27 MRange unknown_range() const override
28 {
29 if (tmax_ < -100. )
31
32 return { { "temperature", { tmin_ - 273.15, tmax_ - 273.15 } }, { "pression", { pmin_, pmax_ } } };
33 }
34
35 MRange unknown_range_h() const override
36 {
37 if (hmax_ < -100. )
39
40 return { { "enthalpie", { hmin_ , hmax_ } }, { "pression", { pmin_, pmax_ } } };
41 }
42
43 // lois en T
44 void rho_(const SpanD T, const SpanD P, SpanD R, int ncomp = 1, int id = 0) const override
45 {
46 TPPI_->tppi_get_rho_pT(P, Tk_(T), R, ncomp, id);
47 Tc_(T); /* put back T in C */
48 }
49
50 void dP_rho_(const SpanD T, const SpanD P, SpanD dP_R, int ncomp = 1, int id = 0) const override
51 {
52 TPPI_->tppi_get_rho_dp_pT(P, Tk_(T), dP_R, ncomp, id);
53 Tc_(T); /* put back T in C */
54 }
55
56 void dT_rho_(const SpanD T, const SpanD P, SpanD dT_R, int ncomp = 1, int id = 0) const override
57 {
58 TPPI_->tppi_get_rho_dT_pT(P, Tk_(T), dT_R, ncomp, id);
59 Tc_(T); /* put back T in C */
60 }
61
62 void h_(const SpanD T, const SpanD P, SpanD H, int ncomp = 1, int id = 0) const override
63 {
64 TPPI_->tppi_get_h_pT(P, Tk_(T), H, ncomp, id);
65 Tc_(T); /* put back T in C */
66 }
67
68 void dP_h_(const SpanD T, const SpanD P, SpanD dP_H, int ncomp = 1, int id = 0) const override
69 {
70 TPPI_->tppi_get_h_dp_pT(P, Tk_(T), dP_H, ncomp, id);
71 Tc_(T); /* put back T in C */
72 }
73
74 void dT_h_(const SpanD T, const SpanD P, SpanD dT_H, int ncomp = 1, int id = 0) const override
75 {
76 TPPI_->tppi_get_h_dT_pT(P, Tk_(T), dT_H, ncomp, id);
77 Tc_(T); /* put back T in C */
78 }
79
80 void cp_(const SpanD T, const SpanD P, SpanD CP, int ncomp = 1, int id = 0) const override
81 {
82 TPPI_->tppi_get_cp_pT(P, Tk_(T), CP, ncomp, id);
83 Tc_(T); /* put back T in C */
84 }
85
86 void beta_(const SpanD T, const SpanD P, SpanD B, int ncomp = 1, int id = 0) const override
87 {
88 TPPI_->tppi_get_beta_pT(P, Tk_(T), B, ncomp, id);
89 Tc_(T); /* put back T in C */
90 }
91
92 void mu_(const SpanD T, const SpanD P, SpanD M, int ncomp = 1, int id = 0) const override
93 {
94 TPPI_->tppi_get_mu_pT(P, Tk_(T), M, ncomp, id);
95 Tc_(T); /* put back T in C */
96 }
97
98 void lambda_(const SpanD T, const SpanD P, SpanD L, int ncomp = 1, int id = 0) const override
99 {
100 TPPI_->tppi_get_lambda_pT(P, Tk_(T), L, ncomp, id);
101 Tc_(T); /* put back T in C */
102 }
103
104 void compute_CPMLB_pb_multiphase_(const MSpanD input, MLoiSpanD prop, int ncomp = 1, int id = 0) const override
105 {
106 TPPI_->tppi_get_CPMLB_pb_multiphase_pT(input, prop, ncomp, id);
107 }
108
109 void compute_all_pb_multiphase_(const MSpanD input, MLoiSpanD inter, MLoiSpanD bord, int ncomp = 1, int id = 0) const override
110 {
111 TPPI_->tppi_get_all_pb_multiphase_pT(input,inter, bord, ncomp, id);
112 }
113
114 // lois en h
115 void rho_h_(const SpanD h, const SpanD P, SpanD R, int ncomp = 1, int id = 0) const override
116 {
117 TPPI_->tppi_get_rho_ph(P, h, R, ncomp, id);
118 }
119
120 void dP_rho_h_(const SpanD h, const SpanD P, SpanD dP_R, int ncomp = 1, int id = 0) const override
121 {
122 TPPI_->tppi_get_rho_dp_ph(P, h, dP_R, ncomp, id);
123 }
124
125 void dh_rho_h_(const SpanD h, const SpanD P, SpanD dT_R, int ncomp = 1, int id = 0) const override
126 {
127 TPPI_->tppi_get_rho_dh_ph(P, h, dT_R, ncomp, id);
128 }
129
130 void T_(const SpanD h, const SpanD P, SpanD T, int ncomp = 1, int id = 0) const override
131 {
132 TPPI_->tppi_get_T_ph(P, h, T, ncomp, id);
133 Tc_(T); /* put back T in C */
134 }
135
136 void dP_T_(const SpanD h, const SpanD P, SpanD dP_T, int ncomp = 1, int id = 0) const override
137 {
138 TPPI_->tppi_get_T_dp_ph(P, h, dP_T, ncomp, id);
139 }
140
141 void dh_T_(const SpanD h, const SpanD P, SpanD dh_T, int ncomp = 1, int id = 0) const override
142 {
143 TPPI_->tppi_get_T_dh_ph(P, h, dh_T, ncomp, id);
144 }
145
146 void cp_h_(const SpanD h, const SpanD P, SpanD CP, int ncomp = 1, int id = 0) const override
147 {
148 TPPI_->tppi_get_cp_ph(P, h, CP, ncomp, id);
149 }
150
151 void beta_h_(const SpanD h, const SpanD P, SpanD B, int ncomp = 1, int id = 0) const override
152 {
153 TPPI_->tppi_get_beta_ph(P, h, B, ncomp, id);
154 }
155
156 void mu_h_(const SpanD h, const SpanD P, SpanD M, int ncomp = 1, int id = 0) const override
157 {
158 TPPI_->tppi_get_mu_ph(P, h, M, ncomp, id);
159 }
160
161 void lambda_h_(const SpanD h, const SpanD P, SpanD L, int ncomp = 1, int id = 0) const override
162 {
163 TPPI_->tppi_get_lambda_ph(P, h, L, ncomp, id);
164 }
165
166 void compute_CPMLB_pb_multiphase_h_(const MSpanD input, MLoiSpanD_h prop, int ncomp = 1, int id = 0) const override
167 {
168 TPPI_->tppi_get_CPMLB_pb_multiphase_ph(input, prop, ncomp, id);
169 }
170
171 void compute_all_pb_multiphase_h_(const MSpanD input, MLoiSpanD_h inter, MLoiSpanD_h bord, int ncomp = 1, int id = 0) const override
172 {
173 TPPI_->tppi_get_all_pb_multiphase_ph(input, inter, bord, ncomp, id);
174 }
175
176protected:
177 std::shared_ptr<TPPI> TPPI_ = nullptr;
179 double tmin_ = -123., tmax_ = -123., pmin_ = -123., pmax_ = -123., hmin_ = -123., hmax_ = -123.;
180};
181
182#endif /* Fluide_generique_TPPI_base_included */
void dP_T_(const SpanD h, const SpanD P, SpanD dP_T, int ncomp=1, int id=0) const override
MRange unknown_range_h() const override
void dT_rho_(const SpanD T, const SpanD P, SpanD dT_R, int ncomp=1, int id=0) const override
void dP_rho_(const SpanD T, const SpanD P, SpanD dP_R, int ncomp=1, int id=0) const override
void T_(const SpanD h, const SpanD P, SpanD T, int ncomp=1, int id=0) const override
void compute_all_pb_multiphase_(const MSpanD input, MLoiSpanD inter, MLoiSpanD bord, int ncomp=1, int id=0) const override
void mu_h_(const SpanD h, const SpanD P, SpanD M, int ncomp=1, int id=0) const override
void rho_h_(const SpanD h, const SpanD P, SpanD R, int ncomp=1, int id=0) const override
void h_(const SpanD T, const SpanD P, SpanD H, int ncomp=1, int id=0) const override
void dP_rho_h_(const SpanD h, const SpanD P, SpanD dP_R, int ncomp=1, int id=0) const override
void beta_(const SpanD T, const SpanD P, SpanD B, int ncomp=1, int id=0) const override
void dP_h_(const SpanD T, const SpanD P, SpanD dP_H, int ncomp=1, int id=0) const override
void cp_(const SpanD T, const SpanD P, SpanD CP, int ncomp=1, int id=0) const override
void rho_(const SpanD T, const SpanD P, SpanD R, int ncomp=1, int id=0) const override
void dh_T_(const SpanD h, const SpanD P, SpanD dh_T, int ncomp=1, int id=0) const override
void lambda_(const SpanD T, const SpanD P, SpanD L, int ncomp=1, int id=0) const override
void compute_CPMLB_pb_multiphase_h_(const MSpanD input, MLoiSpanD_h prop, int ncomp=1, int id=0) const override
MRange unknown_range() const override
void mu_(const SpanD T, const SpanD P, SpanD M, int ncomp=1, int id=0) const override
void compute_all_pb_multiphase_h_(const MSpanD input, MLoiSpanD_h inter, MLoiSpanD_h bord, int ncomp=1, int id=0) const override
void dT_h_(const SpanD T, const SpanD P, SpanD dT_H, int ncomp=1, int id=0) const override
void lambda_h_(const SpanD h, const SpanD P, SpanD L, int ncomp=1, int id=0) const override
void cp_h_(const SpanD h, const SpanD P, SpanD CP, int ncomp=1, int id=0) const override
void compute_CPMLB_pb_multiphase_(const MSpanD input, MLoiSpanD prop, int ncomp=1, int id=0) const override
void dh_rho_h_(const SpanD h, const SpanD P, SpanD dT_R, int ncomp=1, int id=0) const override
void beta_h_(const SpanD h, const SpanD P, SpanD B, int ncomp=1, int id=0) const override
virtual std::map< std::string, std::array< double, 2 > > unknown_range() const
virtual std::map< std::string, std::array< double, 2 > > unknown_range_h() const
Une chaine de caractere (Nom) en majuscules.
Definition Motcle.h:26