Loading...
Searching...
No Matches
function1.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-2018 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
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 "function1.H"
31// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
32
33namespace Foam
34{
35namespace saturationModels
36{
39}
40}
41
42
43// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
44
46(
47 const dictionary& dict,
48 const objectRegistry& db
49)
50:
52 function_
53 (
54 Function1<scalar>::New("function", dict, &db)
55 )
56{}
57
58
59// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
60
62{}
63
64
65// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
66
69(
70 const volScalarField& T
71) const
80(
81 const volScalarField& T
82) const
91(
92 const volScalarField& T
93) const
96 return volScalarField::null();
97}
98
99
102(
103 const volScalarField& p
104) const
105{
107 (
109 (
110 "Tsat",
111 p.mesh(),
113 )
114 );
115
116 volScalarField& Tsat = tTsat.ref();
117
118 forAll(Tsat, celli)
119 {
120 Tsat[celli] = function_->value(p[celli]);
121 }
122
124
125 forAll(Tsat.boundaryField(), patchi)
126 {
127 scalarField& Tsatp = TsatBf[patchi];
128 const scalarField& pp = p.boundaryField()[patchi];
129
130 forAll(Tsatp, facei)
131 {
132 Tsatp[facei] = function_->value(pp[facei]);
133
134 }
135 }
136
137 return tTsat;
138}
139
140
141// ************************************************************************* //
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
Definition Function1.H:92
static tmp< GeometricField< scalar, fvPatchField, volMesh > > New(const word &name, IOobjectOption::registerOption regOpt, const Mesh &mesh, const dimensionSet &dims, const word &patchFieldType=fvPatchField< scalar >::calculatedType())
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Return a reference to the boundary field.
GeometricBoundaryField< scalar, fvPatchField, volMesh > Boundary
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
const objectRegistry & db() const noexcept
Return the local objectRegistry.
Definition IOobject.C:450
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
Registry of regIOobjects.
static autoPtr< saturationModel > New(const dictionary &dict, const objectRegistry &db)
Select default constructed.
Saturation vapour temperature in terms of the vapour pressure (in Pa). The saturation temperature in ...
Definition function1.H:92
virtual tmp< volScalarField > lnPSat(const volScalarField &T) const
Natural log of the saturation pressure.
Definition function1.C:84
virtual tmp< volScalarField > Tsat(const volScalarField &p) const
Saturation temperature.
Definition function1.C:95
function1(const dictionary &dict, const objectRegistry &db)
Construct from a dictionary.
Definition function1.C:39
virtual tmp< volScalarField > pSatPrime(const volScalarField &T) const
Saturation pressure derivetive w.r.t. temperature.
Definition function1.C:73
virtual tmp< volScalarField > pSat(const volScalarField &T) const
Saturation pressure.
Definition function1.C:62
virtual ~function1()
Destructor.
Definition function1.C:54
A class for managing temporary objects.
Definition tmp.H:75
T & ref() const
Return non-const reference to the contents of a non-null managed pointer.
Definition tmpI.H:235
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Definition className.H:142
volScalarField & p
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Definition error.H:688
Namespace for OpenFOAM.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
dictionary dict
#define forAll(list, i)
Loop across all elements in list.
Definition stdFoam.H:299