Loading...
Searching...
No Matches
thermophysicalProperties.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) 2017 OpenFOAM Foundation
9 Copyright (C) 2019-2021 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
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\*---------------------------------------------------------------------------*/
31// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
32
33namespace Foam
34{
39
40// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
45{}
46
47
49:
50 W_(dict.get<scalar>("W"))
51{}
52
53
54// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * //
55
58(
59 const word& name
60)
61{
62 DebugInFunction << "Constructing thermophysicalProperties" << endl;
63
64 auto* ctorPtr = ConstructorTable(name);
65
66 if (!ctorPtr)
67 {
69 (
70 "thermophysicalProperties",
71 name,
72 *ConstructorTablePtr_
73 ) << exit(FatalError);
74 }
75
76 return autoPtr<thermophysicalProperties>(ctorPtr());
77}
78
79
82(
83 const dictionary& dict
84)
85{
86 DebugInFunction << "Constructing thermophysicalProperties" << endl;
87
88 const word& modelType = dict.dictName();
89
90 auto* ctorPtr = dictionaryConstructorTable(modelType);
91
92 if (!ctorPtr)
93 {
95 (
96 dict,
97 "thermophysicalProperties",
98 modelType,
99 *dictionaryConstructorTablePtr_
100 ) << exit(FatalIOError);
101 }
104}
105
106
107// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
110{
111 dict.readIfPresent("W", W_);
112}
113
114
117 os << W_;
118}
119
120
121// * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * //
122
123Foam::Ostream& Foam::operator<<(Ostream& os, const thermophysicalProperties& l)
124{
125 l.writeData(os);
126 return os;
127}
128
129
130// ************************************************************************* //
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition Ostream.H:59
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition autoPtr.H:65
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
Base-class for thermophysical properties of solids, liquids and gases providing an interface compatib...
thermophysicalProperties(scalar W)
Construct from molecular weight.
scalar W() const
Molecular weight [kg/kmol].
static autoPtr< thermophysicalProperties > New(const word &name)
Return a pointer to a new thermophysicalProperties created from name.
virtual void writeData(Ostream &os) const =0
Write the function coefficients.
void readIfPresent(const dictionary &dict)
Read and set the properties present it the given dictionary.
A class for handling words, derived from Foam::string.
Definition word.H:66
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Definition className.H:142
#define FatalErrorInLookup(lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalError.
Definition error.H:607
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
Definition error.H:637
OBJstream os(runTime.globalPath()/outputName)
#define DebugInFunction
Report an information message using Foam::Info.
Namespace for OpenFOAM.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition Ostream.H:519
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
Definition exprTraits.C:127
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition errorManip.H:125
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.
dictionary dict