https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SubChannelApp.C
Go to the documentation of this file.
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
21{
23 params.set<bool>("use_legacy_initial_residual_evaluation_behavior") = false;
24 params.set<bool>("use_legacy_material_output") = false;
25
26 return params;
27}
28
33
34void
36{
37 Registry::registerObjectsTo(f, {"SubChannelApp"});
38 Registry::registerActionsTo(af, {"SubChannelApp"});
39
40 // Cited by --citations whenever any SubChannel object is used in a simulation
41 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 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 */
67
68 // Register new syntax for SCMClosures
69 auto & syntax = s;
70 registerSyntaxTask("AddSCMClosureAction", "SCMClosures/*", "add_scm_closure");
71 registerMooseObjectTask("add_scm_closure", SCMClosureBase, /*default task*/ false);
72
76}
77
78void
86}
87
88/***************************************************************************************************
89 *********************** Dynamic Library Entry Points - DO NOT MODIFY ******************************
90 **************************************************************************************************/
91extern "C" void
93{
95}
96extern "C" void
98{
100}
Real f(Real x)
Test function for Brents method.
void SubChannelApp__registerAll(Factory &f, ActionFactory &af, Syntax &s)
void SubChannelApp__registerApps()
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
static void registerApps()
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
static void registerApps()
T & set(const std::string &name, bool quiet_mode=false)
Syntax & syntax()
ActionFactory _action_factory
static InputParameters validParams()
Factory _factory
Syntax _syntax
static void registerApps()
Definition ReactorApp.C:42
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
Definition ReactorApp.C:32
static void addAppCitation(const std::string &app_name, const std::string &key, const std::string &bibtex)
static void registerActionsTo(ActionFactory &f, const std::set< std::string > &labels)
static void registerObjectsTo(Factory &f, const std::set< std::string > &labels)
Base class for SCM closures.
Application used when running the subchannel module directly.
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)
static InputParameters validParams()
SubChannelApp(const InputParameters &parameters)
static void registerApps()
void associateSyntax(Syntax &syntax, ActionFactory &action_factory)