Line data Source code
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 : 10 : #include "ThermalCompositeSiCProperties.h" 11 : #include "libmesh/utility.h" 12 : 13 : registerMooseObject("SolidPropertiesApp", ThermalCompositeSiCProperties); 14 : 15 : InputParameters 16 39 : ThermalCompositeSiCProperties::validParams() 17 : { 18 39 : InputParameters params = ThermalSolidProperties::validParams(); 19 : 20 78 : params.addRangeCheckedParam<Real>("density", 3216.0, "density > 0.0", "(Constant) density"); 21 39 : params.addClassDescription("Composite silicon carbide thermal properties."); 22 39 : return params; 23 0 : } 24 : 25 20 : ThermalCompositeSiCProperties::ThermalCompositeSiCProperties(const InputParameters & parameters) 26 : : ThermalSolidProperties(parameters), 27 20 : _rho_const(getParam<Real>("density")), 28 20 : _c1(925.65), 29 20 : _c2(0.3772), 30 20 : _c3(7.9259e-5), 31 20 : _c4(3.1946e7) 32 : { 33 20 : } 34 : 35 : Real 36 612 : ThermalCompositeSiCProperties::cp_from_T(const Real & T) const 37 : { 38 612 : return _c1 + _c2 * T - _c3 * Utility::pow<2>(T) - _c4 / Utility::pow<2>(T); 39 : } 40 : 41 : void 42 2 : ThermalCompositeSiCProperties::cp_from_T(const Real & T, Real & cp, Real & dcp_dT) const 43 : { 44 2 : cp = cp_from_T(T); 45 2 : dcp_dT = _c2 - 2.0 * _c3 * T + 2.0 * _c4 / Utility::pow<3>(T); 46 2 : } 47 : 48 : Real 49 14 : ThermalCompositeSiCProperties::cp_integral(const Real & T) const 50 : { 51 14 : return _c1 * T + 0.5 * _c2 * Utility::pow<2>(T) - _c3 / 3.0 * Utility::pow<3>(T) + _c4 / T; 52 : } 53 : 54 : Real 55 610 : ThermalCompositeSiCProperties::k_from_T(const Real & T) const 56 : { 57 610 : return -1.71e-11 * Utility::pow<4>(T) + 7.35e-8 * Utility::pow<3>(T) - 58 610 : 1.10e-4 * Utility::pow<2>(T) + 0.061 * T + 7.97; 59 : } 60 : 61 : void 62 2 : ThermalCompositeSiCProperties::k_from_T(const Real & T, Real & k, Real & dk_dT) const 63 : { 64 2 : k = k_from_T(T); 65 2 : dk_dT = -6.84e-11 * Utility::pow<3>(T) + 2.205e-7 * Utility::pow<2>(T) - 2.2e-4 * T + 0.061; 66 2 : } 67 : 68 : Real 69 610 : ThermalCompositeSiCProperties::rho_from_T(const Real & /* T */) const 70 : { 71 610 : return _rho_const; 72 : } 73 : 74 : void 75 2 : ThermalCompositeSiCProperties::rho_from_T(const Real & T, Real & rho, Real & drho_dT) const 76 : { 77 2 : rho = rho_from_T(T); 78 2 : drho_dT = 0.0; 79 2 : }