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 : #pragma once 11 : 12 : #include "Closures1PhaseBase.h" 13 : 14 : /** 15 : * THM 1-phase closures 16 : */ 17 : class Closures1PhaseTHM : public Closures1PhaseBase 18 : { 19 : public: 20 : Closures1PhaseTHM(const InputParameters & params); 21 : 22 : /// Fluid heat transfer coefficient closure type 23 : enum class WallHTCClosureType 24 : { 25 : DITTUS_BOELTER, 26 : KAZIMI_CARELLI, 27 : LYON, 28 : MIKITYUK, 29 : SCHAD, 30 : WEISMAN, 31 : WOLF_MCCARTHY, 32 : GNIELINSKI 33 : }; 34 : 35 : /// Fluid friction factor closure type 36 : enum class WallFFClosureType 37 : { 38 : CHENG_TODREAS, 39 : CHURCHILL 40 : }; 41 : 42 : virtual void checkFlowChannel(const FlowChannelBase & flow_channel) const override; 43 : virtual void checkHeatTransfer(const HeatTransferBase & heat_transfer, 44 : const FlowChannelBase & flow_channel) const override; 45 : virtual void addMooseObjectsFlowChannel(const FlowChannelBase & flow_channel) override; 46 264 : virtual void addMooseObjectsHeatTransfer(const HeatTransferBase & /*heat_transfer*/, 47 264 : const FlowChannelBase & /*flow_channel*/) override{}; 48 : 49 : protected: 50 : /** 51 : * Adds material that computes wall friction factor 52 : * 53 : * @param[in] flow_channel Flow channel component 54 : */ 55 : void addWallFFMaterial(const FlowChannel1Phase & flow_channel) const; 56 : 57 : /** 58 : * Adds wall heat transfer coefficient material 59 : * 60 : * @param[in] flow_channel Flow channel component 61 : * @param[in] i Heat transfer index 62 : */ 63 : void addWallHTCMaterial(const FlowChannel1Phase & flow_channel, unsigned int i) const; 64 : 65 : /** 66 : * Adds computation of wall temperature when heat flux is specified 67 : * 68 : * @param[in] flow_channel Flow channel component 69 : * @param[in] i Heat transfer index 70 : */ 71 : void addTemperatureWallFromHeatFluxMaterial(const FlowChannel1Phase & flow_channel, 72 : unsigned int i) const; 73 : /// Wall heat transfer coefficient closure 74 : const WallHTCClosureType _wall_htc_closure; 75 : 76 : /// Wall friction factor closure 77 : const WallFFClosureType _wall_ff_closure; 78 : 79 : public: 80 : static InputParameters validParams(); 81 : };