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 "FormLossFromExternalApp1Phase.h" 11 : 12 : registerMooseObject("ThermalHydraulicsApp", FormLossFromExternalApp1Phase); 13 : 14 : InputParameters 15 12 : FormLossFromExternalApp1Phase::validParams() 16 : { 17 12 : InputParameters params = FormLoss1PhaseBase::validParams(); 18 : 19 12 : params.addClassDescription("Apply a distributed form loss over a 1-phase flow channel computed " 20 : "by an external application."); 21 : 22 12 : return params; 23 0 : } 24 : 25 6 : FormLossFromExternalApp1Phase::FormLossFromExternalApp1Phase(const InputParameters & params) 26 6 : : FormLoss1PhaseBase(params), _K_prime_var_name("K_prime") 27 : { 28 6 : } 29 : 30 : void 31 6 : FormLossFromExternalApp1Phase::addVariables() 32 : { 33 6 : getTHMProblem().addSimVariable( 34 6 : false, _K_prime_var_name, libMesh::FEType(FIRST, LAGRANGE), _flow_channel_subdomains); 35 6 : } 36 : 37 : void 38 6 : FormLossFromExternalApp1Phase::addMooseObjects() 39 : { 40 6 : FormLoss1PhaseBase::addMooseObjects(); 41 : 42 : { 43 6 : const std::string class_name = "ADCoupledVariableValueMaterial"; 44 6 : InputParameters params = _factory.getValidParams(class_name); 45 12 : params.set<std::vector<SubdomainName>>("block") = _flow_channel_subdomains; 46 12 : params.set<MaterialPropertyName>("prop_name") = "K_prime"; 47 18 : params.set<std::vector<VariableName>>("coupled_variable") = {_K_prime_var_name}; 48 12 : getTHMProblem().addMaterial(class_name, genName(name(), "k_prime_material"), params); 49 6 : } 50 6 : }