https://mooseframework.inl.gov
ThermalHydraulicsApp.h
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 #pragma once
11 
12 #include "MooseApp.h"
13 #include "MooseUtils.h"
14 
15 class FluidProperties;
16 class Simulation;
17 
18 #define registerComponent(name) registerObject(name)
19 #define registerNamedComponent(obj, name) registerNamedObject(obj, name)
20 #define registerControl(name) registerObject(name)
21 #define registerNamedControl(obj, name) registerNamedObject(obj, name)
22 
23 #define registerFlowModel(id, class_name) \
24  _flow_model_map.insert(std::pair<THM::FlowModelID, std::string>(id, stringifyName(class_name)));
25 
26 namespace THM
27 {
28 
29 typedef unsigned int FlowModelID;
30 
37 
38 extern FlowModelID FM_INVALID;
42 extern FlowModelID FM_GAS_MIX;
43 
44 // This is the upper limit on variable length given by exodusII
45 static const size_t MAX_VARIABLE_LENGTH = 31;
46 
47 }
48 
50 {
51 public:
53  virtual ~ThermalHydraulicsApp();
54 
55  static void registerApps();
56  static void registerAll(Factory & f, ActionFactory & af, Syntax & s);
57 
68  const std::string & getFlowModelClassName(const THM::FlowModelID & flow_model_id);
69 
70 public:
72  static std::map<THM::FlowModelID, std::string> _flow_model_map;
73 
75 };
unsigned int FlowModelID
static std::map< THM::FlowModelID, std::string > _flow_model_map
Map from flow model ID to flow model instance.
ThermalHydraulicsApp(const InputParameters &parameters)
static InputParameters validParams()
Main class for simulation (the driver of the simulation)
Definition: Simulation.h:29
static const size_t MAX_VARIABLE_LENGTH
const InputParameters & parameters()
FlowModelID FM_TWO_PHASE
FlowModelID registerFlowModelID()
Register a new flow mode type and return its ID.
Real f(Real x)
Test function for Brents method.
FlowModelID FM_SINGLE_PHASE
FlowModelID FM_INVALID
FlowModelID FM_TWO_PHASE_NCG
FlowModelID FM_GAS_MIX
const std::string & getFlowModelClassName(const THM::FlowModelID &flow_model_id)
Deprecated Methods.
static void registerAll(Factory &f, ActionFactory &af, Syntax &s)