43 if (T < _T_mo || T > 880)
44 flagInvalidSolution(
"Temperature out of bounds for the PbLi density computation");
45 return 10520.35 - 1.19051 *
T;
50 Real p, Real T, Real & rho, Real & drho_dp, Real & drho_dT)
const 61 rho = SinglePhaseFluidProperties::rho_from_p_T(
p,
T);
77 dv_dT = 1.19051 / Utility::pow<2>(10520.35 - 1.19051 *
T);
83 Real T = (10520.35 - 1.0 /
v) / 1.19051;
85 if (T < _T_mo || T > 880)
86 flagInvalidSolution(
"Specific volume out of bounds for the PbLi temperature computation");
95 dT_dv = 1.0 / (1.19051 *
v *
v);
107 return 1876 - 0.306 *
T;
114 return 1876 - 0.306 *
T;
120 ADReal T = SinglePhaseFluidProperties::T_from_v_e(
v, e);
121 return 1876 - 0.306 *
T;
135 Real h, dh_dv, dh_de;
137 dp_dv = (
v * dh_dv -
h + e) / (
v *
v);
138 dp_de = (dh_de - 1) /
v;
145 if (T < _T_mo || T > 800)
146 flagInvalidSolution(
"Temperature out of bounds for the PbLi specific heat computation");
147 return 195.0 - 9.116e-3 *
T;
152 Real
v, Real e, Real &
cp, Real & dcp_dv, Real & dcp_de)
const 154 Real T, dT_dv, dT_de;
157 const Real dcp_dT = -9.116e-3;
158 dcp_dv = dcp_dT * dT_dv;
159 dcp_de = dcp_dT * dT_de;
175 Real p, Real T, Real &
cv, Real & dcv_dp, Real & dcv_dT)
const 180 const Real dT = 1e-6;
182 dcv_dT = (cv_plus -
cv) / dT;
195 Real
v, Real e, Real &
cv, Real & dcv_dv, Real & dcv_de)
const 197 Real p, dp_dv, dp_de;
199 Real T, dT_dv, dT_de;
203 dcv_dv = dcv_dp * dp_dv + dcv_dT * dT_dv;
204 dcv_de = dcv_dp * dp_de + dcv_dT * dT_de;
211 if (T < _T_mo || T > 625)
212 flagInvalidSolution(
"Temperature out of bounds for the PbLi viscosity computation");
218 Real
v, Real e, Real &
mu, Real & dmu_dv, Real & dmu_de)
const 220 Real T, dT_dv, dT_de;
224 dmu_dv = factor *
mu * dT_dv;
225 dmu_de = factor *
mu * dT_de;
232 if (T < _T_mo || T > 873)
233 flagInvalidSolution(
"Temperature out of bounds for the PbLi dynamic viscosity computation");
234 return 14.51 + 1.9631e-2 *
T;
240 Real T, dT_dv, dT_de;
243 dk_dv = 0.019631 * dT_dv;
244 dk_de = 0.019631 * dT_de;
250 if (T < _T_mo || T > 800)
251 flagInvalidSolution(
"Temperature out of bounds for the PbLi enthalpy computation");
273 Real T, dT_dv, dT_de;
292 Real dh_dp, dv_dp, dh_dT, dv_dT,
v,
h;
296 de_dp = dh_dp -
v - dv_dp *
p;
297 de_dT = dh_dT - dv_dT *
p;
308 Real p, Real rho, Real & e, Real & de_dp, Real & de_drho)
const 310 Real T, dT_dp, dT_drho;
314 de_dp = de_dp_T + de_dT * dT_dp;
315 de_drho = de_dT * dT_drho;
321 Real T = (10520.35 -
rho) / 1.19051;
322 if (T < _T_mo || T > 880)
323 flagInvalidSolution(
"Temperature out of bounds for the PbLi density computation");
329 Real p, Real rho, Real & T, Real & dT_dp, Real & dT_drho)
const 333 dT_drho = -1.0 / 1.19051;
341 const auto a = -0.5 * 9.116e-3;
344 const auto T = (-
b + std::sqrt(
b *
b - 4 *
a *
c)) / (2 *
a);
353 Real h1, dh_dp, dh_dT;
361 if (T < _T_mo || T > 800)
362 flagInvalidSolution(
"Temperature out of bounds for the PbLi specific heat computation");
363 return 195.0 - 9.116e-3 *
T;
368 Real p, Real T, Real &
cp, Real & dcp_dp, Real & dcp_dT)
const 378 if (T < _T_mo || T > 625)
379 flagInvalidSolution(
"Temperature out of bounds for the PbLi viscosity computation");
385 Real p, Real T, Real &
mu, Real & dmu_dp, Real & dmu_dT)
const 395 if (T < _T_mo || T > 873)
396 flagInvalidSolution(
"Temperature out of bounds for the PbLi dynamic viscosity computation");
397 return 14.51 + 1.9631e-2 *
T;
Real cp_from_v_e(Real v, Real e) const override
Real e_from_p_rho(Real p, Real rho) const override
Real bulk_modulus_from_p_T(Real p, Real T) const
Isentropic bulk modulus from pressure and temperature.
e e e e s T T T T T rho T
static const std::string cv
static InputParameters validParams()
Real k_from_p_T(Real p, Real T) const override
LeadLithiumFluidProperties(const InputParameters ¶meters)
Real T_from_p_h(Real p, Real h) const override
Real T_from_v_e(Real v, Real e) const override
Real k_from_v_e(Real v, Real e) const override
Real p_from_v_e(Real v, Real e) const override
static const Real _R
Universal gas constant (J/mol/K)
registerMooseObject("FluidPropertiesApp", LeadLithiumFluidProperties)
DualNumber< Real, DNDerivativeType, true > ADReal
Real molarMass() const override
Molar mass [kg/mol].
Real T_from_p_rho(Real p, Real rho) const
Temperature from pressure and density.
Real cp_from_p_T(Real p, Real T) const override
Real h_from_p_T(Real p, Real T) const override
Real mu_from_v_e(Real v, Real e) const override
static const std::string cp
e e e e s T T T T T rho v v T e h
Real c_from_v_e(Real v, Real e) const override
Real h_from_v_e(Real v, Real e) const override
static const std::string mu
Common class for single phase fluid properties.
Real e_from_p_T(Real p, Real T) const override
Fluid properties for 83Pb17Li (LeadLithium)
static constexpr Real _T_mo
Melting temperature (K) of 83Pb17Li.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string v
Real mu_from_p_T(Real p, Real T) const override
static const std::string alpha
Real rho_from_p_T(Real p, Real T) const override
Real cv_from_v_e(Real v, Real e) const override
virtual std::string fluidName() const override
Fluid name.
Real c_from_p_T(Real p, Real T) const override
static const std::string k
static InputParameters validParams()
Real cv_from_p_T(Real p, Real T) const override
Real v_from_p_T(Real p, Real T) const override