15#define propfunc(want, prop1, prop2, prop3) \
16 virtual Real want##_from_##prop1##_##prop2##_##prop3(Real, Real, Real) const \
18 mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented."); \
21 virtual void want##_from_##prop1##_##prop2##_##prop3(Real prop1, \
27 Real & d##want##d3) const \
29 if (_allow_imperfect_jacobians) \
30 mooseWarning(name(), ": ", __PRETTY_FUNCTION__, " derivatives not implemented."); \
32 mooseError(name(), ": ", __PRETTY_FUNCTION__, " derivatives not implemented."); \
37 val = want##_from_##prop1##_##prop2##_##prop3(prop1, prop2, prop3); \
40 ADReal want##_from_##prop1##_##prop2##_##prop3( \
41 const ADReal & p1, const ADReal & p2, const ADReal & p3) const \
43 const Real raw1 = p1.value(); \
44 const Real raw2 = p2.value(); \
45 const Real raw3 = p3.value(); \
50 want##_from_##prop1##_##prop2##_##prop3(raw1, raw2, raw3, x, dxd1, dxd2, dxd3); \
53 result.derivatives() = \
54 p1.derivatives() * dxd1 + p2.derivatives() * dxd2 + p3.derivatives() * dxd3; \
72#pragma GCC diagnostic push
73#pragma GCC diagnostic ignored "-Woverloaded-virtual"
130#pragma GCC diagnostic pop
176 Real & dmu_dx)
const;
DualNumber< Real, DNDerivativeType, true > ADReal
const InputParameters & parameters() const
Common class for multiple component fluid properties using a pressure and temperature formulation.
X X virtual X std::string fluidName() const
Fluid name.
virtual const SinglePhaseFluidProperties & getComponent(unsigned int component) const
Get UserObject for specified component.
virtual ~MultiComponentFluidProperties()
propfunc(rho, p, T, X) propfunc(mu
Compute a fluid property given for the state defined by three given properties.
static InputParameters validParams()
virtual void rho_mu_from_p_T_X(Real pressure, Real temperature, Real xmass, Real &rho, Real &mu) const
Density and viscosity.
Common class for single phase fluid properties.