heatTransferModel.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2015 OpenFOAM Foundation
9  Copyright (C) 2019-2021 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 \*---------------------------------------------------------------------------*/
28 
29 #include "heatTransferModel.H"
30 #include "phasePair.H"
31 
32 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
33 
34 namespace Foam
35 {
36  defineTypeNameAndDebug(heatTransferModel, 0);
37  defineRunTimeSelectionTable(heatTransferModel, dictionary);
38 }
39 
41 
42 
43 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
44 
46 (
47  const dictionary& dict,
48  const phasePair& pair
49 )
50 :
51  pair_(pair),
52  residualAlpha_
53  (
54  "residualAlpha",
55  dimless,
56  pair_.dispersed().residualAlpha().value(),
57  dict
58  )
59 {}
60 
61 
62 // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
63 
66 (
67  const dictionary& dict,
68  const phasePair& pair
69 )
70 {
71  const word modelType(dict.get<word>("type"));
72 
73  Info<< "Selecting heatTransferModel for "
74  << pair << ": " << modelType << endl;
75 
76  auto* ctorPtr = dictionaryConstructorTable(modelType);
77 
78  if (!ctorPtr)
79  {
81  (
82  dict,
83  "heatTransferModel",
84  modelType,
85  *dictionaryConstructorTablePtr_
86  ) << exit(FatalIOError);
87  }
88 
89  return ctorPtr(dict, pair);
90 }
91 
92 
93 // ************************************************************************* //
dictionary dict
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition: errorManip.H:125
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:487
heatTransferModel(const dictionary &dict, const phasePair &pair)
Construct froma dictionary and a phase pair.
static autoPtr< heatTransferModel > New(const dictionary &dict, const phasePair &pair)
const dimensionSet dimless
Dimensionless.
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a T. FatalIOError if not found, or if the number of tokens is incorrect.
static const dimensionSet dimK
Coefficient dimensions.
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
Definition: dimensionSet.H:105
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
defineTypeNameAndDebug(combustionModel, 0)
messageStream Info
Information stream (stdout output on master, null elsewhere)
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
Definition: error.H:615
Namespace for OpenFOAM.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional &#39;FOAM FATAL IO ERROR&#39; header text and ...