17 params.addCustomTypeParam<std::string>(
18 "fp_type",
"single-phase-fp",
"FPType",
"Type of the fluid property object");
30 SinglePhaseFluidProperties::e_from_p_T(Real p, Real T)
const
32 const Real
rho = rho_from_p_T(
p,
T);
33 return e_from_p_rho(
p,
rho);
37 SinglePhaseFluidProperties::e_from_p_T(Real p, Real T, Real & e, Real & de_dp, Real & de_dT)
const
40 Real
rho = 0., drho_dp = 0., drho_dT = 0.;
41 rho_from_p_T(
p,
T,
rho, drho_dp, drho_dT);
44 Real depr_dp = 0., depr_drho = 0.;
45 e_from_p_rho(
p,
rho, e, depr_dp, depr_drho);
50 de_dp = depr_dp + depr_drho * drho_dp;
51 de_dT = depr_drho * drho_dT;
55 SinglePhaseFluidProperties::v_from_p_T(Real p, Real T)
const
57 const Real
rho = rho_from_p_T(
p,
T);
62 SinglePhaseFluidProperties::v_from_p_T(Real p, Real T, Real & v, Real & dv_dp, Real & dv_dT)
const
64 Real
rho, drho_dp, drho_dT;
65 rho_from_p_T(
p,
T,
rho, drho_dp, drho_dT);
68 const Real dv_drho = -1.0 / (
rho *
rho);
70 dv_dp = dv_drho * drho_dp;
71 dv_dT = dv_drho * drho_dT;
75 SinglePhaseFluidProperties::beta_from_p_T(Real, Real, Real &, Real &, Real &)
const
77 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" is not implemented.");
81 SinglePhaseFluidProperties::beta_from_p_T(Real p, Real T)
const
90 Real
rho, drho_dp, drho_dT;
91 rho_from_p_T(
p,
T,
rho, drho_dp, drho_dT);
92 return -drho_dT /
rho;
98 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
102 SinglePhaseFluidProperties::fluidName()
const
104 return std::string(
"");
110 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
116 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
122 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
128 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
134 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
140 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
144 SinglePhaseFluidProperties::gamma_from_v_e(Real v, Real e)
const
146 return cp_from_v_e(
v, e) / cv_from_v_e(
v, e);
150 SinglePhaseFluidProperties::gamma_from_v_e(
151 Real v, Real e, Real & gamma, Real & dgamma_dv, Real & dgamma_de)
const
157 gamma = gamma_from_v_e(
v, e);
161 SinglePhaseFluidProperties::gamma_from_p_T(Real p, Real T)
const
163 return cp_from_p_T(
p,
T) / cv_from_p_T(
p,
T);
167 SinglePhaseFluidProperties::gamma_from_p_T(
168 Real p, Real T, Real & gamma, Real & dgamma_dp, Real & dgamma_dT)
const
174 gamma = gamma_from_p_T(
p,
T);
179 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
185 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
207 result.derivatives() =
T.derivatives() * dpdT;
214 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
236 result.derivatives() =
p.derivatives() * dTdp;
251 rho_from_p_T(
p,
T,
rho, drho_dp, drho_dT);
252 e_from_p_T(
p,
T, e, de_dp, de_dT);
258 rho = rho_from_p_T(
p,
T);
259 mu = mu_from_p_T(
p,
T);
272 rho_from_p_T(
p,
T,
rho, drho_dp, drho_dT);
273 mu_from_p_T(
p,
T, mu, dmu_dp, dmu_dT);
282 rho = rho_from_p_T(
p,
T);
283 mu = mu_from_p_T(
p,
T);
288 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
294 mooseError(
name(),
": ", __PRETTY_FUNCTION__,
" not implemented.");
298 SinglePhaseFluidProperties::T_from_p_h(Real p, Real h)
const
300 const Real s = s_from_h_p(
h,
p);
301 const Real
rho = rho_from_p_s(
p, s);
302 const Real
v = 1. /
rho;
303 const Real e = e_from_v_h(
v,
h);
304 return T_from_v_e(
v, e);
308 SinglePhaseFluidProperties::T_from_p_h(Real p, Real h, Real & T, Real & dT_dp, Real & dT_dh)
const
310 Real s, ds_dh, ds_dp;
311 s_from_h_p(
h,
p, s, ds_dh, ds_dp);
313 Real
rho, drho_dp_partial, drho_ds;
314 rho_from_p_s(
p, s,
rho, drho_dp_partial, drho_ds);
315 const Real drho_dp = drho_dp_partial + drho_ds * ds_dp;
316 const Real drho_dh = drho_ds * ds_dh;
318 const Real
v = 1.0 /
rho;
319 const Real dv_drho = -1.0 / (
rho *
rho);
320 const Real dv_dp = dv_drho * drho_dp;
321 const Real dv_dh = dv_drho * drho_dh;
323 Real e, de_dv, de_dh_partial;
324 e_from_v_h(
v,
h, e, de_dv, de_dh_partial);
325 const Real de_dp = de_dv * dv_dp;
326 const Real de_dh = de_dh_partial + de_dv * dv_dh;
329 T_from_v_e(
v, e,
T, dT_dv, dT_de);
330 dT_dp = dT_dv * dv_dp + dT_de * de_dp;
331 dT_dh = dT_dv * dv_dh + dT_de * de_dh;