LCOV - code coverage report
Current view: top level - src/closures - ClosuresBase.C (source / functions) Hit Total Coverage
Test: idaholab/moose thermal_hydraulics: #30301 (3b550b) with base 2ad78d Lines: 29 38 76.3 %
Date: 2025-07-30 13:02:48 Functions: 4 5 80.0 %
Legend: Lines: hit not hit

          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 "ClosuresBase.h"
      11             : #include "FlowChannelBase.h"
      12             : 
      13             : InputParameters
      14        5265 : ClosuresBase::validParams()
      15             : {
      16        5265 :   InputParameters params = MooseObject::validParams();
      17             : 
      18        5265 :   params.addPrivateParam<THMProblem *>("_thm_problem");
      19        5265 :   params.addPrivateParam<Logger *>("_logger");
      20             : 
      21        5265 :   params.registerBase("Closures");
      22             : 
      23        5265 :   return params;
      24           0 : }
      25             : 
      26        2628 : ClosuresBase::ClosuresBase(const InputParameters & params)
      27             :   : MooseObject(params),
      28        5256 :     LoggingInterface(*params.getCheckedPointerParam<Logger *>("_logger")),
      29             :     NamingInterface(),
      30             : 
      31        2628 :     _sim(*params.getCheckedPointerParam<THMProblem *>("_thm_problem")),
      32       10512 :     _factory(_app.getFactory())
      33             : {
      34        2628 : }
      35             : 
      36             : void
      37           0 : ClosuresBase::addZeroMaterial(const FlowChannelBase & flow_channel,
      38             :                               const std::string & property_name) const
      39             : {
      40           0 :   const std::string class_name = "ADConstantMaterial";
      41           0 :   InputParameters params = _factory.getValidParams(class_name);
      42           0 :   params.set<std::vector<SubdomainName>>("block") = flow_channel.getSubdomainNames();
      43           0 :   params.set<std::string>("property_name") = property_name;
      44           0 :   params.set<Real>("value") = 0;
      45           0 :   _sim.addMaterial(class_name, genName(flow_channel.name(), "const_mat", property_name), params);
      46           0 : }
      47             : 
      48             : void
      49          44 : ClosuresBase::addWeightedAverageMaterial(const FlowChannelBase & flow_channel,
      50             :                                          const std::vector<MaterialPropertyName> & values,
      51             :                                          const std::vector<VariableName> & weights,
      52             :                                          const MaterialPropertyName & property_name) const
      53             : {
      54          44 :   const std::string class_name = "ADWeightedAverageMaterial";
      55          44 :   InputParameters params = _factory.getValidParams(class_name);
      56          44 :   params.set<MaterialPropertyName>("prop_name") = property_name;
      57          44 :   params.set<std::vector<SubdomainName>>("block") = flow_channel.getSubdomainNames();
      58          44 :   params.set<std::vector<MaterialPropertyName>>("values") = values;
      59          44 :   params.set<std::vector<VariableName>>("weights") = weights;
      60          44 :   _sim.addMaterial(class_name, genName(flow_channel.name(), "wavg_mat", property_name), params);
      61          88 : }
      62             : 
      63             : void
      64         849 : ClosuresBase::addWallTemperatureFromAuxMaterial(const FlowChannelBase & flow_channel,
      65             :                                                 unsigned int i) const
      66             : {
      67         849 :   const std::string class_name = "ADCoupledVariableValueMaterial";
      68         849 :   InputParameters params = _factory.getValidParams(class_name);
      69        1698 :   params.set<std::vector<SubdomainName>>("block") = flow_channel.getSubdomainNames();
      70        1698 :   params.set<MaterialPropertyName>("prop_name") = {flow_channel.getWallTemperatureNames()[i]};
      71        1698 :   params.set<std::vector<VariableName>>("coupled_variable") = {
      72        3396 :       flow_channel.getWallTemperatureNames()[i]};
      73         849 :   _sim.addMaterial(class_name, genName(flow_channel.name(), "coupled_var_mat", i), params);
      74        1698 : }

Generated by: LCOV version 1.14