AntoineExtended.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) 2015-2018 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 \*---------------------------------------------------------------------------*/
27 
28 #include "AntoineExtended.H"
30 
31 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
32 
33 namespace Foam
34 {
35 namespace saturationModels
36 {
37  defineTypeNameAndDebug(AntoineExtended, 0);
39  (
40  saturationModel,
41  AntoineExtended,
42  dictionary
43  );
44 }
45 }
46 
47 
48 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
49 
51 (
52  const dictionary& dict,
53  const objectRegistry& db
54 )
55 :
56  Antoine(dict, db),
57  D_("D", dimless, dict),
58  F_("F", dimless, dict),
59  E_("E", dimless/pow(dimTemperature, F_), dict)
60 {}
61 
62 
63 // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
64 
66 {}
67 
68 
69 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
70 
73 (
74  const volScalarField& T
75 ) const
76 {
77  return
79  *exp(A_ + B_/(C_ + T) + E_*pow(T, F_))
80  *pow(T, D_);
81 }
82 
83 
86 (
87  const volScalarField& T
88 ) const
89 {
90  return pSat(T)*((D_ + E_*F_*pow(T, F_))/T - B_/sqr(C_ + T));
91 }
92 
93 
96 (
97  const volScalarField& T
98 ) const
99 {
100  return
101  A_
102  + B_/(C_ + T)
103  + D_*log(T*dimensionedScalar("one", dimless/dimTemperature, 1))
104  + E_*pow(T, F_);
105 }
106 
107 
110 (
111  const volScalarField& p
112 ) const
113 {
115 
116  return volScalarField::null();
117 }
118 
119 
120 // ************************************************************************* //
Foam::dimPressure
const dimensionSet dimPressure
p
volScalarField & p
Definition: createFieldRefs.H:8
Foam::saturationModels::AntoineExtended::~AntoineExtended
virtual ~AntoineExtended()
Destructor.
Definition: AntoineExtended.C:65
Foam::dimless
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
Dimensionless.
Definition: dimensionSets.H:50
Foam::saturationModels::AntoineExtended::AntoineExtended
AntoineExtended(const dictionary &dict, const objectRegistry &db)
Construct from a dictionary.
Definition: AntoineExtended.C:51
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::saturationModels::Antoine
Antoine equation for the vapour pressure.
Definition: Antoine.H:59
Foam::saturationModels::AntoineExtended::Tsat
virtual tmp< volScalarField > Tsat(const volScalarField &p) const
Saturation temperature.
Definition: AntoineExtended.C:110
Foam::exp
dimensionedScalar exp(const dimensionedScalar &ds)
Definition: dimensionedScalar.C:261
Foam::saturationModels::addToRunTimeSelectionTable
addToRunTimeSelectionTable(saturationModel, Antoine, dictionary)
Foam::objectRegistry
Registry of regIOobjects.
Definition: objectRegistry.H:60
NotImplemented
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Definition: error.H:445
Foam::saturationModels::AntoineExtended::lnPSat
virtual tmp< volScalarField > lnPSat(const volScalarField &T) const
Natural log of the saturation pressure.
Definition: AntoineExtended.C:96
Foam::saturationModels::AntoineExtended::pSat
virtual tmp< volScalarField > pSat(const volScalarField &T) const
Saturation pressure.
Definition: AntoineExtended.C:73
Foam::T
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Definition: FieldFieldFunctions.C:58
Foam::dimensionedScalar
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Definition: dimensionedScalarFwd.H:43
Foam::pow
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
Definition: dimensionedScalar.C:75
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:121
Foam::log
dimensionedScalar log(const dimensionedScalar &ds)
Definition: dimensionedScalar.C:262
addToRunTimeSelectionTable.H
Macros for easy insertion into run-time selection tables.
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::sqr
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Definition: dimensionedSymmTensor.C:51
Foam::saturationModels::defineTypeNameAndDebug
defineTypeNameAndDebug(Antoine, 0)
Foam::dimTemperature
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
Definition: dimensionSets.H:55
Foam::GeometricField< scalar, fvPatchField, volMesh >::null
static const GeometricField< scalar, fvPatchField, volMesh > & null()
Return a null geometric field.
Definition: GeometricFieldI.H:32
AntoineExtended.H
Foam::GeometricField< scalar, fvPatchField, volMesh >
Foam::saturationModels::AntoineExtended::pSatPrime
virtual tmp< volScalarField > pSatPrime(const volScalarField &T) const
Saturation pressure derivetive w.r.t. temperature.
Definition: AntoineExtended.C:86