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 "ViewFactorObjectSurfaceRadiation.h" 11 : #include "ViewFactorBase.h" 12 : 13 : registerMooseObject("HeatTransferApp", ViewFactorObjectSurfaceRadiation); 14 : 15 : InputParameters 16 276 : ViewFactorObjectSurfaceRadiation::validParams() 17 : { 18 276 : InputParameters params = GrayLambertSurfaceRadiationBase::validParams(); 19 552 : params.addRequiredParam<UserObjectName>("view_factor_object_name", 20 : "Name of the ViewFactor userobjects."); 21 276 : params.addClassDescription( 22 : "ViewFactorObjectSurfaceRadiation computes radiative heat transfer between side sets and the " 23 : "view factors are computed by a ViewFactor object"); 24 276 : return params; 25 0 : } 26 : 27 144 : ViewFactorObjectSurfaceRadiation::ViewFactorObjectSurfaceRadiation( 28 144 : const InputParameters & parameters) 29 144 : : GrayLambertSurfaceRadiationBase(parameters) 30 : { 31 144 : } 32 : 33 : std::vector<std::vector<Real>> 34 7430 : ViewFactorObjectSurfaceRadiation::setViewFactors() 35 : { 36 7430 : const ViewFactorBase & view_factor_uo = getUserObject<ViewFactorBase>("view_factor_object_name"); 37 14860 : std::vector<BoundaryName> boundary_names = getParam<std::vector<BoundaryName>>("boundary"); 38 7430 : std::vector<std::vector<Real>> vf(_n_sides); 39 : 40 70231 : for (unsigned int i = 0; i < _n_sides; ++i) 41 : { 42 62801 : vf[i].resize(_n_sides); 43 : 44 599662 : for (unsigned int j = 0; j < _n_sides; ++j) 45 1073722 : vf[i][j] = view_factor_uo.getViewFactor(boundary_names[i], boundary_names[j]); 46 : } 47 7430 : return vf; 48 7430 : }