17 #define propfuncNonADValueOnly(want) \ 18 virtual Real want##_from_T(const Real &) const \ 20 mooseError(__PRETTY_FUNCTION__, " not implemented."); \ 27 #define propfuncNonADDerivatives(want) \ 28 virtual void want##_from_T(const Real & T, Real & val, Real & d##want##dT) const \ 30 solidPropError(__PRETTY_FUNCTION__, " derivatives not implemented."); \ 32 val = want##_from_T(T); \ 40 #define propfuncAD(want) \ 41 virtual ADReal want##_from_T(const ADReal & T) const \ 44 Real raw = T.value(); \ 46 want##_from_T(raw, x, dxdT); \ 49 result.derivatives() = T.derivatives() * dxdT; \ 57 #define propfunc(want) propfuncNonADValueOnly(want) propfuncNonADDerivatives(want) propfuncAD(want) 69 #pragma GCC diagnostic push 70 #pragma GCC diagnostic ignored "-Woverloaded-virtual" 103 virtual Real cp_integral(
const Real & )
const 105 mooseError(__PRETTY_FUNCTION__,
" not implemented.");
122 template <
typename... Args>
123 void solidPropError(Args... args)
const 133 const Real _T_zero_e;
136 #pragma GCC diagnostic pop propfunc(k) propfunc(cp) propfunc(rho) virtual Real cp_integral(const Real &) const
Compute a solid property as a function of temperature (Kelvin)
Common class for solid properties that are a function of temperature.
static InputParameters validParams()
void mooseWarning(Args &&... args) const
static const std::string cp
const bool _allow_imperfect_jacobians
Flag to set unimplemented Jacobian entries to zero.
ThermalSolidProperties(const InputParameters ¶meters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseError(Args &&... args) const
const InputParameters & parameters() const
static const std::string k
Real e_from_T(const Real &T) const