https://mooseframework.inl.gov
SolidMaterialProperties.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 
12 registerMooseObjectDeprecated("ThermalHydraulicsApp", SolidMaterialProperties, "04/31/2024 24:00");
13 
16 {
18  params.addClassDescription(
19  "User object to compute solid material properties using functions of temperature");
20  params.addRequiredParam<FunctionName>("k", "Thermal conductivity [W/(m-K)]");
21  params.addDeprecatedParam<FunctionName>(
22  "Cp",
23  "Specific heat [J/(kg-K)]",
24  "The parameter 'Cp' has been deprecated. Use 'cp' instead.");
25  params.addParam<FunctionName>("cp", "Specific heat [J/(kg-K)]");
26  params.addRequiredParam<FunctionName>("rho", "Density [kg/m^3]");
27 
28  params.addPrivateParam<ExecFlagEnum>("execute_on");
29  params.addPrivateParam<bool>("use_displaced_mesh");
30 
31  params.declareControllable("rho cp k");
32 
33  params.registerBase("SolidMaterialProperties");
34 
35  return params;
36 }
37 
39  : GeneralUserObject(parameters),
40  _k(getFunction("k")),
41  _cp(isParamValid("Cp") ? getFunction("Cp") : getFunction("cp")),
42  _rho(getFunction("rho"))
43 {
44  mooseDeprecated("Heat structure materials are deprecated in favor of SolidProperties objects. "
45  "See heat structure documentation for more information.");
46 }
47 
48 void
50 {
51 }
52 
53 void
55 {
56 }
57 
58 void
60 {
61 }
62 
63 ADReal
65 {
66  return _k.value(temp, ADPoint());
67 }
68 
69 ADReal
71 {
72  return _cp.value(temp, ADPoint());
73 }
74 
75 ADReal
77 {
78  return _rho.value(temp, ADPoint());
79 }
void addDeprecatedParam(const std::string &name, const T &value, const std::string &doc_string, const std::string &deprecation_message)
void mooseDeprecated(Args &&... args) const
static InputParameters validParams()
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addPrivateParam(const std::string &name, const T &value)
ADReal rho(const ADReal &temp) const
SolidMaterialProperties(const InputParameters &parameters)
static InputParameters validParams()
DualNumber< Real, DNDerivativeType, true > ADReal
void addRequiredParam(const std::string &name, const std::string &doc_string)
ADReal cp(const ADReal &temp) const
void registerBase(const std::string &value)
ADReal k(const ADReal &temp) const
registerMooseObjectDeprecated("ThermalHydraulicsApp", SolidMaterialProperties, "04/31/2024 24:00")
void addClassDescription(const std::string &doc_string)
virtual Real value(Real t, const Point &p) const
void declareControllable(const std::string &name, std::set< ExecFlagType > execute_flags={})