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