Go to the documentation of this file.
24 #define propfuncAD(want, prop1, prop2) \
25 virtual DualReal want##_from_##prop1##_##prop2(const DualReal & p1, const DualReal & p2) const \
28 Real raw1 = p1.value(); \
29 Real raw2 = p2.value(); \
32 want##_from_##prop1##_##prop2(raw1, raw2, x, dxd1, dxd2); \
34 DualReal result = x; \
35 result.derivatives() = p1.derivatives() * dxd1 + p2.derivatives() * dxd2; \
39 virtual void want##_from_##prop1##_##prop2(const DualReal & prop1, \
40 const DualReal & prop2, \
42 DualReal & d##want##d1, \
43 DualReal & d##want##d2) const \
45 fluidPropError(name(), ": ", __PRETTY_FUNCTION__, " derivative derivatives not implemented."); \
46 Real dummy, tmp1, tmp2; \
47 val = want##_from_##prop1##_##prop2(prop1, prop2); \
48 want##_from_##prop1##_##prop2(prop1.value(), prop2.value(), dummy, tmp1, tmp2); \
57 #define propfunc(want, prop1, prop2) \
58 virtual Real want##_from_##prop1##_##prop2(Real, Real) const \
60 mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented."); \
63 virtual void want##_from_##prop1##_##prop2( \
64 Real prop1, Real prop2, Real & val, Real & d##want##d1, Real & d##want##d2) const \
66 fluidPropError(name(), ": ", __PRETTY_FUNCTION__, " derivatives not implemented."); \
69 val = want##_from_##prop1##_##prop2(prop1, prop2); \
72 propfuncAD(want, prop1, prop2)
79 #define propfuncWithDefault(want, prop1, prop2) \
80 virtual Real want##_from_##prop1##_##prop2(Real, Real) const; \
81 virtual void want##_from_##prop1##_##prop2( \
82 Real prop1, Real prop2, Real & val, Real & d##want##d1, Real & d##want##d2) const; \
84 propfuncAD(want, prop1, prop2)
95 #pragma GCC diagnostic push
96 #pragma GCC diagnostic ignored "-Woverloaded-virtual"
196 #undef propfuncWithDefault
203 virtual std::string fluidName()
const;
273 virtual void vaporPressure(Real
T, Real & psat, Real & dpsat_dT)
const;
311 Real & dmu_dT)
const;
325 template <
typename... Args>
329 mooseDoOnce(mooseWarning(std::forward<Args>(args)...));
331 mooseError(std::forward<Args>(args)...);
335 #pragma GCC diagnostic pop
virtual void rho_mu_from_p_T(Real p, Real T, Real &rho, Real &mu) const
Combined methods.
virtual void v_e_spndl_from_T(Real T, Real &v, Real &e) const
Specific internal energy from temperature and specific volume.
virtual std::vector< Real > henryCoefficients() const
Henry's law coefficients for dissolution in water.
Common class for single phase fluid properties.
virtual Real criticalInternalEnergy() const
Critical specific internal energy.
virtual void rho_e_from_p_T(Real p, Real T, Real &rho, Real &drho_dp, Real &drho_dT, Real &e, Real &de_dp, Real &de_dT) const
SinglePhaseFluidProperties(const InputParameters ¶meters)
virtual Real triplePointPressure() const
Triple point pressure.
virtual Real criticalPressure() const
Critical pressure.
virtual ~SinglePhaseFluidProperties()
virtual Real triplePointTemperature() const
Triple point temperature.
e e e e p h T T T T T v v v s h T e propfuncWithDefault(gamma, p, T)
virtual Real criticalTemperature() const
Critical temperature.
virtual Real vaporPressure(Real T) const
Vapor pressure.
virtual Real vaporTemperature(Real p) const
Vapor temperature.
virtual Real e_spndl_from_v(Real v) const
Specific internal energy from temperature and specific volume.
virtual Real criticalDensity() const
Critical density.
virtual virtual std Real molarMass() const
Fluid name.
void fluidPropError(Args... args) const
const bool _allow_imperfect_jacobians
Flag to set unimplemented Jacobian entries to zero.
InputParameters validParams< SinglePhaseFluidProperties >()
propfunc(p, v, e) propfunc(T
Compute a fluid property given for the state defined by two given properties.