<commit_before>#ifndef ENUMS_H
#define ENUMS_H

#include <string>
#include "MooseEnum.h"

namespace RELAP7
{

template <typename T>
T stringToEnum(const std::string & s);

/// Type of the heat transfer geometry
enum EConvHeatTransGeom
{
  CHTG_PIPE,
  CHTG_ROD_BUNDLE
};

template <>
EConvHeatTransGeom stringToEnum<EConvHeatTransGeom>(const std::string & s);

/// Enum with convective heat transfer geometry
MooseEnum getConvHeatTransGeometry(const std::string & name);

// ----------------------------------------------------------------------------

/// Type of the end
enum EEndType
{
  IN, ///< inlet
  OUT ///< outlet
};

template <>
EEndType stringToEnum<EEndType>(const std::string & s);

// ----------------------------------------------------------------------------

enum EValveStatusType
{
  VALVE_CLOSE = 0,    ///< valve is closed
  VALVE_OPEN = 1,     ///< valve is opened
  VALVE_CLOSING = -1, ///< valve is being closed
  VALVE_OPENING = 2   ///< valve is being opened
};

template <>
EValveStatusType stringToEnum<EValveStatusType>(const std::string & s);

/// Enum with valve status
MooseEnum getValveStatusType(const std::string & name = "");

// ----------------------------------------------------------------------------

enum EValveActionType
{
  VALVE_NO_ACTION = 0,   ///< maintaining current status
  VALVE_TURNING_ON = 1,  ///< turning on the valve
  VALVE_TURNING_OFF = -1 ///< turning off the valve
};

template <>
EValveActionType stringToEnum<EValveActionType>(const std::string & s);

/// Enum with valve action
MooseEnum getValveActionType(const std::string & name = "");

// ----------------------------------------------------------------------------

/// Check valve type
enum ECheckValveType
{
  CHECK_VALVE_FLOW = 0,   ///< the type of check valve which closes by flow reversal
  CHECK_VALVE_STATIC = 1, ///< the type of check valve which closes by static differential pressure
  CHECK_VALVE_DYNAMIC = 2 ///< the type of check valve which closes by dynamic differential pressure
};

MooseEnum getCheckValveType(const std::string & str = "FLOW");

template <>
ECheckValveType stringToEnum<ECheckValveType>(const std::string & s);

// ----------------------------------------------------------------------------

enum ETHCouplingType
{
  MOD_DENSITY, ///< moderator density
  MOD_TEMP,    ///< moderator temperature
  FUEL_TEMP    ///< fuel temperature
};

// ----------------------------------------------------------------------------

/// The type of an equation
enum EFlowEquationType
{
  CONTINUITY = 0,
  MOMENTUM = 1,
  ENERGY = 2,
  VOIDFRACTION = 3,
  INVALID = 4
};

template <>
EFlowEquationType stringToEnum<EFlowEquationType>(const std::string & s);

// get MooseEnum with equation type
MooseEnum getFlowEquationType(const std::string & eqn_name = "INVALID");

// ----------------------------------------------------------------------------

/// Type of heat structure
enum EHeatStructureType
{
  HS_TYPE_INVALID,
  HS_TYPE_PLATE,
  HS_TYPE_CYLINDER
};

template <>
EHeatStructureType stringToEnum<EHeatStructureType>(const std::string & s);

/// Enum with the heat structure type
MooseEnum getHeatStructureType(const std::string & name = "PLATE");

// ----------------------------------------------------------------------------

/// Closures type
enum EClosuresType
{
  CLOSURES_SIMPLE = 0,
  CLOSURES_TRACE = 1
};

template <>
EClosuresType stringToEnum<EClosuresType>(const std::string & s);

// ----------------------------------------------------------------------------

enum EFlowRegimeNamesType
{
  FR_DISPERSEDBUBBLE, ///< Weight of DispersedBubble Correlations  PreCHF
  FR_CAPSLUG,         ///< Weight of TaylorCap / Slug Flow
  FR_ANNULARMIST,     ///< Weight of Annular Mist Correlations PreCHF
  FR_STRATIFIED,      ///< Weight of Horiz Stratified Flow Exp PreCHF
  FR_INVERTEDANNULAR, ///< Weight of Inverted Annular Flow Correlations PostCHF
  FR_INVERTEDSLUG,    ///< Weight of InvertedSlug Flow Correlations PostCHF
  FR_DISPERSED        ///< Weight of Dispersed Flow Correlations PostCHF<commit_msg>Elimination EClosuresType enum<commit_after>#ifndef ENUMS_H
#define ENUMS_H

#include <string>
#include "MooseEnum.h"

namespace RELAP7
{

template <typename T>
T stringToEnum(const std::string & s);

/// Type of the heat transfer geometry
enum EConvHeatTransGeom
{
  CHTG_PIPE,
  CHTG_ROD_BUNDLE
};

template <>
EConvHeatTransGeom stringToEnum<EConvHeatTransGeom>(const std::string & s);

/// Enum with convective heat transfer geometry
MooseEnum getConvHeatTransGeometry(const std::string & name);

// ----------------------------------------------------------------------------

/// Type of the end
enum EEndType
{
  IN, ///< inlet
  OUT ///< outlet
};

template <>
EEndType stringToEnum<EEndType>(const std::string & s);

// ----------------------------------------------------------------------------

enum EValveStatusType
{
  VALVE_CLOSE = 0,    ///< valve is closed
  VALVE_OPEN = 1,     ///< valve is opened
  VALVE_CLOSING = -1, ///< valve is being closed
  VALVE_OPENING = 2   ///< valve is being opened
};

template <>
EValveStatusType stringToEnum<EValveStatusType>(const std::string & s);

/// Enum with valve status
MooseEnum getValveStatusType(const std::string & name = "");

// ----------------------------------------------------------------------------

enum EValveActionType
{
  VALVE_NO_ACTION = 0,   ///< maintaining current status
  VALVE_TURNING_ON = 1,  ///< turning on the valve
  VALVE_TURNING_OFF = -1 ///< turning off the valve
};

template <>
EValveActionType stringToEnum<EValveActionType>(const std::string & s);

/// Enum with valve action
MooseEnum getValveActionType(const std::string & name = "");

// ----------------------------------------------------------------------------

/// Check valve type
enum ECheckValveType
{
  CHECK_VALVE_FLOW = 0,   ///< the type of check valve which closes by flow reversal
  CHECK_VALVE_STATIC = 1, ///< the type of check valve which closes by static differential pressure
  CHECK_VALVE_DYNAMIC = 2 ///< the type of check valve which closes by dynamic differential pressure
};

MooseEnum getCheckValveType(const std::string & str = "FLOW");

template <>
ECheckValveType stringToEnum<ECheckValveType>(const std::string & s);

// ----------------------------------------------------------------------------

enum ETHCouplingType
{
  MOD_DENSITY, ///< moderator density
  MOD_TEMP,    ///< moderator temperature
  FUEL_TEMP    ///< fuel temperature
};

// ----------------------------------------------------------------------------

/// The type of an equation
enum EFlowEquationType
{
  CONTINUITY = 0,
  MOMENTUM = 1,
  ENERGY = 2,
  VOIDFRACTION = 3,
  INVALID = 4
};

template <>
EFlowEquationType stringToEnum<EFlowEquationType>(const std::string & s);

// get MooseEnum with equation type
MooseEnum getFlowEquationType(const std::string & eqn_name = "INVALID");

// ----------------------------------------------------------------------------

/// Type of heat structure
enum EHeatStructureType
{
  HS_TYPE_INVALID,
  HS_TYPE_PLATE,
  HS_TYPE_CYLINDER
};

template <>
EHeatStructureType stringToEnum<EHeatStructureType>(const std::string & s);

/// Enum with the heat structure type
MooseEnum getHeatStructureType(const std::string & name = "PLATE");

// ----------------------------------------------------------------------------

enum EFlowRegimeNamesType
{
  FR_DISPERSEDBUBBLE, ///< Weight of DispersedBubble Correlations  PreCHF
  FR_CAPSLUG,         ///< Weight of TaylorCap / Slug Flow
  FR_ANNULARMIST,     ///< Weight of Annular Mist Correlations PreCHF
  FR_STRATIFIED,      ///< Weight of Horiz Stratified Flow Exp PreCHF
  FR_INVERTEDANNULAR, ///< Weight of Inverted Annular Flow Correlations PostCHF
  FR_INVERTEDSLUG,    ///< Weight of InvertedSlug Flow Correlations PostCHF
  FR_DISPERSED        ///< Weight of Dispersed Flow Correlations PostCHF
{'fraction_non_alphanumeric': 0.2522761760242792, 'fraction_numerical': 0.0042994436014162874, 'mean_word_length': 1.9699586932031543, 'pattern_counts': {'":': 0, '<': 81, '<?xml version=': 0, '>': 37, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4207731', 'n_tokens_mistral': 2366, 'n_tokens_neox': 2206, 'n_words': 610}