LCOV - code coverage report
Current view: top level - src/base - SubChannelApp.C (source / functions) Hit Total Coverage
Test: idaholab/moose subchannel: #33187 (5aa0b2) with base d7c4bd Lines: 26 33 78.8 %
Date: 2026-06-30 12:24:57 Functions: 4 6 66.7 %
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 "SubChannelApp.h"
      11             : #include "Moose.h"
      12             : #include "AppFactory.h"
      13             : #include "FluidPropertiesApp.h"
      14             : #include "HeatTransferApp.h"
      15             : #include "ReactorApp.h"
      16             : #include "MooseSyntax.h"
      17             : #include "SubChannelSyntax.h"
      18             : 
      19             : InputParameters
      20         539 : SubChannelApp::validParams()
      21             : {
      22         539 :   InputParameters params = MooseApp::validParams();
      23         539 :   params.set<bool>("use_legacy_initial_residual_evaluation_behavior") = false;
      24         539 :   params.set<bool>("use_legacy_material_output") = false;
      25             : 
      26         539 :   return params;
      27           0 : }
      28             : 
      29         539 : SubChannelApp::SubChannelApp(const InputParameters & parameters) : MooseApp(parameters)
      30             : {
      31         539 :   SubChannelApp::registerAll(_factory, _action_factory, _syntax);
      32         539 : }
      33             : 
      34             : void
      35        1070 : SubChannelApp::registerAll(Factory & f, ActionFactory & af, Syntax & s)
      36             : {
      37        1070 :   Registry::registerObjectsTo(f, {"SubChannelApp"});
      38        1070 :   Registry::registerActionsTo(af, {"SubChannelApp"});
      39             : 
      40             :   // Cited by --citations whenever any SubChannel object is used in a simulation
      41        2140 :   Registry::addAppCitation("SubChannelApp",
      42             :                            "kyriakopoulos2022development",
      43             :                            R"(@article{kyriakopoulos2022development,
      44             :   title={Development of a Single-Phase, Transient, Subchannel Code, within the MOOSE Multi-Physics Computational Framework},
      45             :   author={Kyriakopoulos, Vasileios and Tano, Mauricio E and Ragusa, Jean C},
      46             :   journal={Energies},
      47             :   volume={15},
      48             :   number={11},
      49             :   pages={3948},
      50             :   year={2022},
      51             :   publisher={MDPI}
      52             : })");
      53        2140 :   Registry::addAppCitation("SubChannelApp",
      54             :                            "kyriakopoulos2026numerical",
      55             :                            R"(@article{kyriakopoulos2026numerical,
      56             :   title={Numerical implementation of the MOOSE subchannel module (SCM) algorithm},
      57             :   author={Kyriakopoulos, Vasileios and Tano, Mauricio},
      58             :   journal={Nuclear Engineering and Design},
      59             :   volume={450},
      60             :   pages={114802},
      61             :   year={2026},
      62             :   publisher={Elsevier}
      63             : })");
      64             : 
      65             :   /* register custom execute flags, action syntax, etc. here */
      66        1070 :   SCM::associateSyntax(s, af);
      67             : 
      68             :   // Register new syntax for SCMClosures
      69             :   auto & syntax = s;
      70        2140 :   registerSyntaxTask("AddSCMClosureAction", "SCMClosures/*", "add_scm_closure");
      71        2140 :   registerMooseObjectTask("add_scm_closure", SCMClosureBase, /*default task*/ false);
      72             : 
      73        1070 :   FluidPropertiesApp::registerAll(f, af, s);
      74        1070 :   HeatTransferApp::registerAll(f, af, s);
      75        1070 :   ReactorApp::registerAll(f, af, s);
      76        1070 : }
      77             : 
      78             : void
      79         451 : SubChannelApp::registerApps()
      80             : {
      81         451 :   registerApp(SubChannelApp);
      82             : 
      83         451 :   FluidPropertiesApp::registerApps();
      84         451 :   HeatTransferApp::registerApps();
      85         451 :   ReactorApp::registerApps();
      86         451 : }
      87             : 
      88             : /***************************************************************************************************
      89             :  *********************** Dynamic Library Entry Points - DO NOT MODIFY ******************************
      90             :  **************************************************************************************************/
      91             : extern "C" void
      92           0 : SubChannelApp__registerAll(Factory & f, ActionFactory & af, Syntax & s)
      93             : {
      94           0 :   SubChannelApp::registerAll(f, af, s);
      95           0 : }
      96             : extern "C" void
      97           0 : SubChannelApp__registerApps()
      98             : {
      99           0 :   SubChannelApp::registerApps();
     100           0 : }

Generated by: LCOV version 1.14